Allow node-red to load nodes with .cjs file extension #4433
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #4431
Updates the loader to no-longer assume that the node file always
.js
as a file extension for the javascript..cjs
files work without issue, but previously node-red would try to load a template calledfile-name.cjs
instead offile-name.html
, which meant nodes would be missing from the palette despite showing as loaded in settings.Templates failing to load are silently ignored, in case a node has no associated template, so no error would be displayed but there would be no front-end node available:
node-red/packages/node_modules/@node-red/registry/lib/loader.js
Lines 215 to 224 in 0589e1f
Before
For example node from #4431 (https://github.com/Pezmc/node-red-test-node)
After
Proposed changes
Checklist
npm run test
to verify the unit tests pass