@flowscripter/plugin-api
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

plugin-api

license dependencies travis npm

Flowscripter Plugin API.

Overview

This project provides a Plugin API for the Flowscripter system.

This is a work in progress

Plugins and Extensions

Plugins are based on extensions to the interfaces provided in the @flowscripter/esm-dynamic-plugins and @flowscripter/cli-framework projects.

The extended interfaces declare stricter types which explicitly define their use as a plugin mechanism for the Flowscripter CLI and Flowscripter Runtime.

The two extensions which can be implemented by plugins are:

  • FlowscripterComponent: These extend the Flowscripter Runtime with core functionality (e.g. payload types, datastores and operators) and may access the Runtime Context.
  • FlowscripterCommand: These extend the Flowscripter CLI with parameterised TypeScript or JavaScript and may access the Runtime API.

The following high level class diagram illustrates these relationships:

High Level Plugin Class Diagram

Runtime and Context

The Runtime interface allows FlowscripterCommand implementations to manipulate and manage a Flowscripter Runtime instance.

The Runtime Context interface allows FlowscripterComponent implementations to interact with the internal processing loop of the Flowscripter Runtime.

The following high level class diagram illustrates these relationships:

High Level Runtime Class Diagram

Development

Firstly:

npm install

then:

Build: npm run build

Watch: npm run watch

Lint: npm run lint

Docs: npm run docs

API

API documentation

Further Details

Further details on project configuration files and Javascript version support can be found in the template for this project.

License

MIT © Flowscripter

Readme

Keywords

Package Sidebar

Install

npm i @flowscripter/plugin-api

Weekly Downloads

1

Version

1.0.1

License

MIT

Unpacked Size

22.1 kB

Total Files

31

Last publish

Collaborators

  • vectronic