Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Info

We recommend familiarising yourself with how the Forms CLI works before writing your own plugin.

What is a Forms CLI Plug-in?

The Forms CLI uses a plug-in to turn a JSON definition of a Blink form into source code for a specific framework. It deals only with forms and their functionality, however you could write a plug-in pack that could build an entire project. 

Plugin API

A plug-in consists of an entry point that exposes four functions that are called at various points by the Forms CLI. The Forms CLI must expose an object of the following structure:

...

Currently we only support plug-ins installed in a node_modules folder in your projects folder. To develop a plugin we recommend making a new project folder for the plug in (that is not in the project that will be using forms components built with the Forms CLI), and then use npm link to link your plugin to a project using the forms transformer.

Plugin API

A Forms CLI plug-in must expose an object of the following structure:

...

width800px
Code Block
languagejs
{
  build: (cfg) => Promise,
  init: (cfg) => Promise,
  processForm: (formDefinition) => Promise,
  writeTemplates: (destinationPath) => Promise
}

Your plug-in is a node module. You should be familiar with setting up your package.json correctly.

ProcessForm Function

processForm(definition) => Array<() => Promise>

...