initial support for npm module installation

This commit is contained in:
Hiroyasu Nishiyama
2021-01-11 19:32:16 +09:00
parent c40412d7c6
commit d51aefa156
6 changed files with 829 additions and 145 deletions

View File

@@ -45,6 +45,10 @@ function requireModule(name) {
var relPath = path.relative(__dirname, moduleInfo.path);
return require(relPath);
} else {
var npm = runtime.nodes.loadNPMModule(name);
if (npm) {
return npm;
}
var err = new Error(`Cannot find module '${name}'`);
err.code = "MODULE_NOT_FOUND";
throw err;
@@ -79,7 +83,7 @@ function createNodeApi(node) {
httpAdmin: runtime.adminApp,
server: runtime.server
}
copyObjectProperties(runtime.nodes,red.nodes,["createNode","getNode","eachNode","addCredentials","getCredentials","deleteCredentials" ]);
copyObjectProperties(runtime.nodes,red.nodes,["createNode","getNode","eachNode","addCredentials","getCredentials","deleteCredentials", "listNPMModules"]);
red.nodes.registerType = function(type,constructor,opts) {
runtime.nodes.registerType(node.id,type,constructor,opts);
}