node-red-contrib-flow-splitter 2.0.2
Split your flows.json file in individual YAML or JSON files (per tab, subflow and config-node).
node-red-contrib-flow-splitter
Node-RED plugin to split your flows.json file in individual YAML or JSON files (per tab, subflow and config-node).
Purpose
This plugin is useful if you regularly work with Node-RED in the project mode.
It will make the diffs of your version control much more controlled and readable :
- The user will be able to commit files individually
- The nodes are ordered alphabetically with their id
NB: You should add the flows.json (or its equivalent given in the package.json) to your project .gitignore file.
Functioning
This plugin does not modify Node-RED core behavior. Node-RED core will still compile the flows into the JSON file stipulated in the package.json.
The code is executed at each start of the flows, i.e. a start of Node-RED or a "deploy" action.
It will take the running JSON file used by Node-RED specified in the Node-RED package.json (flows.json by default) and create all files in the directory src (by default) and their sub-directories : tabs, subflows and config-nodes at the root of the Node-RED userDir or the active project folder.
The plugin will generate a configuration file .config.flow-splitter.json at the root of the Node-RED userDir or the active project folder.
Default configuration file =
{
"fileFormat": "yaml",
"destinationFolder": "src",
"tabsOrder": []
}
You can freely edit the config file, the changes are taken into account at the next restart of the flows.
fileFormat: parsing language for your split source files (eitheryamlorjson)destinationFolder: path where to create thetabs,subflowsandconfig-nodessub-directoriestabsOrder: position of each tab (ordered array of the Ids of each tab node)