1
0
mirror of https://github.com/node-red/node-red.git synced 2023-10-10 13:36:53 +02:00

Merge branch 'dev' into repackage

This commit is contained in:
Nick O'Leary 2018-09-04 11:41:03 +01:00
commit 51373f59e2
No known key found for this signature in database
GPG Key ID: 4F2157149161A6C9
2 changed files with 29 additions and 3 deletions

View File

@ -20,7 +20,8 @@ var path = require("path");
var events; var events;
var log; var log;
var i18n = require("@node-red/util").i18n; // TODO: separate module var log = require("@node-red/util").log;
var i18n = require("@node-red/util").i18n;
var settings; var settings;
var disableNodePathScan = false; var disableNodePathScan = false;
@ -29,7 +30,6 @@ var iconFileExtensions = [".png", ".gif", ".svg"];
function init(runtime) { function init(runtime) {
settings = runtime.settings; settings = runtime.settings;
events = runtime.events; events = runtime.events;
log = runtime.log;
} }
function isIncluded(name) { function isIncluded(name) {
@ -289,6 +289,33 @@ function getNodeFiles(disableNodePathScan) {
if (!disableNodePathScan) { if (!disableNodePathScan) {
var moduleFiles = scanTreeForNodesModules(); var moduleFiles = scanTreeForNodesModules();
// Filter the module list to ignore global modules
// that have also been installed locally - allowing the user to
// update a module they may not otherwise be able to touch
moduleFiles.sort(function(A,B) {
if (A.local && !B.local) {
return -1
} else if (!A.local && B.local) {
return 1
}
return 0;
})
var knownModules = {};
moduleFiles = moduleFiles.filter(function(mod) {
var result;
if (!knownModules[mod.package.name]) {
knownModules[mod.package.name] = true;
result = true;
} else {
result = false;
}
log.debug("Module: "+mod.package.name+" "+mod.package.version+(result?"":" *ignored due to local copy*"));
log.debug(" "+mod.dir);
return result;
});
moduleFiles.forEach(function(moduleFile) { moduleFiles.forEach(function(moduleFile) {
var nodeModuleFiles = getModuleNodeFiles(moduleFile); var nodeModuleFiles = getModuleNodeFiles(moduleFile);
nodeList[moduleFile.package.name] = { nodeList[moduleFile.package.name] = {

View File

@ -111,7 +111,6 @@ describe("red/nodes/registry/localfilesystem",function() {
}); });
it("Finds nodes in settings.nodesDir (string,relative path)",function(done) { it("Finds nodes in settings.nodesDir (string,relative path)",function(done) {
var relativeUserDir = path.join("test","unit","@node-red","registry","lib","resources","userDir"); var relativeUserDir = path.join("test","unit","@node-red","registry","lib","resources","userDir");
console.log(relativeUserDir)
localfilesystem.init({settings:{nodesDir:relativeUserDir}}); localfilesystem.init({settings:{nodesDir:relativeUserDir}});
var nodeList = localfilesystem.getNodeFiles(true); var nodeList = localfilesystem.getNodeFiles(true);
nodeList.should.have.a.property("node-red"); nodeList.should.have.a.property("node-red");