@node-red/runtime
Advanced tools
Comparing version 4.0.0-beta.2 to 4.0.0-beta.3
@@ -681,2 +681,5 @@ /** | ||
} | ||
if (logMessage.hasOwnProperty('cause')) { | ||
errorMessage.error.cause = logMessage.cause; | ||
} | ||
targetCatchNode.receive(errorMessage); | ||
@@ -683,0 +686,0 @@ handled = true; |
@@ -17,3 +17,3 @@ /** | ||
var clone = require("clone"); | ||
const jsonClone = require("rfdc")(); | ||
@@ -144,4 +144,4 @@ var Flow = require('./Flow'); | ||
configSavePromise = loadFlows().then(function(_config) { | ||
config = clone(_config.flows); | ||
newFlowConfig = flowUtil.parseConfig(clone(config)); | ||
config = jsonClone(_config.flows); | ||
newFlowConfig = flowUtil.parseConfig(jsonClone(config)); | ||
type = "full"; | ||
@@ -152,5 +152,5 @@ return _config.rev; | ||
// Clone the provided config so it can be manipulated | ||
config = clone(_config); | ||
config = jsonClone(_config); | ||
// Parse the configuration | ||
newFlowConfig = flowUtil.parseConfig(clone(config)); | ||
newFlowConfig = flowUtil.parseConfig(jsonClone(config)); | ||
// Generate a diff to identify what has changed | ||
@@ -615,3 +615,3 @@ diff = flowUtil.diffConfigs(activeFlowConfig,newFlowConfig); | ||
} | ||
var newConfig = clone(activeConfig.flows); | ||
var newConfig = jsonClone(activeConfig.flows); | ||
newConfig = newConfig.concat(nodes); | ||
@@ -657,3 +657,3 @@ | ||
result.nodes = nodeIds.map(function(nodeId) { | ||
var node = clone(flow.nodes[nodeId]); | ||
var node = jsonClone(flow.nodes[nodeId]); | ||
if (node.type === 'link out') { | ||
@@ -670,3 +670,3 @@ delete node.wires; | ||
result.configs = configIds.map(function(configId) { | ||
const node = clone(flow.configs[configId]); | ||
const node = jsonClone(flow.configs[configId]); | ||
delete node.credentials; | ||
@@ -683,6 +683,6 @@ return node | ||
result.subflows = subflowIds.map(function(subflowId) { | ||
var subflow = clone(flow.subflows[subflowId]); | ||
var subflow = jsonClone(flow.subflows[subflowId]); | ||
var nodeIds = Object.keys(subflow.nodes); | ||
subflow.nodes = nodeIds.map(function(id) { | ||
const node = clone(subflow.nodes[id]) | ||
const node = jsonClone(subflow.nodes[id]) | ||
delete node.credentials | ||
@@ -694,3 +694,3 @@ return node | ||
subflow.configs = configIds.map(function(id) { | ||
const node = clone(subflow.configs[id]) | ||
const node = jsonClone(subflow.configs[id]) | ||
delete node.credentials | ||
@@ -720,3 +720,3 @@ return node | ||
} | ||
var newConfig = clone(activeConfig.flows); | ||
var newConfig = jsonClone(activeConfig.flows); | ||
var nodes; | ||
@@ -791,3 +791,3 @@ | ||
var newConfig = clone(activeConfig.flows); | ||
var newConfig = jsonClone(activeConfig.flows); | ||
newConfig = newConfig.filter(function(node) { | ||
@@ -794,0 +794,0 @@ return node.z !== id && node.id !== id; |
@@ -18,2 +18,3 @@ /** | ||
const clone = require("clone"); | ||
const jsonClone = require("rfdc")(); | ||
const Flow = require('./Flow').Flow; | ||
@@ -112,3 +113,3 @@ const context = require('../nodes/context'); | ||
subflowInternalFlowConfig.subflows = clone(subflowDef.subflows || {}); | ||
subflowInternalFlowConfig.subflows = jsonClone(subflowDef.subflows || {}); | ||
@@ -225,3 +226,3 @@ remapSubflowNodes(subflowInternalFlowConfig.configs,node_map); | ||
subflowInstanceConfig.wires = this.subflowDef.in.map(function(n) { return n.wires.map(function(w) { return self.node_map[w.id].id;})}) | ||
subflowInstanceConfig._originalWires = clone(subflowInstanceConfig.wires); | ||
subflowInstanceConfig._originalWires = jsonClone(subflowInstanceConfig.wires); | ||
} | ||
@@ -250,3 +251,3 @@ | ||
// Restore the original wiring to the internal nodes | ||
subflowInstanceConfig.wires = clone(subflowInstanceConfig._originalWires); | ||
subflowInstanceConfig.wires = jsonClone(subflowInstanceConfig._originalWires); | ||
for (i=0;i<self.subflowDef.out.length;i++) { | ||
@@ -258,3 +259,3 @@ wires = self.subflowDef.out[i].wires; | ||
if (node && node._originalWires) { | ||
node.wires = clone(node._originalWires); | ||
node.wires = jsonClone(node._originalWires); | ||
} | ||
@@ -308,3 +309,3 @@ } | ||
if (!node._originalWires) { | ||
node._originalWires = clone(node.wires); | ||
node._originalWires = jsonClone(node.wires); | ||
} | ||
@@ -332,3 +333,3 @@ node.wires[wires[j].port] = (node.wires[wires[j].port]||[]).concat(this.subflowInstance.wires[i]); | ||
if (!node._originalWires) { | ||
node._originalWires = clone(node.wires); | ||
node._originalWires = jsonClone(node.wires); | ||
} | ||
@@ -473,3 +474,3 @@ node.wires[wires[j].port] = (node.wires[wires[j].port]||[]); | ||
function createNodeInSubflow(subflowInstanceId, def) { | ||
let node = clone(def); | ||
let node = jsonClone(def); | ||
let nid = `${subflowInstanceId}-${node.id}` //redUtil.generateId(); | ||
@@ -476,0 +477,0 @@ // console.log("Create Node In subflow",node._alias, "--->",nid, "(",node.type,")") |
@@ -16,3 +16,3 @@ /** | ||
**/ | ||
const clone = require("clone"); | ||
const jsonClone = require("rfdc")(); | ||
const redUtil = require("@node-red/util").util; | ||
@@ -72,3 +72,3 @@ const Log = require("@node-red/util").log; | ||
const r = redUtil.getSetting(config, envVar, flow); | ||
if (r !== undefined && r !== '') { | ||
if (r !== undefined) { | ||
obj[prop] = r | ||
@@ -180,3 +180,3 @@ } | ||
if (typeof nodeTypeConstructor === "function") { | ||
var conf = clone(config); | ||
var conf = jsonClone(config); | ||
delete conf.credentials; | ||
@@ -208,4 +208,4 @@ try { | ||
subflowInstanceConfig.subflows = subflowConfig.subflows; | ||
var instanceConfig = clone(config); | ||
instanceConfig.env = clone(nodeTypeConstructor.subflow.env); | ||
var instanceConfig = jsonClone(config); | ||
instanceConfig.env = jsonClone(nodeTypeConstructor.subflow.env); | ||
@@ -263,3 +263,3 @@ instanceConfig.env = nodeTypeConstructor.subflow.env.map(nodeProp => { | ||
config.forEach(function (n) { | ||
flow.allNodes[n.id] = clone(n); | ||
flow.allNodes[n.id] = jsonClone(n); | ||
if (n.type === 'tab') { | ||
@@ -266,0 +266,0 @@ flow.flows[n.id] = n; |
@@ -72,3 +72,3 @@ let runtime | ||
topic: "multiplayer/init", | ||
data: getSessionsList(), | ||
data: { sessions: getSessionsList() }, | ||
session: opts.session | ||
@@ -75,0 +75,0 @@ } |
@@ -17,5 +17,4 @@ /** | ||
var path = require("path"); | ||
var fs = require("fs"); | ||
var clone = require("clone"); | ||
const jsonClone = require("rfdc")(); | ||
var util = require("util"); | ||
@@ -102,3 +101,3 @@ | ||
if (creds) { | ||
creds = clone(creds); | ||
creds = jsonClone(creds); | ||
//console.log("Attaching credentials to ",node.id); | ||
@@ -105,0 +104,0 @@ // allow $(foo) syntax to substitute env variables for credentials also... |
@@ -245,3 +245,5 @@ /** | ||
checkActiveProject(name); | ||
return Promise.resolve(activeProject.export()); | ||
return loadProject(name).then(function () { | ||
return Promise.resolve(activeProject.export()); | ||
}); | ||
} | ||
@@ -248,0 +250,0 @@ |
@@ -59,3 +59,2 @@ { | ||
"refresh-failed": "Erneuerung der https-Einstellungen fehlgeschlagen: __message__", | ||
"nodejs-version": "httpsRefreshInterval erfordert Node.js 11 oder höher", | ||
"function-required": "httpsRefreshInterval erfordert die https-Eigenschaft in Form einer Funktion" | ||
@@ -62,0 +61,0 @@ } |
@@ -61,3 +61,2 @@ { | ||
"refresh-failed": "Failed to refresh https settings: __message__", | ||
"nodejs-version": "httpsRefreshInterval requires Node.js 11 or later", | ||
"function-required": "httpsRefreshInterval requires https property to be a function" | ||
@@ -64,0 +63,0 @@ } |
@@ -60,3 +60,2 @@ { | ||
"refresh-failed": "No se pudo actualizar la configuración HTTPS: __message__", | ||
"nodejs-version": "httpsRefreshInterval requiere Node.js 11 o superior", | ||
"function-required": "httpsRefreshInterval requiere que la propiedad HTTPS sea una función" | ||
@@ -63,0 +62,0 @@ } |
@@ -23,2 +23,3 @@ { | ||
"node-version-mismatch": "Le module de noeud ne peut pas être chargé sur cette version. Nécessite : __version__ ", | ||
"set-has-no-types": "L'ensemble n'a aucun type. Nom : '__name__', module : '__module__', fichier : '__file__'", | ||
"type-already-registered": "'__type__' déjà enregistré par le module __module__", | ||
@@ -28,2 +29,3 @@ "removing-modules": "Suppression de modules de la configuration", | ||
"removed-types": "Types de noeuds supprimés :", | ||
"removed-plugins": "Plugins supprimés :", | ||
"install": { | ||
@@ -61,3 +63,2 @@ "invalid": "Nom de module invalide", | ||
"refresh-failed": "Échec de l'actualisation des paramètres https : __message__", | ||
"nodejs-version": "httpsRefreshInterval nécessite Node.js 11 ou version ultérieure", | ||
"function-required": "httpsRefreshInterval nécessite que la propriété https soit une fonction" | ||
@@ -140,3 +141,4 @@ } | ||
"missing-types": "Types manquants", | ||
"error-loop": "Le message a dépassé le nombre maximum de captures (catches)" | ||
"error-loop": "Le message a dépassé le nombre maximum de captures (catches)", | ||
"non-message-returned": "Le noeud a tenté d'envoyer un message du type __type__" | ||
}, | ||
@@ -143,0 +145,0 @@ "index": { |
@@ -28,2 +28,3 @@ { | ||
"removed-types": "削除したノード:", | ||
"removed-plugins": "削除したプラグイン:", | ||
"install": { | ||
@@ -61,3 +62,2 @@ "invalid": "不正なモジュール名", | ||
"refresh-failed": "https設定の更新で失敗しました: __message__", | ||
"nodejs-version": "httpsRefreshIntervalにはNode.js 11以降が必要です", | ||
"function-required": "httpsRefreshIntervalでは、httpsプロパティはfunctionである必要があります" | ||
@@ -64,0 +64,0 @@ } |
@@ -60,3 +60,2 @@ { | ||
"refresh-failed": "Falha ao atualizar as configurações https: __message__", | ||
"nodejs-version": "httpsRefreshInterval requer Node.js 11 ou posterior", | ||
"function-required": "httpsRefreshInterval requer que a propriedade https seja uma função" | ||
@@ -63,0 +62,0 @@ } |
@@ -58,3 +58,2 @@ { | ||
"refresh-failed": "Не удалось обновить настройки https: __message__", | ||
"nodejs-version": "httpsRefreshInterval требует Node.js 11 или выше", | ||
"function-required": "httpsRefreshInterval требует, чтобы свойство https было функцией" | ||
@@ -61,0 +60,0 @@ } |
{ | ||
"name": "@node-red/runtime", | ||
"version": "4.0.0-beta.2", | ||
"version": "4.0.0-beta.3", | ||
"license": "Apache-2.0", | ||
@@ -19,4 +19,4 @@ "main": "./lib/index.js", | ||
"dependencies": { | ||
"@node-red/registry": "4.0.0-beta.2", | ||
"@node-red/util": "4.0.0-beta.2", | ||
"@node-red/registry": "4.0.0-beta.3", | ||
"@node-red/util": "4.0.0-beta.3", | ||
"async-mutex": "0.4.0", | ||
@@ -26,4 +26,5 @@ "clone": "2.1.2", | ||
"fs-extra": "11.1.1", | ||
"json-stringify-safe": "5.0.1" | ||
"json-stringify-safe": "5.0.1", | ||
"rfdc": "^1.3.1" | ||
} | ||
} |
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
622161
14249
8
45
+ Addedrfdc@^1.3.1
+ Added@node-red/registry@4.0.0-beta.3(transitive)
+ Added@node-red/util@4.0.0-beta.3(transitive)
+ Addedminipass@5.0.0(transitive)
+ Addedrfdc@1.4.1(transitive)
+ Addedtar@6.2.1(transitive)
- Removed@node-red/registry@4.0.0-beta.2(transitive)
- Removed@node-red/util@4.0.0-beta.2(transitive)
- Removedminipass@4.2.8(transitive)
- Removedtar@6.1.13(transitive)
Updated@node-red/util@4.0.0-beta.3