node-red-flow-src-sync
v0.8.1
Published
Remotely edit and synchronize node-red flows within IDEs such as vs-code.
Readme
node-red-flow-src-sync
Remotely edit and synchronize Node-RED flows within IDEs such as VS Code.
Features
- Remotely edit and synchronize Node-RED flows within IDEs such as VS Code.
- TypeScript-based code using Node.js (v23.6.0^) directly with no transpilation.
- Real-time file watching for automatic synchronization.
- No direct access to Node-RED folders needed.
- API integration for fetching and deploying flows to Node-RED.
- Bidirectional conversion between Node-RED flows and source files.
- Support for authentication via bearer tokens.
- Optimized for very large projects and only update changed files.
- Clear and concise logging and error handling.
- Only 2 dependencies
chokidarfor file watchingwsfor WebSocket communication with Node-RED.
Installation
Clone the repository:
git clone <repository-url> cd node-red-flow-src-syncInstall dependencies:
npm install
Configuration
Copy the sample configuration file:
cp config-sample.js config.jsEdit
config.jsto match your Node-RED setup:nodeRedUrl: The base URL to your Node-RED instance (e.g., 'https://node-red.mydomain.lan').allowSelfSignedCertificates: Set totrueif using self-signed certificates.bearerToken: Provide the bearer token if authentication is enabled in Node-RED (found in.sessionsfiles).sourcePath: Full path where source files will be output (defaults to config file location if not specified).cleanOnStart: Set totrueto clear the source folder before building.fileChangeDelay: Delay in milliseconds after file changes before rebuilding (default: 1000ms).
Usage
Ensure Node-RED is running and accessible.
Run the application:
npm startThe tool will:
- Fetch flows from Node-RED and generate source files in the specified
sourcePath. - Watch for changes in the source files and automatically deploy updates to Node-RED.
- Fetch flows from Node-RED and generate source files in the specified
Edit the generated source files in your IDE (e.g., VS Code) as needed. Changes will be synchronized back to Node-RED.
Testing
Run tests with:
npm testCompiling and Installing
If using Bun compile source code to a single executable file:
bun build src/watcher.ts \
--compile \
--outfile dist/node-red-flow-src-syncMake executable available in PATH:
sudo cp dist/node-red-flow-src-sync /usr/local/bin/License
MIT License
Author
Charbel Choueiri [email protected]
