ministryofjustice / fb-editor-node

Form Builder Editor

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fb-editor-node

Form Builder Editor creates forms as configuration data for Form Builder Runner.

Pre-requisites

Node >= 12.4.0

Installation

git clone git@github.com:ministryofjustice/fb-editor-node.git
cd fb-editor-node
npm install

Usage

The SERVICE_PATH environment variable describes the location on your file system of the form for Editor to use.

To set the SERVICE_PATH environment variable, open a terminal and change into the root directory of Runner, then execute the command:

SERVICE_PATH=[path to form] npm start

(Where [path to form] is a path to the location on your file system of the form. An Example Service form can be cloned from https://github.com/ministryofjustice/fb-example-service.)

By default, Editor will start on localhost port 3000.

To run on a different port, set the PORT environment variable:

PORT=4321 SERVICE_PATH=[path to form] npm start

Testing

npm test

Linting

npm run lint

Module Aliases

Some module paths are aliased.

At runtime they are resolved with @ministryofjustice/module-alias. (Its definitions can be found in the _moduleAliases {} field on package.json.)

During development aliases can be resolved in different ways according to needs of the developer's IDE. A solution we provide is via Webpack, which is supported automatically in WebStorm and related IDEs, or with some manual steps.

At start-up WebStorm will report in the Event Log that "Module resolution rules from webpack.config.js are now used for coding assistance" if the configuration is automatically identified -- if not, follow the manual steps:

  1. Right-click on the lib directory and select Mark Directory as > Resource root
  2. From the application menu select Preferences > Languages & Frameworks > JavaScript > Webpack then in the right-hand pane use the file browser to select webpack.config.js from the package root

You shouldn't need to restart but it won't hurt.

About

Form Builder Editor

License:MIT License


Languages

Language:JavaScript 44.4%Language:CSS 39.5%Language:SCSS 7.6%Language:HTML 6.3%Language:Nunjucks 2.2%