26 Commits

Author SHA1 Message Date
Rotzbua
20d2450cac
fix(polyfill): remove import module polyfill
Was required for node <12.17.
2024-05-12 22:38:03 +02:00
Nick O'Leary
d218af8619
Merge branch 'master' into dev 2024-04-12 13:04:54 +01:00
Nick O'Leary
bd58431603
Fix use of spawn on windows with cmd files 2024-04-11 14:40:29 +01:00
Nick O'Leary
33cf34f7c7
Merge branch 'master' into dev 2023-12-04 15:58:45 +00:00
Nick O'Leary
6b088bda12
Merge pull request #4452 from node-red/4443-add-modules-install-audit-event
Add modules.install audit event when external module installed
2023-11-29 16:11:04 +00:00
Nick O'Leary
bc6afa2164
Add modules.install audit event when external module installed 2023-11-27 16:58:14 +00:00
Nick O'Leary
6633730bf1
Allow import of modules with subpath in specifier
Fixes #4446
2023-11-27 16:44:56 +00:00
ZJ van de Weg
54d4079457 npm: Remove production flag on npm invocation
When installing packages the `--production` flag used to be added to the
arguments that `npm` received. As npm wants developers to use the
`--omit=dev` flag instead it warned users on STDERR. Standard error was
captured by Node-RED and output to the logs as being an error. This
caught users off-guard and they expected something to have gone
wrong.

With this change the `--omit=dev` is used instead, to remove the
warning.

This change works for NPM of version 8 and beyond[1], included in
Node.JS 16. This change will not work on NPM version 6[2] which is included
in Node.JS 14[3].

[1]: https://docs.npmjs.com/cli/v8/commands/npm-install#omit
[2]: https://docs.npmjs.com/cli/v6/commands/npm-install
[3]: https://nodejs.org/en/download/releases#looking-for-latest-release-of-a-version-branch
2023-09-17 08:43:11 +02:00
Nick O'Leary
18610bb540
Ensure external modules are installed synchronously
Fixes #4168
2023-05-22 14:24:11 +01:00
Nick O'Leary
71a272f0a6
Fix ESM module loading in Function node
Fixes #3627
2022-06-09 22:11:48 -05:00
Nick O'Leary
a8d093bacd
Use file:// url with dynamic import 2021-07-21 11:00:24 +01:00
Nick O'Leary
66a704af55
Fallback to 'require' if on node < 12.17 2021-07-15 15:38:07 +01:00
Nick O'Leary
ddb715d88d
Record runtime-installed modules in .config.modules.json 2021-07-14 23:13:52 +01:00
Nick O'Leary
7fd17b4ec0
Add RED.import to support importing ES6 modules 2021-07-14 19:18:39 +01:00
Nick O'Leary
e6a845e606
Move externalModules back into the user dir 2021-07-13 11:24:10 +01:00
Nick O'Leary
79875ef50d
Merge branch 'master' into dev 2021-06-16 17:03:50 +01:00
Nick O'Leary
aea5445495
Support loading external module sub path
Fixes #3023
2021-06-16 17:02:24 +01:00
nileio
676f790933 add engine-strict flag to npm install args 2021-04-28 22:40:17 +10:00
Nick O'Leary
250005ad16
Allow npm install args to be customised by preInstall trigger 2021-04-20 22:55:06 +01:00
Nick O'Leary
b4a03a56b4
Allow preInstall hook to return false to skip npm install 2021-04-19 20:29:30 +01:00
Nick O'Leary
8140057bea
Add pre/postInstall hooks to module install path 2021-04-15 15:12:40 +01:00
Kazuhito Yokoi
734adc6445
Add Japanese translations for Node-RED v1.3.0 (#2900) 2021-03-15 08:23:30 +00:00
Nick O'Leary
05beb6ca79
Add unit tests for externalModules 2021-02-15 17:28:14 +00:00
Nick O'Leary
d2c9ccbfdd
Detect externalModule dependencies inside subflow modules
Not sure this is 100% the right approach. If a subflow module has a dependency
it should be in the subflow's package.json and therefore installed next to the
subflow module in ~/.node-red/node_modules.

By treating it as a 'normal' external module, it will be dynamically installed
in ~/.node-red/externalModules. That then exposes the module to the user
who won't know why its there and may remove it.

It would be better to allow nodes inside a subflow module to require
from ~/.node-red/node_modules and not limit it to the externalModules
dir. The hard part is knowing when to do that.
2021-02-14 00:02:08 +00:00
Nick O'Leary
a94c19a6cf
Fix up loading of freshly installed modules in Function node 2021-02-12 22:40:30 +00:00
Nick O'Leary
9c09ee3b71
Rework Function node module integration 2021-02-12 18:14:13 +00:00