mirror of
				https://github.com/node-red/node-red.git
				synced 2025-03-01 10:36:34 +00:00 
			
		
		
		
	Merge 593eb220a6 into bb01f26f06
				
					
				
			This commit is contained in:
		| @@ -46,7 +46,8 @@ If you've got a bug-fix or similar for us, then you are most welcome to | |||||||
| get it raised - just make sure you link back to the issue it's fixing and | get it raised - just make sure you link back to the issue it's fixing and | ||||||
| try to include some tests! | try to include some tests! | ||||||
|  |  | ||||||
| All contributors need to sign the OpenJS Foundation's Contributor License Agreement. | All contributors need to sign the OpenJS Foundation's | ||||||
|  | [Contributor License Agreement](https://openjsf.org/about/the-openjs-foundation-cla/). | ||||||
| It is an online process and quick to do. If you raise a pull-request without | It is an online process and quick to do. If you raise a pull-request without | ||||||
| having signed the CLA, you will be prompted to do so automatically. | having signed the CLA, you will be prompted to do so automatically. | ||||||
|  |  | ||||||
|   | |||||||
| @@ -65,7 +65,7 @@ function loadModuleTypeFiles(module, type) { | |||||||
|                     moduleFn = parts.slice(0,nmi+2).join(path.sep); |                     moduleFn = parts.slice(0,nmi+2).join(path.sep); | ||||||
|                 } |                 } | ||||||
|                 if (!moduleFn) { |                 if (!moduleFn) { | ||||||
|                     // shortcut - skip calling statSync on empty string  |                     // shortcut - skip calling statSync on empty string | ||||||
|                     break; // Module not found, don't attempt to load its nodes |                     break; // Module not found, don't attempt to load its nodes | ||||||
|                 } |                 } | ||||||
|                 try { |                 try { | ||||||
| @@ -347,7 +347,6 @@ async function loadPluginConfig(fileInfo) { | |||||||
| function loadNodeSet(node) { | function loadNodeSet(node) { | ||||||
|     if (!node.enabled) { |     if (!node.enabled) { | ||||||
|         return Promise.resolve(node); |         return Promise.resolve(node); | ||||||
|     } else { |  | ||||||
|     } |     } | ||||||
|     try { |     try { | ||||||
|         var loadPromise = null; |         var loadPromise = null; | ||||||
| @@ -377,7 +376,6 @@ function loadNodeSet(node) { | |||||||
|     } catch(err) { |     } catch(err) { | ||||||
|         node.err = err; |         node.err = err; | ||||||
|         var stack = err.stack; |         var stack = err.stack; | ||||||
|         var message; |  | ||||||
|         if (stack) { |         if (stack) { | ||||||
|             var filePath = node.file; |             var filePath = node.file; | ||||||
|             try { |             try { | ||||||
|   | |||||||
| @@ -250,7 +250,7 @@ function scanDirForNodesModules(dir,moduleName,packageDetails) { | |||||||
|     /* |     /* | ||||||
|     1. if !exist(package.json) || !package.json.has(node-red) => look for node_modules |     1. if !exist(package.json) || !package.json.has(node-red) => look for node_modules | ||||||
|     2. exist(package.json) && package.json.has(node-red) => load this only |     2. exist(package.json) && package.json.has(node-red) => load this only | ||||||
|     3. in original scan of nodesDir, ignore if:(exist(package.json) && package.json.has(node-red))  |     3. in original scan of nodesDir, ignore if:(exist(package.json) && package.json.has(node-red)) | ||||||
|     */ |     */ | ||||||
|     if (nodesDir) { |     if (nodesDir) { | ||||||
|         for (let dirIndex = 0; dirIndex < nodesDir.length; dirIndex++) { |         for (let dirIndex = 0; dirIndex < nodesDir.length; dirIndex++) { | ||||||
| @@ -542,7 +542,7 @@ function getPackageList() { | |||||||
|     return list; |     return list; | ||||||
| } | } | ||||||
| /** | /** | ||||||
|  * Gets the package json object for the supplied `dir`.   |  * Gets the package json object for the supplied `dir`. | ||||||
|  * If there is no package.json or the `node-red` section is missing, `result.isNodeRedModule` will be `false`. |  * If there is no package.json or the `node-red` section is missing, `result.isNodeRedModule` will be `false`. | ||||||
|  * If there is no package.json `isPackage` will be `false`. |  * If there is no package.json `isPackage` will be `false`. | ||||||
|  * If an error occurs, `result.error` will contain the error. |  * If an error occurs, `result.error` will contain the error. | ||||||
| @@ -550,7 +550,7 @@ function getPackageList() { | |||||||
|  */ |  */ | ||||||
|  function getPackageDetails(dir) { |  function getPackageDetails(dir) { | ||||||
|     const result = { |     const result = { | ||||||
|         /** @type {string} The package directory */  |         /** @type {string} The package directory */ | ||||||
|         moduleDir: dir, |         moduleDir: dir, | ||||||
|         /** @type {string} The full file path of package.json for this package */ |         /** @type {string} The full file path of package.json for this package */ | ||||||
|         packageFile: null, |         packageFile: null, | ||||||
| @@ -579,7 +579,7 @@ function getPackageList() { | |||||||
|             result.isNodeRedModule = typeof result.package['node-red'] === 'object' |             result.isNodeRedModule = typeof result.package['node-red'] === 'object' | ||||||
|             if(result.isNodeRedModule) { |             if(result.isNodeRedModule) { | ||||||
|                 result.isNodeRedModule = true; |                 result.isNodeRedModule = true; | ||||||
|                 result.allowed = registryUtil.checkModuleAllowed(pkg.name,pkg.version,loadAllowList,loadDenyList)  |                 result.allowed = registryUtil.checkModuleAllowed(pkg.name,pkg.version,loadAllowList,loadDenyList) | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     } catch(err) { |     } catch(err) { | ||||||
|   | |||||||
| @@ -539,25 +539,6 @@ function checkTypeInUse(id) { | |||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
| function updateMissingTypes() { |  | ||||||
|     var subflowInstanceRE = /^subflow:(.+)$/; |  | ||||||
|     activeFlowConfig.missingTypes = []; |  | ||||||
|  |  | ||||||
|     for (var id in activeFlowConfig.allNodes) { |  | ||||||
|         if (activeFlowConfig.allNodes.hasOwnProperty(id)) { |  | ||||||
|             var node = activeFlowConfig.allNodes[id]; |  | ||||||
|             if (node.type !== 'tab' && node.type !== 'subflow') { |  | ||||||
|                 var subflowDetails = subflowInstanceRE.exec(node.type); |  | ||||||
|                 if ( (subflowDetails && !activeFlowConfig.subflows[subflowDetails[1]]) || (!subflowDetails && !typeRegistry.get(node.type)) ) { |  | ||||||
|                     if (activeFlowConfig.missingTypes.indexOf(node.type) === -1) { |  | ||||||
|                         activeFlowConfig.missingTypes.push(node.type); |  | ||||||
|                     } |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| } |  | ||||||
|  |  | ||||||
| async function addFlow(flow, user) { | async function addFlow(flow, user) { | ||||||
|     var i,node; |     var i,node; | ||||||
|     if (!flow.hasOwnProperty('nodes')) { |     if (!flow.hasOwnProperty('nodes')) { | ||||||
| @@ -830,7 +811,7 @@ module.exports = { | |||||||
|  |  | ||||||
|     get:getNode, |     get:getNode, | ||||||
|     eachNode: eachNode, |     eachNode: eachNode, | ||||||
|    |  | ||||||
|     /** |     /** | ||||||
|      * Gets the current flow configuration |      * Gets the current flow configuration | ||||||
|      */ |      */ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user