diff --git a/red/nodes/registry.js b/red/nodes/registry.js index 6e507f758..02767d03a 100644 --- a/red/nodes/registry.js +++ b/red/nodes/registry.js @@ -311,6 +311,8 @@ function getNodeFiles(dir) { } } } + valid = valid && fs.existsSync(path.join(dir,fn.replace(/\.js$/,".html"))) + if (valid) { result.push(path.join(dir,fn)); } @@ -383,7 +385,10 @@ function loadNodesFromModule(moduleDir,pkg) { for (var n in nodes) { if (nodes.hasOwnProperty(n)) { var file = path.join(moduleDir,nodes[n]); - results.push(loadNodeConfig(file,pkg.name,n)); + try { + results.push(loadNodeConfig(file,pkg.name,n)); + } catch(err) { + } var iconDir = path.join(moduleDir,path.dirname(nodes[n]),"icons"); if (iconDirs.indexOf(iconDir) == -1) { if (fs.existsSync(iconDir)) { @@ -440,27 +445,35 @@ function loadNodeConfig(file,module,name) { } else { node.name = path.basename(file) } - - var content = fs.readFileSync(node.template,'utf8'); - - var types = []; - - var regExp = /