@node-red/runtime
Advanced tools
Comparing version 2.2.0 to 2.2.1
@@ -80,7 +80,2 @@ /** | ||
delete conf.credentials; | ||
for (var p in conf) { | ||
if (conf.hasOwnProperty(p)) { | ||
mapEnvVarProperties(conf,p,flow,conf); | ||
} | ||
} | ||
try { | ||
@@ -90,2 +85,8 @@ Object.defineProperty(conf,'_module', {value: typeRegistry.getNodeInfo(type), enumerable: false, writable: true }) | ||
Object.defineProperty(conf,'_path', {value: `${flow.path}/${config._alias||config.id}`, enumerable: false, writable: true }) | ||
for (var p in conf) { | ||
if (conf.hasOwnProperty(p)) { | ||
mapEnvVarProperties(conf,p,flow,conf); | ||
} | ||
} | ||
newNode = new nodeTypeConstructor(conf); | ||
@@ -92,0 +93,0 @@ } catch (err) { |
@@ -506,6 +506,21 @@ /** | ||
// See https://github.com/node-red/node-red/issues/3327 | ||
// See https://github.com/node-red/node-red/issues/3389 | ||
let srcError; | ||
if (msg instanceof Error) { | ||
srcError = msg;//use existing err object for actual stack | ||
} else { | ||
srcError = new Error(msg);//generate a new error for generate a stack | ||
} | ||
try { | ||
self._flow.log(o); | ||
if(self instanceof Node && self._flow) { | ||
self._flow.log(o); | ||
} else { | ||
//if self._flow is not present, this is not a node-red Node | ||
//Set info to "Node object is not a node-red Node" to point out the `Node type` problem in log | ||
logUnexpectedError(self, srcError, "Node object is not a node-red Node") | ||
} | ||
} catch(err) { | ||
logUnexpectedError(self, err) | ||
//build an unexpected error report indicating using the original error (for better stack trace) | ||
logUnexpectedError(self, srcError, `An error occured attempting to make a log entry: ${err}`) | ||
} | ||
@@ -535,3 +550,3 @@ } | ||
var handled = false; | ||
if (msg && typeof msg === 'object') { | ||
if (this._flow && msg && typeof msg === 'object') { | ||
handled = this._flow.handleError(this,logMessage,msg); | ||
@@ -624,25 +639,32 @@ } | ||
function logUnexpectedError(node, error) { | ||
let moduleInfo = node._module?`${node._module.module}@${node._module.version}`:"undefined" | ||
Log.error(` | ||
function logUnexpectedError(node, error, info) { | ||
const header = ` | ||
******************************************************************** | ||
Unexpected Node Error | ||
${error.stack} | ||
Node: | ||
Type: ${node.type} | ||
Module: ${moduleInfo} | ||
ID: ${node._alias||node.id} | ||
Properties: | ||
${inspectObject(node)} | ||
Flow: ${node._flow?node._flow.path:'undefined'} | ||
Type: ${node._flow?node._flow.TYPE:'undefined'} | ||
Properties: | ||
${node._flow?inspectObject(node._flow):'undefined'} | ||
********************************************************************`; | ||
const footer = ` | ||
Please report this issue, including the information logged above: | ||
https://github.com/node-red/node-red/issues/ | ||
******************************************************************** | ||
`) | ||
********************************************************************`; | ||
let detail = [`Info:\n ${info || 'No additional info'}`]; | ||
//Include Error info? | ||
if(error && error.stack){ | ||
detail.push(`Stack:\n ${error.stack}`) | ||
} | ||
//Include Node info? | ||
if(node && (node._module || node.type)){ | ||
const moduleInfo = node._module?`${node._module.module}@${node._module.version}`:"undefined"; | ||
const id = node._alias||node.id||"undefined"; | ||
detail.push(`Node:\n Type: ${node.type}\n Module: ${moduleInfo}\n ID: ${id}\n Properties:\n ${inspectObject(node)}`) | ||
} | ||
//Include Flow info? | ||
if(node && node._flow){ | ||
detail.push(`Flow: ${node._flow.path}\n Type: ${node._flow.TYPE}\n Properties:\n ${inspectObject(node._flow)}`) | ||
} | ||
Log.error(`${header}\n${detail.join("\n")}\n${footer}`); | ||
} | ||
module.exports = Node; |
{ | ||
"name": "@node-red/runtime", | ||
"version": "2.2.0", | ||
"version": "2.2.1", | ||
"license": "Apache-2.0", | ||
@@ -19,4 +19,4 @@ "main": "./lib/index.js", | ||
"dependencies": { | ||
"@node-red/registry": "2.2.0", | ||
"@node-red/util": "2.2.0", | ||
"@node-red/registry": "2.2.1", | ||
"@node-red/util": "2.2.1", | ||
"async-mutex": "0.3.2", | ||
@@ -23,0 +23,0 @@ "clone": "2.1.2", |
548319
12851
+ Added@node-red/registry@2.2.1(transitive)
+ Added@node-red/util@2.2.1(transitive)
+ Addedi18next@21.6.11(transitive)
+ Addedjsonata@1.8.6(transitive)
+ Addeduglify-js@3.15.1(transitive)
- Removed@node-red/registry@2.2.0(transitive)
- Removed@node-red/util@2.2.0(transitive)
- Removedi18next@21.6.10(transitive)
- Removedjsonata@1.8.5(transitive)
- Removeduglify-js@3.15.0(transitive)
Updated@node-red/registry@2.2.1
Updated@node-red/util@2.2.1