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

0.1.9 • 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 stores 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 @imeredith/es-extensions-api

Weekly Downloads

0

Version

0.1.9

License

MIT

Unpacked Size

20.9 kB

Total Files

20

Last publish

Collaborators

  • imeredith