mirror of
				https://github.com/node-red/node-red.git
				synced 2025-03-01 10:36:34 +00:00 
			
		
		
		
	Ensure deleted core nodes are removed from config list
This commit is contained in:
		@@ -419,9 +419,22 @@ var registry = (function() {
 | 
				
			|||||||
            var removed = false;
 | 
					            var removed = false;
 | 
				
			||||||
            for (var mod in moduleConfigs) {
 | 
					            for (var mod in moduleConfigs) {
 | 
				
			||||||
                if (moduleConfigs.hasOwnProperty(mod)) {
 | 
					                if (moduleConfigs.hasOwnProperty(mod)) {
 | 
				
			||||||
                    if (moduleConfigs[mod] && !moduleNodes[mod]) {
 | 
					 | 
				
			||||||
                    var nodes = moduleConfigs[mod].nodes;
 | 
					                    var nodes = moduleConfigs[mod].nodes;
 | 
				
			||||||
                        for (var node in nodes) {
 | 
					                    var node;
 | 
				
			||||||
 | 
					                    if (mod == "node-red") {
 | 
				
			||||||
 | 
					                        // For core nodes, look for nodes that are enabled, !loaded and !errored
 | 
				
			||||||
 | 
					                        for (node in nodes) {
 | 
				
			||||||
 | 
					                            if (nodes.hasOwnProperty(node)) {
 | 
				
			||||||
 | 
					                                var n = nodes[node];
 | 
				
			||||||
 | 
					                                if (n.enabled && !n.err && !n.loaded) {
 | 
				
			||||||
 | 
					                                    registry.removeNode(mod+"/"+node);
 | 
				
			||||||
 | 
					                                    removed = true;
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    } else if (moduleConfigs[mod] && !moduleNodes[mod]) {
 | 
				
			||||||
 | 
					                        // For node modules, look for missing ones
 | 
				
			||||||
 | 
					                        for (node in nodes) {
 | 
				
			||||||
                            if (nodes.hasOwnProperty(node)) {
 | 
					                            if (nodes.hasOwnProperty(node)) {
 | 
				
			||||||
                                registry.removeNode(mod+"/"+node);
 | 
					                                registry.removeNode(mod+"/"+node);
 | 
				
			||||||
                                removed = true;
 | 
					                                removed = true;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -81,7 +81,7 @@ function start() {
 | 
				
			|||||||
                    for (i in missingModules) {
 | 
					                    for (i in missingModules) {
 | 
				
			||||||
                        if (missingModules.hasOwnProperty(i)) {
 | 
					                        if (missingModules.hasOwnProperty(i)) {
 | 
				
			||||||
                            log.warn(" - "+i+": "+missingModules[i].join(", "));
 | 
					                            log.warn(" - "+i+": "+missingModules[i].join(", "));
 | 
				
			||||||
                            if (settings.autoInstallModules) {
 | 
					                            if (settings.autoInstallModules && i != "node-red") {
 | 
				
			||||||
                                installModule(i).otherwise(function(err) {
 | 
					                                installModule(i).otherwise(function(err) {
 | 
				
			||||||
                                    // Error already reported. Need the otherwise handler
 | 
					                                    // Error already reported. Need the otherwise handler
 | 
				
			||||||
                                    // to stop the error propagating any further
 | 
					                                    // to stop the error propagating any further
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user