IoT-focused low-code programming tool Node-RED reaches version 2.0, bringing flow debugger and flow linter to help programmers find bugs in their flows.
Node-RED 2.0 has mostly focused on removing support for older versions of Node.js and update a number of internal dependencies. Still, the new flow debugger and flow linter, both available as plugins, will be a welcome addition to most developers.
Node-RED flow debugger allows you to set breakpoints on node ports, so your flow will stop each time a new message is received on that port. This makes it possible to inspect all the messages that are queued and waiting to be processed. You can also execute the flow one message at a time, or delete a queued message. This possibility is especially relevant since Node-RED went async a couple of years ago, thus making the relative order of message handling less intuitive.
At the moment, the flow debugger does not support conditional breakpoints nor editing queued messages, but both features are in the works. Likewise, it is not currently possible to pause only a subset of nodes, but it will be in a future release.
Node-RED flow linter, called nrlint
can be used to identify potential problems in a flow. nrlint
uses a set of rule to identify potentially incorrect uses, such as leaving the output of an HTTP In
node not connected to any HTTP Response
nodes. nrlint
can also be integrated with eslint
, which can be useful in case your flow includes custom JavaScript code.
The Node-RED linter uses a browser Worker thread and provides its results in a separate sidebar, allowing you also to quickly navigate to the areas of your flow that need attention. nrliter
can be alternatively run from the command line to integrate the linting step in a CI pipeline.
Still on the developer experience front, Node-RED 2.0 replaces its code editor ACE with Monaco. Monaco is the editor engine that powers Microsoft Visual Studio Code and will make all Visual Studio Code developers feel at home in Node-RED 2.0. Monaco is enabld by default, but user can switch back to ACE it they require so.
Other notable improvements to Node-RED 2.0 include a new node-red admin init
command to easily create a correctly configured settings file; improved support for calling external modules from Function
nodes; the Report By Exception (RBE
) node, used to discard messages when their data has not changed, is now part of the default palette and has been more meaningfully renamed to Filter
; and more.
Author: Joshua Melendez
Last Updated: 1704120482
Views: 2085
Rating: 4.6 / 5 (104 voted)
Reviews: 90% of readers found this page helpful
Name: Joshua Melendez
Birthday: 1966-04-18
Address: Unit 8587 Box 7725, DPO AE 60495
Phone: +3780005650288615
Job: Taxi Driver
Hobby: Soccer, Running, Sewing, Quilting, Lock Picking, Amateur Radio, Surfing
Introduction: My name is Joshua Melendez, I am a Colorful, Adventurous, candid, multicolored, valuable, dedicated, ingenious person who loves writing and wants to share my knowledge and understanding with you.