@imeredith/es-extensions-api
v0.1.9
Published
> Provides an extension API for es5+ applications based on Jenkins [JEP-204](https://github.com/jenkinsci/jep/tree/master/jep/204)
Downloads
7
Readme
ES Extensions API
Provides an extension API for es5+ applications based on Jenkins JEP-204
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.