n8n-workflow-validator 1.2.0 → 1.3.0
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.
- package/dist/core/fixer.d.ts.map +1 -1
- package/dist/core/fixer.js +120 -1
- package/dist/core/fixer.js.map +1 -1
- package/package.json +1 -1
package/dist/core/fixer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixer.d.ts","sourceRoot":"","sources":["../../src/core/fixer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;CACtC;
|
|
1
|
+
{"version":3,"file":"fixer.d.ts","sourceRoot":"","sources":["../../src/core/fixer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;CACtC;AAwLD,QAAA,MAAM,wBAAwB,EAAE,eAAe,EAI9C,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAClB,KAAK,GAAE,eAAe,EAA6B,GAClD,SAAS,CAQX;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAErE;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
|
package/dist/core/fixer.js
CHANGED
|
@@ -38,7 +38,126 @@ const fixEmptyOptionsOnConditionalNodes = {
|
|
|
38
38
|
return { fixed, warnings };
|
|
39
39
|
},
|
|
40
40
|
};
|
|
41
|
-
|
|
41
|
+
/**
|
|
42
|
+
* Fix Switch v3+ rule conditions missing 'options' object.
|
|
43
|
+
* Each rule's conditions must have options: { caseSensitive, leftValue, typeValidation, version }
|
|
44
|
+
*/
|
|
45
|
+
const fixSwitchV3RuleConditionsOptions = {
|
|
46
|
+
id: 'switch-v3-rule-conditions-options',
|
|
47
|
+
description: "Add missing 'options' object to Switch v3+ rule conditions (required by n8n schema).",
|
|
48
|
+
apply(workflow) {
|
|
49
|
+
const warnings = [];
|
|
50
|
+
let fixed = 0;
|
|
51
|
+
if (!Array.isArray(workflow.nodes)) {
|
|
52
|
+
return { fixed, warnings };
|
|
53
|
+
}
|
|
54
|
+
for (const node of workflow.nodes) {
|
|
55
|
+
if (!node || typeof node !== 'object')
|
|
56
|
+
continue;
|
|
57
|
+
// Only apply to Switch v3+
|
|
58
|
+
if (node.type !== 'n8n-nodes-base.switch')
|
|
59
|
+
continue;
|
|
60
|
+
if (typeof node.typeVersion !== 'number' || node.typeVersion < 3)
|
|
61
|
+
continue;
|
|
62
|
+
const parameters = node.parameters;
|
|
63
|
+
if (!parameters)
|
|
64
|
+
continue;
|
|
65
|
+
const rules = parameters.rules;
|
|
66
|
+
if (!rules || typeof rules !== 'object')
|
|
67
|
+
continue;
|
|
68
|
+
const values = rules.values;
|
|
69
|
+
if (!Array.isArray(values))
|
|
70
|
+
continue;
|
|
71
|
+
for (const rule of values) {
|
|
72
|
+
if (!rule || typeof rule !== 'object')
|
|
73
|
+
continue;
|
|
74
|
+
const conditions = rule.conditions;
|
|
75
|
+
if (!conditions || typeof conditions !== 'object')
|
|
76
|
+
continue;
|
|
77
|
+
// Check if options is missing or incomplete
|
|
78
|
+
let needsFix = false;
|
|
79
|
+
let opts = conditions.options;
|
|
80
|
+
if (!opts || typeof opts !== 'object') {
|
|
81
|
+
opts = {};
|
|
82
|
+
needsFix = true;
|
|
83
|
+
}
|
|
84
|
+
// Ensure required fields exist
|
|
85
|
+
if (!('caseSensitive' in opts)) {
|
|
86
|
+
opts.caseSensitive = true;
|
|
87
|
+
needsFix = true;
|
|
88
|
+
}
|
|
89
|
+
if (!('leftValue' in opts)) {
|
|
90
|
+
opts.leftValue = '';
|
|
91
|
+
needsFix = true;
|
|
92
|
+
}
|
|
93
|
+
if (!('typeValidation' in opts)) {
|
|
94
|
+
opts.typeValidation = 'strict';
|
|
95
|
+
needsFix = true;
|
|
96
|
+
}
|
|
97
|
+
// Add version: 2 for Switch v3.2+
|
|
98
|
+
if (node.typeVersion >= 3.2 && !('version' in opts)) {
|
|
99
|
+
opts.version = 2;
|
|
100
|
+
needsFix = true;
|
|
101
|
+
}
|
|
102
|
+
if (needsFix) {
|
|
103
|
+
conditions.options = opts;
|
|
104
|
+
fixed++;
|
|
105
|
+
warnings.push(`Fixed node "${node.name}": Added missing 'options' to rule conditions`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return { fixed, warnings };
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* Fix Switch v3+ fallbackOutput in wrong location.
|
|
114
|
+
* Should be at parameters.options.fallbackOutput, not parameters.rules.fallbackOutput
|
|
115
|
+
*/
|
|
116
|
+
const fixSwitchV3FallbackOutputLocation = {
|
|
117
|
+
id: 'switch-v3-fallback-output-location',
|
|
118
|
+
description: "Move 'fallbackOutput' from rules to options for Switch v3+ nodes.",
|
|
119
|
+
apply(workflow) {
|
|
120
|
+
const warnings = [];
|
|
121
|
+
let fixed = 0;
|
|
122
|
+
if (!Array.isArray(workflow.nodes)) {
|
|
123
|
+
return { fixed, warnings };
|
|
124
|
+
}
|
|
125
|
+
for (const node of workflow.nodes) {
|
|
126
|
+
if (!node || typeof node !== 'object')
|
|
127
|
+
continue;
|
|
128
|
+
// Only apply to Switch v3+
|
|
129
|
+
if (node.type !== 'n8n-nodes-base.switch')
|
|
130
|
+
continue;
|
|
131
|
+
if (typeof node.typeVersion !== 'number' || node.typeVersion < 3)
|
|
132
|
+
continue;
|
|
133
|
+
const parameters = node.parameters;
|
|
134
|
+
if (!parameters)
|
|
135
|
+
continue;
|
|
136
|
+
const rules = parameters.rules;
|
|
137
|
+
if (!rules || typeof rules !== 'object')
|
|
138
|
+
continue;
|
|
139
|
+
// Check if fallbackOutput is incorrectly in rules
|
|
140
|
+
if ('fallbackOutput' in rules) {
|
|
141
|
+
const fallbackValue = rules.fallbackOutput;
|
|
142
|
+
delete rules.fallbackOutput;
|
|
143
|
+
// Ensure options object exists
|
|
144
|
+
if (!parameters.options || typeof parameters.options !== 'object') {
|
|
145
|
+
parameters.options = {};
|
|
146
|
+
}
|
|
147
|
+
// Move to options
|
|
148
|
+
parameters.options.fallbackOutput = fallbackValue;
|
|
149
|
+
fixed++;
|
|
150
|
+
warnings.push(`Fixed node "${node.name}": Moved 'fallbackOutput' from rules to options`);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return { fixed, warnings };
|
|
154
|
+
},
|
|
155
|
+
};
|
|
156
|
+
const defaultExperimentalFixes = [
|
|
157
|
+
fixEmptyOptionsOnConditionalNodes,
|
|
158
|
+
fixSwitchV3RuleConditionsOptions,
|
|
159
|
+
fixSwitchV3FallbackOutputLocation,
|
|
160
|
+
];
|
|
42
161
|
export function applyExperimentalFixes(workflow, fixes = defaultExperimentalFixes) {
|
|
43
162
|
const results = [];
|
|
44
163
|
for (const fix of fixes) {
|
package/dist/core/fixer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixer.js","sourceRoot":"","sources":["../../src/core/fixer.ts"],"names":[],"mappings":"AAaA,SAAS,eAAe,CAAC,OAAoB;IAC3C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;QACtB,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,iCAAiC,GAAoB;IACzD,EAAE,EAAE,yBAAyB;IAC7B,WAAW,EAAE,mFAAmF;IAChG,KAAK,CAAC,QAAkB;QACtB,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC7B,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAEhD,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBAC/E,MAAM,UAAU,GAAI,IAAY,CAAC,UAAU,CAAC;gBAE5C,IACE,UAAU;oBACV,OAAO,UAAU,KAAK,QAAQ;oBAC9B,SAAS,IAAI,UAAU;oBACvB,OAAQ,UAAkB,CAAC,OAAO,KAAK,QAAQ;oBAC9C,UAAkB,CAAC,OAAO,KAAK,IAAI;oBACpC,MAAM,CAAC,IAAI,CAAE,UAAkB,CAAC,OAAiB,CAAC,CAAC,MAAM,KAAK,CAAC,EAC/D,CAAC;oBACD,OAAQ,UAAkB,CAAC,OAAO,CAAC;oBACnC,KAAK,EAAE,CAAC;oBACR,QAAQ,CAAC,IAAI,CACX,eAAgB,IAAY,CAAC,IAAI,+DAA+D,CACjG,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC7B,CAAC;CACF,CAAC;AAEF,MAAM,
|
|
1
|
+
{"version":3,"file":"fixer.js","sourceRoot":"","sources":["../../src/core/fixer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED