Question on contrib node installed via Pallet Manager not visible in NR editor

I installed node-red-contrib-teslemetry (node) - Node-RED via the Pallet Manager (NR v 4.0.9) and it did not show up in the editor. It showed as "installed" in the Pallet Manager but I could not see it in the list of nodes. I tried everything (installing it via NPM, restarting Node-RED many times) but could not get it to show. I finally realized that my test NR install (where the same node installed correctly was v 4.1.4. I upgraded the live instance to 4.1.4 and reinstalled this node and it showed up. Live NR is on RPi5, Test is on RPi4, Node versions are the same (or one "dot" version off).

The question is what would cause this behavior? Were there any major changes or dependencies that would cause this? I wanted to give some feedback to the developer (not sure they are active on this platform since they primarily support Home Assistant) with a possible cause, so that they can at least put in some flags about NR version requirements.

Thanks for your help.

There is a specific loader change that fits this symptom: support for .cjs node files, fixed in Node-RED issue 5220 / PR 5221 ("Support cjs files").

I checked loadNodeConfig in the 4.0.9 and 4.1.0 source tags. In 4.0.9 it derives the editor template filename by replacing only a trailing .js with .html. For a runtime file ending in .cjs, that replacement does nothing, so it reads the runtime file instead of the companion HTML containing the editor definition. The 4.1.0 loader handles both .js and .cjs. This explains how a package can be installed while its nodes do not appear in the editor.

The current Teslemetry package source (0.6.0) maps its nodes to dist/nodes/*.cjs, but declares "node-red": { "version": ">=3.0.0", ... }. That declared minimum looks worth raising with the developer: for this packaging, 4.1.0 is the relevant loader compatibility boundary, even though you happened to upgrade to 4.1.4.

To confirm it was your original failure, check the exact Teslemetry version you had on 4.0.9 and its installed package.json under node-red.nodes. If those entries also end in .cjs, it matches this known issue closely. I have not reproduced your installation, so I would report that version and the file-extension evidence with the bug reference, rather than attributing it to the Pi model or a Node.js patch version.

This is what is in the "nodes" folder under the Teslemetry nodes. Is this what you meant? There are several files that end in .cjs.

Thanks - I will let them know.