Node generator is a command line tool to generate Node-RED nodes based on various sources such as an OpenAPI document or a Function node. It helps developers dramatically reduce the time to implement Node-RED nodes.
Install node generator globally to make the node-red-nodegen
command available on your path:
npm install -g node-red-nodegen
You may need to run this with sudo
, or from within an Administrator command shell.
Usage:
node-red-nodegen <source file or URL> [-o <path to save>] [--prefix <prefix string>] [--name <node name>] [--module <module name>] [--version <version number>] [--keywords <keywords list>] [--category <node category>] [--icon <png or gif file>] [--color <node color>] [--tgz] [--help] [--wottd] [--lang <accept-language>] [-v]
Description:
Node generator for Node-RED
Supported source:
- OpenAPI document
- Function node (js file in library, "~/.node-red/lib/function/")
- (Beta) Thing Description of W3C Web of Things (jsonld file or URL that points jsonld file)
Options:
-o : Destination path to save generated node (default: current directory)
--prefix : Prefix of npm module (default: "node-red-contrib-")
--name : Node name (default: name defined in source)
--module : Module name (default: "node-red-contrib-<node name>")
--version : Node version (format: "number.number.number" like "4.5.1")
--keywords : Additional keywords (format: comma separated string, default: "node-red-nodegen")
--category : Node category (default: "function")
--icon : PNG file for node appearance (image size should be 10x20)
--color : Color for node appearance (format: color hexadecimal numbers like "A6BBCF")
--tgz : Save node as tgz file
--help : Show help
--wottd : explicitly instruct source file/URL points a Thing Description
--lang : Language negotiation information when retrieve a Thing Description
-v : Show node generator version
- node-red-nodegen http://petstore.swagger.io/v2/swagger.json
- cd node-red-contrib-swagger-petstore
- sudo npm link
- cd ~/.node-red
- npm link node-red-contrib-swagger-petstore
- node-red
-> You can use swagger-petstore node on Node-RED flow editor.
- On Node-RED flow editor, save function node to library with file name (lower-case.js).
- node-red-nodegen ~/.node-red/lib/function/lower-case.js
- cd node-red-contrib-lower-case
- sudo npm link
- cd ~/.node-red
- npm link node-red-contrib-lower-case
- node-red
-> You can use lower-case node on Node-RED flow editor.
- node-red-nodegen example.jsonld
- cd node-red-contrib-example-thing
- sudo npm link
- cd ~/.node-red
- npm link node-red-contrib-example-thing
- node-red
-> You can use Example Thing node on Node-RED flow editor.
- node-red-nodegen http://example.com/td.jsonld --wottd --lang "en-US,en;q=0.5"
- cd node-red-contrib-example-thing
- sudo npm link
- cd ~/.node-red
- npm link node-red-contrib-example-thing
- node-red
-> You can use Example Thing node on Node-RED flow editor.
- Use cases (Japanese)
- How to use Node generator (Japanese)
- Generated files which node package contains (Japanese)
- How to create a node from OpenAPI document (Japanese)
- How to create a node from function node (Japanese)
Note: Currently node generator supports GET and POST methods using JSON format without authentication.