es-extensions-api
TypeScript icon, indicating that this package has built-in type declarations

0.1.1 • Public • Published

ES Extensions API

Provides an extension API for es5+ applications based on Jenkins JEP-204

npm version

Installation

npm i -S @imeredith/es-extensions-api

Usage example

Extensions are just functions that take some context as a parameter, and do something. It is totally up to the application that wants to use extensions implemented by plugins to define the contract for the plugins to implement.

Example extension

  • Extension Point identifier - 'example.ext'
  • Extension Context
    • container - Html Div element to render into.
    • name - Name to render

Example Extesnion Impl

import { ExtensionStore } from '@imeredith/es-extensions-api';
 
ExtensionStore.register('example.ext', function (context) {
    context.container.innerHTML = '<h1> Hello ' + context.name '</h1>';
})

Example Extension Usage

import { ExtensionStore } from '@imeredith/es-extensions-api';
 
const container = document.getElementbyId('ext_container');
 
const extension = ExtensionStore.getExtensions('example.ext')[0]
if(extension) {
    extension({container, name: 'World!'})
}

Development setup

npm i

Release History

  • 0.0.3
    • Work in progress

Meta

Distributed under the MIT license. See LICENSE for more information.

Readme

Keywords

none

Package Sidebar

Install

npm i es-extensions-api

Weekly Downloads

0

Version

0.1.1

License

MIT

Unpacked Size

11.1 kB

Total Files

13

Last publish

Collaborators

  • imeredith