diff --git a/packages/node_modules/@node-red/registry/lib/externalModules.js b/packages/node_modules/@node-red/registry/lib/externalModules.js index 3d1ba3ba5..3458d4312 100644 --- a/packages/node_modules/@node-red/registry/lib/externalModules.js +++ b/packages/node_modules/@node-red/registry/lib/externalModules.js @@ -125,8 +125,6 @@ function importModule(module) { return import(moduleFile); } - - function parseModuleName(module) { var match = /((?:@[^/]+\/)?[^/@]+)(?:@([\s\S]+))?/.exec(module); if (match) { @@ -254,6 +252,9 @@ async function installModule(moduleDetails) { return hooks.trigger("postInstall", triggerPayload) }).then(() => { log.info(log._("server.install.installed", { name: installSpec })); + const runtimeInstalledModules = settings.get("modules") || {}; + runtimeInstalledModules[moduleDetails.module] = moduleDetails; + settings.set("modules",runtimeInstalledModules) }).catch(result => { var output = result.stderr || result.toString(); var e; @@ -275,10 +276,10 @@ async function installModule(moduleDetails) { } module.exports = { - init: init, - register: register, - registerSubflow: registerSubflow, - checkFlowDependencies: checkFlowDependencies, + init, + register, + registerSubflow, + checkFlowDependencies, require: requireModule, import: importModule } diff --git a/packages/node_modules/@node-red/runtime/lib/storage/localfilesystem/settings.js b/packages/node_modules/@node-red/runtime/lib/storage/localfilesystem/settings.js index d6484b1a6..f1813fdcc 100644 --- a/packages/node_modules/@node-red/runtime/lib/storage/localfilesystem/settings.js +++ b/packages/node_modules/@node-red/runtime/lib/storage/localfilesystem/settings.js @@ -20,7 +20,7 @@ const fspath = require("path"); const log = require("@node-red/util").log; const util = require("./util"); -const configSections = ['nodes','users','projects']; +const configSections = ['nodes','users','projects','modules']; const settingsCache = {}; @@ -59,6 +59,7 @@ async function migrateToMultipleConfigFiles() { * - .config.nodes.json - the node registry * - .config.users.json - user specific settings (eg editor settings) * - .config.projects.json - project settings, including the active project + * - .config.modules.json - external modules installed by the runtime * - .config.runtime.json - everything else - most notable _credentialSecret */ function writeSettings(data) {