mirror of
https://github.com/node-red/node-red.git
synced 2025-03-01 10:36:34 +00:00
Merge 593eb220a6f122128fca9cbee13a6e859726a169 into bb01f26f068b8e083e35fdf19dc9b36f8cf67068
This commit is contained in:
commit
46c7ed0f55
@ -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
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user