Find+ — advanced search sidebar for the Node-RED editor

Hi all,

I use Node-RED extensively for a fairly large personal home-automation project.

As the project grew, I found the built-in search increasingly limiting for some very specific searches — particularly when looking for an exact numeric value inside Function code or node properties.

For example, searching for:

text
810

may also return values such as:

text
1810
8100

I wanted a way to search for the actual numeric value 810, as well as perform case-sensitive, whole-word and regular-expression searches.

This led to Find+, an experimental editor plug-in that adds an independent advanced-search sidebar to Node-RED.

Find+ does not replace or modify the built-in Node-RED search. It simply adds another search tool to the editor sidebar.

4.1.11

5.0.1

Main features

  • Search node properties and Function node source code
  • Exact-number search
  • Case-sensitive search
  • Whole-word search
  • Regular expressions
  • Restrict results to the current flow
  • Filter by node type using type:...
  • Optionally include configuration nodes
  • Display the matching property and line number
  • Reveal a node without closing the Find+ sidebar
  • Light and dark theme support

Search examples

alarm
"exact phrase"
case:Echo
word:camera
num:810
type:function alarm
flow:current alarm
re:id\s*:\s*810

Prefixes can also be combined:

type:function flow:current case:Echo

For example:

num:810

matches the numeric value 810, but not 1810 or 8100.

Compatibility

Find+ has currently been tested with:

  • Node-RED 4.1.11
  • Node-RED 5.0.1

It adds no runtime nodes and does not participate in message processing. Searches are performed locally in the browser against the flow model already loaded by the Node-RED editor.

Installation

For now, Find+ is distributed through GitHub rather than npm or the Node-RED Flow Library.

Repository:

Download the .tgz file from the GitHub Releases page:

Then install it on the machine running Node-RED:

cd ~/.node-red
npm install /actual/path/node-red-plugin-advanced-search-0.4.1.tgz

Replace /actual/path/ with the real directory containing the downloaded file.

Restart Node-RED:

node-red-restart

or, depending on the installation:

sudo systemctl restart nodered

Finally, reload the editor with Ctrl+F5. A Find+ tab should appear in the sidebar.

Project status

This is still an experimental project.

Some of the editor APIs used to read the loaded node model and reveal nodes are not all formally documented as stable public APIs, so future Node-RED versions may require compatibility updates.

I would be interested in feedback, particularly from users with:

  • large flows;
  • different browsers;
  • other Node-RED 4.x or 5.x versions;
  • unusual node or property structures.

Reproducible problems and suggestions can be submitted through GitHub Issues.

3 Likes