Do not import `global-config` if it only contains modules

pull/4941/head
GogoVega 2024-11-01 14:25:45 +01:00
parent c7fd2e3cdf
commit 53f204d8b9
No known key found for this signature in database
GPG Key ID: E1E048B63AC5AC2B
1 changed files with 23 additions and 2 deletions

View File

@ -5676,17 +5676,38 @@ RED.view = (function() {
filteredNodesToImport = nodesToImport.filter(function (n) {
if (n.type === "global-config") {
importedGlobalConfig = n
// Do not import it if one exists
// The properties of this one will be merged after import
return false
}
return true
});
} else {
filteredNodesToImport = nodesToImport.filter(function (n) {
if (n.type === "global-config") {
importedGlobalConfig = n
if (n.env && n.env.length) {
// No existing global-config
// Contains env and maybe modules, so import it
return true
}
// Contains modules only - do not import it
return false
}
return true
});
}
const modules = importedGlobalConfig?.modules || {}
// Ensure do not import modules - since it can contain it
delete importedGlobalConfig?.modules
var result = RED.nodes.import(filteredNodesToImport,{
generateIds: options.generateIds,
addFlow: addNewFlow,
importMap: options.importMap,
markChanged: true,
modules: importedGlobalConfig ? (importedGlobalConfig.modules || {}) : {}
modules: modules
});
if (result) {
var new_nodes = result.nodes;
@ -5810,7 +5831,7 @@ RED.view = (function() {
}
}
if (importedGlobalConfig) {
if (importedGlobalConfig && existingGlobalConfig) {
// merge global env to existing global-config
var existingEnv = existingGlobalConfig.env || [];
var importedEnv = importedGlobalConfig.env || []