@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.
@@ -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,['info','--json',installName],{ shell: true },function(err,stdout,stderr) {
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,['-v'],{ shell: true },function(err,stdout) {
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 = things[thingName].file
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(things[thingName]);
82
+ promise = loadNodeConfig(thing);
82
83
  } else if (type === "plugins") {
83
- promise = loadPluginConfig(things[thingName]);
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 => {console.log(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;
@@ -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.0-beta.2",
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.0-beta.2",
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",