@node-red/registry 4.1.0-beta.2 → 4.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/externalModules.js +4 -0
- package/lib/installer.js +3 -2
- package/lib/loader.js +16 -10
- package/lib/localfilesystem.js +3 -3
- package/package.json +2 -2
package/lib/externalModules.js
CHANGED
|
@@ -171,6 +171,10 @@ async function checkFlowDependencies(flowConfig) {
|
|
|
171
171
|
const checkedSubflows = {};
|
|
172
172
|
while (nodes.length > 0) {
|
|
173
173
|
let n = nodes.shift();
|
|
174
|
+
if (n.d) {
|
|
175
|
+
// Ignore disabled nodes
|
|
176
|
+
continue
|
|
177
|
+
}
|
|
174
178
|
if (subflowTypes[n.type] && !checkedSubflows[n.type]) {
|
|
175
179
|
checkedSubflows[n.type] = true;
|
|
176
180
|
nodes = nodes.concat(subflowTypes[n.type].flow)
|
package/lib/installer.js
CHANGED
|
@@ -367,9 +367,10 @@ async function getModuleVersionFromNPM(module, version) {
|
|
|
367
367
|
if (version) {
|
|
368
368
|
installName += "@" + version;
|
|
369
369
|
}
|
|
370
|
+
|
|
370
371
|
|
|
371
372
|
return new Promise((resolve, reject) => {
|
|
372
|
-
child_process.execFile(npmCommand
|
|
373
|
+
child_process.execFile(`${npmCommand} info --json ${installName}`, { shell: true },function(err,stdout,stderr) {
|
|
373
374
|
try {
|
|
374
375
|
if (!stdout) {
|
|
375
376
|
log.warn(log._("server.install.install-failed-not-found",{name:module}));
|
|
@@ -595,7 +596,7 @@ async function checkPrereq() {
|
|
|
595
596
|
installerEnabled = false;
|
|
596
597
|
} else {
|
|
597
598
|
return new Promise(resolve => {
|
|
598
|
-
child_process.execFile(npmCommand
|
|
599
|
+
child_process.execFile(`${npmCommand} -v`,{ shell: true },function(err,stdout) {
|
|
599
600
|
if (err) {
|
|
600
601
|
log.info(log._("server.palette-editor.npm-not-found"));
|
|
601
602
|
installerEnabled = false;
|
package/lib/loader.js
CHANGED
|
@@ -54,11 +54,12 @@ function loadModuleTypeFiles(module, type) {
|
|
|
54
54
|
for (let thingName in things) {
|
|
55
55
|
/* istanbul ignore else */
|
|
56
56
|
if (things.hasOwnProperty(thingName)) {
|
|
57
|
+
const thing = things[thingName]
|
|
57
58
|
if (module.name != "node-red" && first) {
|
|
58
59
|
// Check the module directory exists
|
|
59
60
|
first = false;
|
|
60
61
|
let moduleFn = module.path
|
|
61
|
-
const fn =
|
|
62
|
+
const fn = thing.file
|
|
62
63
|
const parts = splitPath(fn)
|
|
63
64
|
const nmi = parts.indexOf('node_modules')
|
|
64
65
|
if(nmi > -1) {
|
|
@@ -78,9 +79,9 @@ function loadModuleTypeFiles(module, type) {
|
|
|
78
79
|
try {
|
|
79
80
|
let promise;
|
|
80
81
|
if (type === "nodes") {
|
|
81
|
-
promise = loadNodeConfig(
|
|
82
|
+
promise = loadNodeConfig(thing);
|
|
82
83
|
} else if (type === "plugins") {
|
|
83
|
-
promise = loadPluginConfig(
|
|
84
|
+
promise = loadPluginConfig(thing);
|
|
84
85
|
}
|
|
85
86
|
promises.push(
|
|
86
87
|
promise.then(
|
|
@@ -91,10 +92,14 @@ function loadModuleTypeFiles(module, type) {
|
|
|
91
92
|
return nodeSet;
|
|
92
93
|
}
|
|
93
94
|
})()
|
|
94
|
-
).catch(err => {
|
|
95
|
+
).catch(err => {
|
|
96
|
+
// This shouldn't fail - but if it does, we don't want to crash the loader
|
|
97
|
+
// But we also need to log it to have some chance of figuring out what went wrong
|
|
98
|
+
console.log(thing.name, err)
|
|
99
|
+
})
|
|
95
100
|
);
|
|
96
101
|
} catch(err) {
|
|
97
|
-
console.log(err)
|
|
102
|
+
console.log(thing.name, err)
|
|
98
103
|
}
|
|
99
104
|
}
|
|
100
105
|
}
|
|
@@ -265,7 +270,7 @@ async function loadNodeConfig(fileInfo) {
|
|
|
265
270
|
module: module,
|
|
266
271
|
name: name,
|
|
267
272
|
file: file,
|
|
268
|
-
template: file.replace(/\.js$/,".html"),
|
|
273
|
+
template: file.replace(/\.c?js$/,".html"),
|
|
269
274
|
enabled: isEnabled,
|
|
270
275
|
loaded:false,
|
|
271
276
|
version: version,
|
|
@@ -303,10 +308,6 @@ async function loadPluginConfig(fileInfo) {
|
|
|
303
308
|
// isEnabled = info.enabled;
|
|
304
309
|
// }
|
|
305
310
|
|
|
306
|
-
|
|
307
|
-
if (!fs.existsSync(jsFile)) {
|
|
308
|
-
}
|
|
309
|
-
|
|
310
311
|
var plugin = {
|
|
311
312
|
type: "plugin",
|
|
312
313
|
id: id,
|
|
@@ -324,6 +325,11 @@ async function loadPluginConfig(fileInfo) {
|
|
|
324
325
|
var htmlFile = file.replace(/\.[^.]+$/,".html");
|
|
325
326
|
if (fs.existsSync(jsFile)) {
|
|
326
327
|
plugin.file = jsFile;
|
|
328
|
+
} else {
|
|
329
|
+
jsFile = file.replace(/\.[^.]+$/,".cjs")
|
|
330
|
+
if (fs.existsSync(jsFile)) {
|
|
331
|
+
plugin.file = jsFile;
|
|
332
|
+
}
|
|
327
333
|
}
|
|
328
334
|
if (fs.existsSync(htmlFile)) {
|
|
329
335
|
plugin.template = htmlFile;
|
package/lib/localfilesystem.js
CHANGED
|
@@ -72,11 +72,11 @@ function getLocalFile(file) {
|
|
|
72
72
|
return null;
|
|
73
73
|
}
|
|
74
74
|
try {
|
|
75
|
-
fs.statSync(file.replace(/\.js$/,".html"));
|
|
75
|
+
fs.statSync(file.replace(/\.c?js$/,".html"));
|
|
76
76
|
return {
|
|
77
77
|
file: file,
|
|
78
78
|
module: "node-red",
|
|
79
|
-
name: path.basename(file).replace(/^\d+-/,"").replace(/\.js$/,""),
|
|
79
|
+
name: path.basename(file).replace(/^\d+-/,"").replace(/\.c?js$/,""),
|
|
80
80
|
version: settings.version
|
|
81
81
|
};
|
|
82
82
|
} catch(err) {
|
|
@@ -114,7 +114,7 @@ function getLocalNodeFiles(dir, skipValidNodeRedModules) {
|
|
|
114
114
|
files.forEach(function(fn) {
|
|
115
115
|
var stats = fs.statSync(path.join(dir,fn));
|
|
116
116
|
if (stats.isFile()) {
|
|
117
|
-
if (/\.js$/.test(fn)) {
|
|
117
|
+
if (/\.c?js$/.test(fn)) {
|
|
118
118
|
var info = getLocalFile(path.join(dir,fn));
|
|
119
119
|
if (info) {
|
|
120
120
|
result.push(info);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@node-red/registry",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.1",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"repository": {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
}
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@node-red/util": "4.1.
|
|
19
|
+
"@node-red/util": "4.1.1",
|
|
20
20
|
"clone": "2.1.2",
|
|
21
21
|
"fs-extra": "11.3.0",
|
|
22
22
|
"semver": "7.7.1",
|