@n8n/task-runner 2.37.3 → 2.38.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -9,6 +9,7 @@ export declare class ExecutionError extends SerializableError {
|
|
|
9
9
|
lineNumber: number | undefined;
|
|
10
10
|
constructor(error: ErrorLike, itemIndex?: number);
|
|
11
11
|
private populateFromStack;
|
|
12
|
+
private toMessageRow;
|
|
12
13
|
private toLineNumberDisplay;
|
|
13
14
|
private toErrorDetailsAndType;
|
|
14
15
|
}
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ExecutionError = void 0;
|
|
4
4
|
const serializable_error_1 = require("./serializable-error");
|
|
5
|
+
const STACK_HEADER_REGEX = /^(?<errorType>\S.*?): (?<errorDetails>.+)$/;
|
|
6
|
+
const STACK_FRAME_REGEX = /^\s+at\s/;
|
|
7
|
+
const SOURCE_EXCERPT_CARET_REGEX = /^\s*\^+\s*$/;
|
|
5
8
|
class ExecutionError extends serializable_error_1.SerializableError {
|
|
6
9
|
constructor(error, itemIndex) {
|
|
7
10
|
super(error.message);
|
|
@@ -20,25 +23,19 @@ class ExecutionError extends serializable_error_1.SerializableError {
|
|
|
20
23
|
this.populateFromStack();
|
|
21
24
|
}
|
|
22
25
|
populateFromStack() {
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
this.message = 'Unknown error';
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
const messageRow = stackRows.find((line) => line.includes('Error:'));
|
|
26
|
+
const fallbackMessage = this.message || 'Unknown error';
|
|
27
|
+
const stackRows = (this.stack ?? '').split(/\r?\n/);
|
|
29
28
|
const lineNumberDisplay = this.toLineNumberDisplay(stackRows);
|
|
30
|
-
|
|
31
|
-
this.message = `Unknown error ${lineNumberDisplay}`;
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
const [errorDetails, errorType] = this.toErrorDetailsAndType(messageRow);
|
|
29
|
+
const [errorDetails, errorType] = this.toErrorDetailsAndType(this.toMessageRow(stackRows));
|
|
35
30
|
if (errorType)
|
|
36
31
|
this.description = errorType;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
32
|
+
this.message = `${errorDetails ?? fallbackMessage} ${lineNumberDisplay}`.trim();
|
|
33
|
+
}
|
|
34
|
+
toMessageRow(stackRows) {
|
|
35
|
+
const firstFrameIndex = stackRows.findIndex((row) => STACK_FRAME_REGEX.test(row));
|
|
36
|
+
const headerRows = firstFrameIndex === -1 ? stackRows : stackRows.slice(0, firstFrameIndex);
|
|
37
|
+
const excerptEndIndex = headerRows.reduce((lastCaretIndex, row, index) => SOURCE_EXCERPT_CARET_REGEX.test(row) ? index + 1 : lastCaretIndex, 0);
|
|
38
|
+
return headerRows.slice(excerptEndIndex).find((row) => STACK_HEADER_REGEX.test(row));
|
|
42
39
|
}
|
|
43
40
|
toLineNumberDisplay(stackRows) {
|
|
44
41
|
if (!stackRows || stackRows.length === 0)
|
|
@@ -64,21 +61,11 @@ class ExecutionError extends serializable_error_1.SerializableError {
|
|
|
64
61
|
: `[line ${this.lineNumber}, for item ${this.itemIndex}]`;
|
|
65
62
|
}
|
|
66
63
|
toErrorDetailsAndType(messageRow) {
|
|
67
|
-
|
|
64
|
+
const groups = messageRow?.match(STACK_HEADER_REGEX)?.groups;
|
|
65
|
+
if (!groups)
|
|
68
66
|
return [null, null];
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
segments[1] = `${segments[1]}:${segments[2]}`;
|
|
72
|
-
segments.splice(2, 1);
|
|
73
|
-
}
|
|
74
|
-
if (segments.length >= 3 &&
|
|
75
|
-
segments[1]?.startsWith("Module 'node") &&
|
|
76
|
-
segments[2]?.includes("' is disallowed")) {
|
|
77
|
-
segments[1] = `${segments[1]}:${segments[2]}`;
|
|
78
|
-
segments.splice(2, 1);
|
|
79
|
-
}
|
|
80
|
-
const [errorDetails, errorType] = segments.reverse();
|
|
81
|
-
return [errorDetails, errorType === 'Error' ? null : errorType];
|
|
67
|
+
const { errorType, errorDetails } = groups;
|
|
68
|
+
return [errorDetails.trim() || null, errorType.toLowerCase() === 'error' ? null : errorType];
|
|
82
69
|
}
|
|
83
70
|
}
|
|
84
71
|
exports.ExecutionError = ExecutionError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-error.js","sourceRoot":"","sources":["../../../src/js-task-runner/errors/execution-error.ts"],"names":[],"mappings":";;;AACA,6DAAyD;
|
|
1
|
+
{"version":3,"file":"execution-error.js","sourceRoot":"","sources":["../../../src/js-task-runner/errors/execution-error.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@n8n/task-runner",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.38.1",
|
|
4
4
|
"main": "dist/start.js",
|
|
5
5
|
"module": "src/start.ts",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"files": [
|
|
8
8
|
"dist/**/*",
|
|
9
|
-
"
|
|
10
|
-
"
|
|
9
|
+
"LICENSE_EE.md",
|
|
10
|
+
"LICENSE.md"
|
|
11
11
|
],
|
|
12
12
|
"exports": {
|
|
13
13
|
"./start": {
|
|
@@ -30,12 +30,12 @@
|
|
|
30
30
|
"luxon": "3.7.2",
|
|
31
31
|
"nanoid": "3.3.18",
|
|
32
32
|
"ws": "^8.18.0",
|
|
33
|
-
"@n8n/config": "2.
|
|
33
|
+
"@n8n/config": "2.36.1",
|
|
34
34
|
"@n8n/di": "0.16.0",
|
|
35
35
|
"@n8n/errors": "0.13.0",
|
|
36
|
-
"n8n
|
|
37
|
-
"
|
|
38
|
-
"n8n-workflow": "2.
|
|
36
|
+
"@n8n/utils": "1.46.1",
|
|
37
|
+
"n8n-core": "2.38.1",
|
|
38
|
+
"n8n-workflow": "2.38.1"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@types/lodash": "4.17.17",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"vite": "^8.0.2",
|
|
47
47
|
"vitest": "^4.1.9",
|
|
48
48
|
"vitest-mock-extended": "^3.1.0",
|
|
49
|
-
"@n8n/typescript-config": "1.
|
|
49
|
+
"@n8n/typescript-config": "1.11.0",
|
|
50
50
|
"@n8n/vitest-config": "1.21.0"
|
|
51
51
|
},
|
|
52
52
|
"license": "SEE LICENSE IN LICENSE.md",
|