@n8n/eslint-plugin-community-nodes 0.22.0 → 0.24.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/.turbo/turbo-build.log +4 -0
- package/README.md +5 -0
- package/dist/plugin.d.ts +30 -0
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +10 -0
- package/dist/plugin.js.map +1 -1
- package/dist/rules/index.d.ts +5 -0
- package/dist/rules/index.d.ts.map +1 -1
- package/dist/rules/index.js +10 -0
- package/dist/rules/index.js.map +1 -1
- package/dist/rules/no-asterisk-in-option-names.d.ts +2 -0
- package/dist/rules/no-asterisk-in-option-names.d.ts.map +1 -0
- package/dist/rules/no-asterisk-in-option-names.js +90 -0
- package/dist/rules/no-asterisk-in-option-names.js.map +1 -0
- package/dist/rules/no-duplicate-param-options.d.ts +2 -0
- package/dist/rules/no-duplicate-param-options.d.ts.map +1 -0
- package/dist/rules/no-duplicate-param-options.js +97 -0
- package/dist/rules/no-duplicate-param-options.js.map +1 -0
- package/dist/rules/require-mit-license.d.ts +2 -0
- package/dist/rules/require-mit-license.d.ts.map +1 -0
- package/dist/rules/require-mit-license.js +57 -0
- package/dist/rules/require-mit-license.js.map +1 -0
- package/dist/rules/require-param-default.d.ts +15 -0
- package/dist/rules/require-param-default.d.ts.map +1 -0
- package/dist/rules/require-param-default.js +75 -0
- package/dist/rules/require-param-default.js.map +1 -0
- package/dist/rules/trigger-node-conventions.d.ts +2 -0
- package/dist/rules/trigger-node-conventions.d.ts.map +1 -0
- package/dist/rules/trigger-node-conventions.js +70 -0
- package/dist/rules/trigger-node-conventions.js.map +1 -0
- package/dist/typecheck.tsbuildinfo +1 -1
- package/docs/rules/no-asterisk-in-option-names.md +61 -0
- package/docs/rules/no-duplicate-param-options.md +46 -0
- package/docs/rules/require-mit-license.md +38 -0
- package/docs/rules/require-param-default.md +60 -0
- package/docs/rules/trigger-node-conventions.md +49 -0
- package/package.json +6 -5
- package/src/plugin.ts +10 -0
- package/src/rules/index.ts +10 -0
- package/src/rules/no-asterisk-in-option-names.test.ts +185 -0
- package/src/rules/no-asterisk-in-option-names.ts +111 -0
- package/src/rules/no-duplicate-param-options.test.ts +125 -0
- package/src/rules/no-duplicate-param-options.ts +125 -0
- package/src/rules/no-forbidden-lifecycle-scripts.test.ts +2 -2
- package/src/rules/require-mit-license.test.ts +67 -0
- package/src/rules/require-mit-license.ts +65 -0
- package/src/rules/require-param-default.test.ts +227 -0
- package/src/rules/require-param-default.ts +89 -0
- package/src/rules/trigger-node-conventions.test.ts +110 -0
- package/src/rules/trigger-node-conventions.ts +92 -0
- package/.turbo/turbo-build$colon$unchecked.log +0 -4
package/README.md
CHANGED
|
@@ -59,10 +59,12 @@ export default [
|
|
|
59
59
|
| [icon-validation](docs/rules/icon-validation.md) | Validate node and credential icon files exist, use the file: protocol, and that light/dark icons are different | ✅ ☑️ | | | 💡 | |
|
|
60
60
|
| [missing-paired-item](docs/rules/missing-paired-item.md) | Require pairedItem on INodeExecutionData objects in execute() methods to preserve item linking. | ✅ ☑️ | | | | |
|
|
61
61
|
| [n8n-object-validation](docs/rules/n8n-object-validation.md) | Validate the structure of the "n8n" object in community node package.json (required keys, types, and dist/ paths) | ✅ ☑️ | | | | |
|
|
62
|
+
| [no-asterisk-in-option-names](docs/rules/no-asterisk-in-option-names.md) | Disallow asterisk characters in node option name values | | ✅ ☑️ | | 💡 | |
|
|
62
63
|
| [no-builder-hint-leakage](docs/rules/no-builder-hint-leakage.md) | Disallow wire-format expression syntax (={{...}}) and NodeConnectionType string literals in builderHint texts and AI-builder prompts. Use expr() and SDK-canonical references instead. | ✅ ☑️ | | | | |
|
|
63
64
|
| [no-credential-reuse](docs/rules/no-credential-reuse.md) | Prevent credential re-use security issues by ensuring nodes only reference credentials from the same package | ✅ ☑️ | | | 💡 | |
|
|
64
65
|
| [no-dangerous-functions](docs/rules/no-dangerous-functions.md) | Disallow `eval`, the `Function` constructor, and `child_process` process-spawning functions (`exec`, `spawn`, etc.) in community nodes. | ✅ ☑️ | | | | |
|
|
65
66
|
| [no-deprecated-workflow-functions](docs/rules/no-deprecated-workflow-functions.md) | Disallow usage of deprecated functions and types from n8n-workflow package | ✅ ☑️ | | | 💡 | |
|
|
67
|
+
| [no-duplicate-param-options](docs/rules/no-duplicate-param-options.md) | Disallow duplicate option names or values within a single node parameter | | ✅ ☑️ | | | |
|
|
66
68
|
| [no-emoji-in-options](docs/rules/no-emoji-in-options.md) | Disallow emoji characters in node option name and displayName values | ✅ ☑️ | | | | |
|
|
67
69
|
| [no-forbidden-lifecycle-scripts](docs/rules/no-forbidden-lifecycle-scripts.md) | Ban lifecycle scripts (prepare, preinstall, postinstall, etc.) in community node packages | ✅ ☑️ | | | | |
|
|
68
70
|
| [no-http-request-with-manual-auth](docs/rules/no-http-request-with-manual-auth.md) | Disallow this.helpers.httpRequest() in functions that call this.getCredentials(). Use this.helpers.httpRequestWithAuthentication() instead. | ✅ ☑️ | | | | |
|
|
@@ -82,10 +84,13 @@ export default [
|
|
|
82
84
|
| [package-name-convention](docs/rules/package-name-convention.md) | Enforce correct package naming convention for n8n community nodes | ✅ ☑️ | | | 💡 | |
|
|
83
85
|
| [require-community-node-keyword](docs/rules/require-community-node-keyword.md) | Require the "n8n-community-node-package" keyword in community node package.json | | ✅ ☑️ | 🔧 | | |
|
|
84
86
|
| [require-continue-on-fail](docs/rules/require-continue-on-fail.md) | Require continueOnFail() handling in execute() methods of node classes | ✅ ☑️ | | | | |
|
|
87
|
+
| [require-mit-license](docs/rules/require-mit-license.md) | Require the "license" field in community node package.json to be "MIT" | ✅ ☑️ | | 🔧 | | |
|
|
85
88
|
| [require-node-api-error](docs/rules/require-node-api-error.md) | Require NodeApiError or NodeOperationError for error wrapping in catch blocks. Raw errors lose HTTP context in the n8n UI. | ✅ ☑️ | | | | |
|
|
86
89
|
| [require-node-description-fields](docs/rules/require-node-description-fields.md) | Node class description must define all required fields: icon, subtitle | ✅ ☑️ | | | | |
|
|
90
|
+
| [require-param-default](docs/rules/require-param-default.md) | Require every node parameter to declare a default value. | ✅ ☑️ | | | | |
|
|
87
91
|
| [require-version](docs/rules/require-version.md) | Require a valid "version" field in community node package.json | ✅ ☑️ | | | | |
|
|
88
92
|
| [resource-operation-pattern](docs/rules/resource-operation-pattern.md) | Enforce proper resource/operation pattern for better UX in n8n nodes | | ✅ ☑️ | | | |
|
|
93
|
+
| [trigger-node-conventions](docs/rules/trigger-node-conventions.md) | Trigger nodes (class name ends with `Trigger`) must label themselves consistently as triggers | ✅ ☑️ | | | | |
|
|
89
94
|
| [valid-author](docs/rules/valid-author.md) | Require a non-empty author name and email in package.json | ✅ ☑️ | | | | |
|
|
90
95
|
| [valid-credential-references](docs/rules/valid-credential-references.md) | Ensure credentials referenced in node descriptions exist as credential classes in the package | ✅ ☑️ | | | 💡 | |
|
|
91
96
|
| [valid-description](docs/rules/valid-description.md) | Require a non-empty "description" field in community node package.json | ✅ ☑️ | | | | |
|
package/dist/plugin.d.ts
CHANGED
|
@@ -21,6 +21,8 @@ declare const configs: {
|
|
|
21
21
|
'@n8n/community-nodes/n8n-object-validation': "error";
|
|
22
22
|
'@n8n/community-nodes/no-deprecated-workflow-functions': "error";
|
|
23
23
|
'@n8n/community-nodes/no-emoji-in-options': "error";
|
|
24
|
+
'@n8n/community-nodes/no-asterisk-in-option-names': "warn";
|
|
25
|
+
'@n8n/community-nodes/no-duplicate-param-options': "warn";
|
|
24
26
|
'@n8n/community-nodes/node-usable-as-tool': "error";
|
|
25
27
|
'@n8n/community-nodes/package-name-convention': "error";
|
|
26
28
|
'@n8n/community-nodes/credential-test-required': "error";
|
|
@@ -35,6 +37,7 @@ declare const configs: {
|
|
|
35
37
|
'@n8n/community-nodes/icon-prefer-themed-variants': "warn";
|
|
36
38
|
'@n8n/community-nodes/options-sorted-alphabetically': "warn";
|
|
37
39
|
'@n8n/community-nodes/resource-operation-pattern': "warn";
|
|
40
|
+
'@n8n/community-nodes/trigger-node-conventions': "error";
|
|
38
41
|
'@n8n/community-nodes/credential-documentation-url': "error";
|
|
39
42
|
'@n8n/community-nodes/cred-class-field-icon-missing': "error";
|
|
40
43
|
'@n8n/community-nodes/cred-class-name-field-conventions': "error";
|
|
@@ -50,8 +53,10 @@ declare const configs: {
|
|
|
50
53
|
'@n8n/community-nodes/node-registration-complete': "warn";
|
|
51
54
|
'@n8n/community-nodes/require-community-node-keyword': "warn";
|
|
52
55
|
'@n8n/community-nodes/require-continue-on-fail': "error";
|
|
56
|
+
'@n8n/community-nodes/require-mit-license': "error";
|
|
53
57
|
'@n8n/community-nodes/require-node-api-error': "error";
|
|
54
58
|
'@n8n/community-nodes/require-node-description-fields': "error";
|
|
59
|
+
'@n8n/community-nodes/require-param-default': "error";
|
|
55
60
|
'@n8n/community-nodes/require-version': "error";
|
|
56
61
|
'@n8n/community-nodes/valid-author': "error";
|
|
57
62
|
'@n8n/community-nodes/valid-credential-references': "error";
|
|
@@ -78,6 +83,8 @@ declare const configs: {
|
|
|
78
83
|
'@n8n/community-nodes/n8n-object-validation': "error";
|
|
79
84
|
'@n8n/community-nodes/no-deprecated-workflow-functions': "error";
|
|
80
85
|
'@n8n/community-nodes/no-emoji-in-options': "error";
|
|
86
|
+
'@n8n/community-nodes/no-asterisk-in-option-names': "warn";
|
|
87
|
+
'@n8n/community-nodes/no-duplicate-param-options': "warn";
|
|
81
88
|
'@n8n/community-nodes/node-usable-as-tool': "error";
|
|
82
89
|
'@n8n/community-nodes/package-name-convention': "error";
|
|
83
90
|
'@n8n/community-nodes/credential-test-required': "error";
|
|
@@ -93,6 +100,7 @@ declare const configs: {
|
|
|
93
100
|
'@n8n/community-nodes/options-sorted-alphabetically': "warn";
|
|
94
101
|
'@n8n/community-nodes/credential-documentation-url': "error";
|
|
95
102
|
'@n8n/community-nodes/resource-operation-pattern': "warn";
|
|
103
|
+
'@n8n/community-nodes/trigger-node-conventions': "error";
|
|
96
104
|
'@n8n/community-nodes/cred-class-field-icon-missing': "error";
|
|
97
105
|
'@n8n/community-nodes/cred-class-name-field-conventions': "error";
|
|
98
106
|
'@n8n/community-nodes/cred-class-name-suffix': "error";
|
|
@@ -107,8 +115,10 @@ declare const configs: {
|
|
|
107
115
|
'@n8n/community-nodes/node-registration-complete': "warn";
|
|
108
116
|
'@n8n/community-nodes/require-community-node-keyword': "warn";
|
|
109
117
|
'@n8n/community-nodes/require-continue-on-fail': "error";
|
|
118
|
+
'@n8n/community-nodes/require-mit-license': "error";
|
|
110
119
|
'@n8n/community-nodes/require-node-api-error': "error";
|
|
111
120
|
'@n8n/community-nodes/require-node-description-fields': "error";
|
|
121
|
+
'@n8n/community-nodes/require-param-default': "error";
|
|
112
122
|
'@n8n/community-nodes/require-version': "error";
|
|
113
123
|
'@n8n/community-nodes/valid-author': "error";
|
|
114
124
|
'@n8n/community-nodes/valid-credential-references': "error";
|
|
@@ -140,6 +150,8 @@ declare const pluginWithConfigs: {
|
|
|
140
150
|
'@n8n/community-nodes/n8n-object-validation': "error";
|
|
141
151
|
'@n8n/community-nodes/no-deprecated-workflow-functions': "error";
|
|
142
152
|
'@n8n/community-nodes/no-emoji-in-options': "error";
|
|
153
|
+
'@n8n/community-nodes/no-asterisk-in-option-names': "warn";
|
|
154
|
+
'@n8n/community-nodes/no-duplicate-param-options': "warn";
|
|
143
155
|
'@n8n/community-nodes/node-usable-as-tool': "error";
|
|
144
156
|
'@n8n/community-nodes/package-name-convention': "error";
|
|
145
157
|
'@n8n/community-nodes/credential-test-required': "error";
|
|
@@ -154,6 +166,7 @@ declare const pluginWithConfigs: {
|
|
|
154
166
|
'@n8n/community-nodes/icon-prefer-themed-variants': "warn";
|
|
155
167
|
'@n8n/community-nodes/options-sorted-alphabetically': "warn";
|
|
156
168
|
'@n8n/community-nodes/resource-operation-pattern': "warn";
|
|
169
|
+
'@n8n/community-nodes/trigger-node-conventions': "error";
|
|
157
170
|
'@n8n/community-nodes/credential-documentation-url': "error";
|
|
158
171
|
'@n8n/community-nodes/cred-class-field-icon-missing': "error";
|
|
159
172
|
'@n8n/community-nodes/cred-class-name-field-conventions': "error";
|
|
@@ -169,8 +182,10 @@ declare const pluginWithConfigs: {
|
|
|
169
182
|
'@n8n/community-nodes/node-registration-complete': "warn";
|
|
170
183
|
'@n8n/community-nodes/require-community-node-keyword': "warn";
|
|
171
184
|
'@n8n/community-nodes/require-continue-on-fail': "error";
|
|
185
|
+
'@n8n/community-nodes/require-mit-license': "error";
|
|
172
186
|
'@n8n/community-nodes/require-node-api-error': "error";
|
|
173
187
|
'@n8n/community-nodes/require-node-description-fields': "error";
|
|
188
|
+
'@n8n/community-nodes/require-param-default': "error";
|
|
174
189
|
'@n8n/community-nodes/require-version': "error";
|
|
175
190
|
'@n8n/community-nodes/valid-author': "error";
|
|
176
191
|
'@n8n/community-nodes/valid-credential-references': "error";
|
|
@@ -197,6 +212,8 @@ declare const pluginWithConfigs: {
|
|
|
197
212
|
'@n8n/community-nodes/n8n-object-validation': "error";
|
|
198
213
|
'@n8n/community-nodes/no-deprecated-workflow-functions': "error";
|
|
199
214
|
'@n8n/community-nodes/no-emoji-in-options': "error";
|
|
215
|
+
'@n8n/community-nodes/no-asterisk-in-option-names': "warn";
|
|
216
|
+
'@n8n/community-nodes/no-duplicate-param-options': "warn";
|
|
200
217
|
'@n8n/community-nodes/node-usable-as-tool': "error";
|
|
201
218
|
'@n8n/community-nodes/package-name-convention': "error";
|
|
202
219
|
'@n8n/community-nodes/credential-test-required': "error";
|
|
@@ -212,6 +229,7 @@ declare const pluginWithConfigs: {
|
|
|
212
229
|
'@n8n/community-nodes/options-sorted-alphabetically': "warn";
|
|
213
230
|
'@n8n/community-nodes/credential-documentation-url': "error";
|
|
214
231
|
'@n8n/community-nodes/resource-operation-pattern': "warn";
|
|
232
|
+
'@n8n/community-nodes/trigger-node-conventions': "error";
|
|
215
233
|
'@n8n/community-nodes/cred-class-field-icon-missing': "error";
|
|
216
234
|
'@n8n/community-nodes/cred-class-name-field-conventions': "error";
|
|
217
235
|
'@n8n/community-nodes/cred-class-name-suffix': "error";
|
|
@@ -226,8 +244,10 @@ declare const pluginWithConfigs: {
|
|
|
226
244
|
'@n8n/community-nodes/node-registration-complete': "warn";
|
|
227
245
|
'@n8n/community-nodes/require-community-node-keyword': "warn";
|
|
228
246
|
'@n8n/community-nodes/require-continue-on-fail': "error";
|
|
247
|
+
'@n8n/community-nodes/require-mit-license': "error";
|
|
229
248
|
'@n8n/community-nodes/require-node-api-error': "error";
|
|
230
249
|
'@n8n/community-nodes/require-node-description-fields': "error";
|
|
250
|
+
'@n8n/community-nodes/require-param-default': "error";
|
|
231
251
|
'@n8n/community-nodes/require-version': "error";
|
|
232
252
|
'@n8n/community-nodes/valid-author': "error";
|
|
233
253
|
'@n8n/community-nodes/valid-credential-references': "error";
|
|
@@ -266,6 +286,8 @@ declare const n8nCommunityNodesPlugin: {
|
|
|
266
286
|
'@n8n/community-nodes/n8n-object-validation': "error";
|
|
267
287
|
'@n8n/community-nodes/no-deprecated-workflow-functions': "error";
|
|
268
288
|
'@n8n/community-nodes/no-emoji-in-options': "error";
|
|
289
|
+
'@n8n/community-nodes/no-asterisk-in-option-names': "warn";
|
|
290
|
+
'@n8n/community-nodes/no-duplicate-param-options': "warn";
|
|
269
291
|
'@n8n/community-nodes/node-usable-as-tool': "error";
|
|
270
292
|
'@n8n/community-nodes/package-name-convention': "error";
|
|
271
293
|
'@n8n/community-nodes/credential-test-required': "error";
|
|
@@ -280,6 +302,7 @@ declare const n8nCommunityNodesPlugin: {
|
|
|
280
302
|
'@n8n/community-nodes/icon-prefer-themed-variants': "warn";
|
|
281
303
|
'@n8n/community-nodes/options-sorted-alphabetically': "warn";
|
|
282
304
|
'@n8n/community-nodes/resource-operation-pattern': "warn";
|
|
305
|
+
'@n8n/community-nodes/trigger-node-conventions': "error";
|
|
283
306
|
'@n8n/community-nodes/credential-documentation-url': "error";
|
|
284
307
|
'@n8n/community-nodes/cred-class-field-icon-missing': "error";
|
|
285
308
|
'@n8n/community-nodes/cred-class-name-field-conventions': "error";
|
|
@@ -295,8 +318,10 @@ declare const n8nCommunityNodesPlugin: {
|
|
|
295
318
|
'@n8n/community-nodes/node-registration-complete': "warn";
|
|
296
319
|
'@n8n/community-nodes/require-community-node-keyword': "warn";
|
|
297
320
|
'@n8n/community-nodes/require-continue-on-fail': "error";
|
|
321
|
+
'@n8n/community-nodes/require-mit-license': "error";
|
|
298
322
|
'@n8n/community-nodes/require-node-api-error': "error";
|
|
299
323
|
'@n8n/community-nodes/require-node-description-fields': "error";
|
|
324
|
+
'@n8n/community-nodes/require-param-default': "error";
|
|
300
325
|
'@n8n/community-nodes/require-version': "error";
|
|
301
326
|
'@n8n/community-nodes/valid-author': "error";
|
|
302
327
|
'@n8n/community-nodes/valid-credential-references': "error";
|
|
@@ -323,6 +348,8 @@ declare const n8nCommunityNodesPlugin: {
|
|
|
323
348
|
'@n8n/community-nodes/n8n-object-validation': "error";
|
|
324
349
|
'@n8n/community-nodes/no-deprecated-workflow-functions': "error";
|
|
325
350
|
'@n8n/community-nodes/no-emoji-in-options': "error";
|
|
351
|
+
'@n8n/community-nodes/no-asterisk-in-option-names': "warn";
|
|
352
|
+
'@n8n/community-nodes/no-duplicate-param-options': "warn";
|
|
326
353
|
'@n8n/community-nodes/node-usable-as-tool': "error";
|
|
327
354
|
'@n8n/community-nodes/package-name-convention': "error";
|
|
328
355
|
'@n8n/community-nodes/credential-test-required': "error";
|
|
@@ -338,6 +365,7 @@ declare const n8nCommunityNodesPlugin: {
|
|
|
338
365
|
'@n8n/community-nodes/options-sorted-alphabetically': "warn";
|
|
339
366
|
'@n8n/community-nodes/credential-documentation-url': "error";
|
|
340
367
|
'@n8n/community-nodes/resource-operation-pattern': "warn";
|
|
368
|
+
'@n8n/community-nodes/trigger-node-conventions': "error";
|
|
341
369
|
'@n8n/community-nodes/cred-class-field-icon-missing': "error";
|
|
342
370
|
'@n8n/community-nodes/cred-class-name-field-conventions': "error";
|
|
343
371
|
'@n8n/community-nodes/cred-class-name-suffix': "error";
|
|
@@ -352,8 +380,10 @@ declare const n8nCommunityNodesPlugin: {
|
|
|
352
380
|
'@n8n/community-nodes/node-registration-complete': "warn";
|
|
353
381
|
'@n8n/community-nodes/require-community-node-keyword': "warn";
|
|
354
382
|
'@n8n/community-nodes/require-continue-on-fail': "error";
|
|
383
|
+
'@n8n/community-nodes/require-mit-license': "error";
|
|
355
384
|
'@n8n/community-nodes/require-node-api-error': "error";
|
|
356
385
|
'@n8n/community-nodes/require-node-description-fields': "error";
|
|
386
|
+
'@n8n/community-nodes/require-param-default': "error";
|
|
357
387
|
'@n8n/community-nodes/require-version': "error";
|
|
358
388
|
'@n8n/community-nodes/valid-author': "error";
|
|
359
389
|
'@n8n/community-nodes/valid-credential-references': "error";
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AAG7C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAYzC,QAAA,MAAM,OAAO;;;;;;;;;;uBAHI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AAG7C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAYzC,QAAA,MAAM,OAAO;;;;;;;;;;uBAHI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAAtB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoHE,CAAC;AAE1C,QAAA,MAAM,iBAAiB;;;;;;;;;;;2BAtHN,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAAtB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAAtB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;CAsHiC,CAAC;AAEzE,QAAA,MAAM,uBAAuB;;;;;;;;;;;2BAxHZ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAAtB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAAtB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;CAwHU,CAAC;AAClD,eAAe,iBAAiB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
|
package/dist/plugin.js
CHANGED
|
@@ -23,6 +23,8 @@ const configs = {
|
|
|
23
23
|
'@n8n/community-nodes/n8n-object-validation': 'error',
|
|
24
24
|
'@n8n/community-nodes/no-deprecated-workflow-functions': 'error',
|
|
25
25
|
'@n8n/community-nodes/no-emoji-in-options': 'error',
|
|
26
|
+
'@n8n/community-nodes/no-asterisk-in-option-names': 'warn',
|
|
27
|
+
'@n8n/community-nodes/no-duplicate-param-options': 'warn',
|
|
26
28
|
'@n8n/community-nodes/node-usable-as-tool': 'error',
|
|
27
29
|
'@n8n/community-nodes/package-name-convention': 'error',
|
|
28
30
|
'@n8n/community-nodes/credential-test-required': 'error',
|
|
@@ -37,6 +39,7 @@ const configs = {
|
|
|
37
39
|
'@n8n/community-nodes/icon-prefer-themed-variants': 'warn',
|
|
38
40
|
'@n8n/community-nodes/options-sorted-alphabetically': 'warn',
|
|
39
41
|
'@n8n/community-nodes/resource-operation-pattern': 'warn',
|
|
42
|
+
'@n8n/community-nodes/trigger-node-conventions': 'error',
|
|
40
43
|
'@n8n/community-nodes/credential-documentation-url': 'error',
|
|
41
44
|
'@n8n/community-nodes/cred-class-field-icon-missing': 'error',
|
|
42
45
|
'@n8n/community-nodes/cred-class-name-field-conventions': 'error',
|
|
@@ -52,8 +55,10 @@ const configs = {
|
|
|
52
55
|
'@n8n/community-nodes/node-registration-complete': 'warn',
|
|
53
56
|
'@n8n/community-nodes/require-community-node-keyword': 'warn',
|
|
54
57
|
'@n8n/community-nodes/require-continue-on-fail': 'error',
|
|
58
|
+
'@n8n/community-nodes/require-mit-license': 'error',
|
|
55
59
|
'@n8n/community-nodes/require-node-api-error': 'error',
|
|
56
60
|
'@n8n/community-nodes/require-node-description-fields': 'error',
|
|
61
|
+
'@n8n/community-nodes/require-param-default': 'error',
|
|
57
62
|
'@n8n/community-nodes/require-version': 'error',
|
|
58
63
|
'@n8n/community-nodes/valid-author': 'error',
|
|
59
64
|
'@n8n/community-nodes/valid-credential-references': 'error',
|
|
@@ -73,6 +78,8 @@ const configs = {
|
|
|
73
78
|
'@n8n/community-nodes/n8n-object-validation': 'error',
|
|
74
79
|
'@n8n/community-nodes/no-deprecated-workflow-functions': 'error',
|
|
75
80
|
'@n8n/community-nodes/no-emoji-in-options': 'error',
|
|
81
|
+
'@n8n/community-nodes/no-asterisk-in-option-names': 'warn',
|
|
82
|
+
'@n8n/community-nodes/no-duplicate-param-options': 'warn',
|
|
76
83
|
'@n8n/community-nodes/node-usable-as-tool': 'error',
|
|
77
84
|
'@n8n/community-nodes/package-name-convention': 'error',
|
|
78
85
|
'@n8n/community-nodes/credential-test-required': 'error',
|
|
@@ -88,6 +95,7 @@ const configs = {
|
|
|
88
95
|
'@n8n/community-nodes/options-sorted-alphabetically': 'warn',
|
|
89
96
|
'@n8n/community-nodes/credential-documentation-url': 'error',
|
|
90
97
|
'@n8n/community-nodes/resource-operation-pattern': 'warn',
|
|
98
|
+
'@n8n/community-nodes/trigger-node-conventions': 'error',
|
|
91
99
|
'@n8n/community-nodes/cred-class-field-icon-missing': 'error',
|
|
92
100
|
'@n8n/community-nodes/cred-class-name-field-conventions': 'error',
|
|
93
101
|
'@n8n/community-nodes/cred-class-name-suffix': 'error',
|
|
@@ -102,8 +110,10 @@ const configs = {
|
|
|
102
110
|
'@n8n/community-nodes/node-registration-complete': 'warn',
|
|
103
111
|
'@n8n/community-nodes/require-community-node-keyword': 'warn',
|
|
104
112
|
'@n8n/community-nodes/require-continue-on-fail': 'error',
|
|
113
|
+
'@n8n/community-nodes/require-mit-license': 'error',
|
|
105
114
|
'@n8n/community-nodes/require-node-api-error': 'error',
|
|
106
115
|
'@n8n/community-nodes/require-node-description-fields': 'error',
|
|
116
|
+
'@n8n/community-nodes/require-param-default': 'error',
|
|
107
117
|
'@n8n/community-nodes/require-version': 'error',
|
|
108
118
|
'@n8n/community-nodes/valid-author': 'error',
|
|
109
119
|
'@n8n/community-nodes/valid-credential-references': 'error',
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/rules/index.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export declare const rules: {
|
|
|
5
5
|
'credential-password-field': import("@typescript-eslint/utils/ts-eslint").RuleModule<"missingPasswordOption", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
6
6
|
'no-deprecated-workflow-functions': import("@typescript-eslint/utils/ts-eslint").RuleModule<"deprecatedRequestFunction" | "deprecatedFunction" | "deprecatedType" | "deprecatedWithoutReplacement" | "suggestReplaceFunction" | "suggestReplaceType", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
7
7
|
'no-emoji-in-options': import("@typescript-eslint/utils/ts-eslint").RuleModule<"emojiInOption", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
8
|
+
'no-asterisk-in-option-names': import("@typescript-eslint/utils/ts-eslint").RuleModule<"asteriskInOptionName" | "replaceAsterisk", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
9
|
+
'no-duplicate-param-options': import("@typescript-eslint/utils/ts-eslint").RuleModule<"duplicateName" | "duplicateValue", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
8
10
|
'node-usable-as-tool': import("@typescript-eslint/utils/ts-eslint").RuleModule<"missingUsableAsTool", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
9
11
|
'options-sorted-alphabetically': import("@typescript-eslint/utils/ts-eslint").RuleModule<"optionsNotSorted", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
10
12
|
'package-name-convention': import("@typescript-eslint/utils/ts-eslint").RuleModule<"renameTo" | "invalidPackageName" | "missingName" | "defaultPlaceholderName", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
@@ -19,6 +21,7 @@ export declare const rules: {
|
|
|
19
21
|
'icon-validation': import("@typescript-eslint/utils/ts-eslint").RuleModule<"missingIcon" | "addPlaceholder" | "iconFileNotFound" | "lightDarkSame" | "invalidIconPath" | "addFileProtocol" | "similarIcon", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
20
22
|
'icon-prefer-themed-variants': import("@typescript-eslint/utils/ts-eslint").RuleModule<"missingThemedVariants", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
21
23
|
'resource-operation-pattern': import("@typescript-eslint/utils/ts-eslint").RuleModule<"tooManyOperationsWithoutResources", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
24
|
+
'trigger-node-conventions': import("@typescript-eslint/utils/ts-eslint").RuleModule<"nameMissingSuffix" | "displayNameMissingTrigger" | "inputsNotEmpty", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
22
25
|
'credential-documentation-url': import("@typescript-eslint/utils/ts-eslint").RuleModule<"invalidDocumentationUrl", [{
|
|
23
26
|
allowUrls?: boolean;
|
|
24
27
|
allowSlugs?: boolean;
|
|
@@ -41,8 +44,10 @@ export declare const rules: {
|
|
|
41
44
|
'n8n-object-validation': import("@typescript-eslint/utils/ts-eslint").RuleModule<"missingN8nObject" | "wrongLocationApiVersion" | "missingNodesApiVersion" | "invalidNodesApiVersion" | "missingN8nNodes" | "n8nNodesNotArray" | "emptyN8nNodes" | "n8nCredentialsNotArray" | "nodePathNotString" | "nodePathNotInDist" | "credentialPathNotString" | "credentialPathNotInDist" | "invalidStrict", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
42
45
|
'require-community-node-keyword': import("@typescript-eslint/utils/ts-eslint").RuleModule<"missingKeyword" | "missingKeywordsArray", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
43
46
|
'require-continue-on-fail': import("@typescript-eslint/utils/ts-eslint").RuleModule<"missingContinueOnFail", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
47
|
+
'require-mit-license': import("@typescript-eslint/utils/ts-eslint").RuleModule<"missingLicense" | "wrongLicense", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
44
48
|
'require-node-api-error': import("@typescript-eslint/utils/ts-eslint").RuleModule<"useNodeApiError" | "useNodeApiErrorInsteadOfGeneric", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
45
49
|
'require-node-description-fields': import("@typescript-eslint/utils/ts-eslint").RuleModule<"missingField" | "missingFields", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
50
|
+
'require-param-default': import("@typescript-eslint/utils/ts-eslint").RuleModule<"missingDefault", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
46
51
|
'require-version': import("@typescript-eslint/utils/ts-eslint").RuleModule<"missingVersion" | "invalidVersion", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
47
52
|
'valid-author': import("@typescript-eslint/utils/ts-eslint").RuleModule<"authorMissing" | "authorNameMissing" | "authorEmailMissing", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
48
53
|
'valid-credential-references': import("@typescript-eslint/utils/ts-eslint").RuleModule<"didYouMean" | "credentialNotFound", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAqDA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDuB,CAAC"}
|
package/dist/rules/index.js
CHANGED
|
@@ -11,10 +11,12 @@ import { IconPreferThemedVariantsRule } from './icon-prefer-themed-variants.js';
|
|
|
11
11
|
import { IconValidationRule } from './icon-validation.js';
|
|
12
12
|
import { MissingPairedItemRule } from './missing-paired-item.js';
|
|
13
13
|
import { N8nObjectValidationRule } from './n8n-object-validation.js';
|
|
14
|
+
import { NoAsteriskInOptionNamesRule } from './no-asterisk-in-option-names.js';
|
|
14
15
|
import { NoBuilderHintLeakageRule } from './no-builder-hint-leakage.js';
|
|
15
16
|
import { NoCredentialReuseRule } from './no-credential-reuse.js';
|
|
16
17
|
import { NoDangerousFunctionsRule } from './no-dangerous-functions.js';
|
|
17
18
|
import { NoDeprecatedWorkflowFunctionsRule } from './no-deprecated-workflow-functions.js';
|
|
19
|
+
import { NoDuplicateParamOptionsRule } from './no-duplicate-param-options.js';
|
|
18
20
|
import { NoEmojiInOptionsRule } from './no-emoji-in-options.js';
|
|
19
21
|
import { NoForbiddenLifecycleScriptsRule } from './no-forbidden-lifecycle-scripts.js';
|
|
20
22
|
import { NoHttpRequestWithManualAuthRule } from './no-http-request-with-manual-auth.js';
|
|
@@ -34,10 +36,13 @@ import { OptionsSortedAlphabeticallyRule } from './options-sorted-alphabetically
|
|
|
34
36
|
import { PackageNameConventionRule } from './package-name-convention.js';
|
|
35
37
|
import { RequireCommunityNodeKeywordRule } from './require-community-node-keyword.js';
|
|
36
38
|
import { RequireContinueOnFailRule } from './require-continue-on-fail.js';
|
|
39
|
+
import { RequireMitLicenseRule } from './require-mit-license.js';
|
|
37
40
|
import { RequireNodeApiErrorRule } from './require-node-api-error.js';
|
|
38
41
|
import { RequireNodeDescriptionFieldsRule } from './require-node-description-fields.js';
|
|
42
|
+
import { RequireParamDefaultRule } from './require-param-default.js';
|
|
39
43
|
import { RequireVersionRule } from './require-version.js';
|
|
40
44
|
import { ResourceOperationPatternRule } from './resource-operation-pattern.js';
|
|
45
|
+
import { TriggerNodeConventionsRule } from './trigger-node-conventions.js';
|
|
41
46
|
import { ValidAuthorRule } from './valid-author.js';
|
|
42
47
|
import { ValidCredentialReferencesRule } from './valid-credential-references.js';
|
|
43
48
|
import { ValidDescriptionRule } from './valid-description.js';
|
|
@@ -50,6 +55,8 @@ export const rules = {
|
|
|
50
55
|
'credential-password-field': CredentialPasswordFieldRule,
|
|
51
56
|
'no-deprecated-workflow-functions': NoDeprecatedWorkflowFunctionsRule,
|
|
52
57
|
'no-emoji-in-options': NoEmojiInOptionsRule,
|
|
58
|
+
'no-asterisk-in-option-names': NoAsteriskInOptionNamesRule,
|
|
59
|
+
'no-duplicate-param-options': NoDuplicateParamOptionsRule,
|
|
53
60
|
'node-usable-as-tool': NodeUsableAsToolRule,
|
|
54
61
|
'options-sorted-alphabetically': OptionsSortedAlphabeticallyRule,
|
|
55
62
|
'package-name-convention': PackageNameConventionRule,
|
|
@@ -64,6 +71,7 @@ export const rules = {
|
|
|
64
71
|
'icon-validation': IconValidationRule,
|
|
65
72
|
'icon-prefer-themed-variants': IconPreferThemedVariantsRule,
|
|
66
73
|
'resource-operation-pattern': ResourceOperationPatternRule,
|
|
74
|
+
'trigger-node-conventions': TriggerNodeConventionsRule,
|
|
67
75
|
'credential-documentation-url': CredentialDocumentationUrlRule,
|
|
68
76
|
'node-class-description-icon-missing': NodeClassDescriptionIconMissingRule,
|
|
69
77
|
'node-class-description-name-camelcase': NodeClassDescriptionNameCamelCaseRule,
|
|
@@ -81,8 +89,10 @@ export const rules = {
|
|
|
81
89
|
'n8n-object-validation': N8nObjectValidationRule,
|
|
82
90
|
'require-community-node-keyword': RequireCommunityNodeKeywordRule,
|
|
83
91
|
'require-continue-on-fail': RequireContinueOnFailRule,
|
|
92
|
+
'require-mit-license': RequireMitLicenseRule,
|
|
84
93
|
'require-node-api-error': RequireNodeApiErrorRule,
|
|
85
94
|
'require-node-description-fields': RequireNodeDescriptionFieldsRule,
|
|
95
|
+
'require-param-default': RequireParamDefaultRule,
|
|
86
96
|
'require-version': RequireVersionRule,
|
|
87
97
|
'valid-author': ValidAuthorRule,
|
|
88
98
|
'valid-credential-references': ValidCredentialReferencesRule,
|
package/dist/rules/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,iCAAiC,EAAE,MAAM,uCAAuC,CAAC;AAC1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,iCAAiC,EAAE,MAAM,uCAAuC,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,+BAA+B,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,mCAAmC,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,EAAE,qCAAqC,EAAE,MAAM,4CAA4C,CAAC;AACnG,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,iCAAiC,EAAE,MAAM,uCAAuC,CAAC;AAC1F,OAAO,EAAE,+BAA+B,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,gCAAgC,EAAE,MAAM,sCAAsC,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAE/E,MAAM,CAAC,MAAM,KAAK,GAAG;IACpB,sBAAsB,EAAE,qBAAqB;IAC7C,uBAAuB,EAAE,uBAAuB;IAChD,uBAAuB,EAAE,uBAAuB;IAChD,2BAA2B,EAAE,2BAA2B;IACxD,kCAAkC,EAAE,iCAAiC;IACrE,qBAAqB,EAAE,oBAAoB;IAC3C,qBAAqB,EAAE,oBAAoB;IAC3C,+BAA+B,EAAE,+BAA+B;IAChE,yBAAyB,EAAE,yBAAyB;IACpD,0BAA0B,EAAE,0BAA0B;IACtD,qBAAqB,EAAE,qBAAqB;IAC5C,wBAAwB,EAAE,wBAAwB;IAClD,gCAAgC,EAAE,+BAA+B;IACjE,kCAAkC,EAAE,+BAA+B;IACnE,oBAAoB,EAAE,oBAAoB;IAC1C,yBAAyB,EAAE,yBAAyB;IACpD,0BAA0B,EAAE,0BAA0B;IACtD,iBAAiB,EAAE,kBAAkB;IACrC,6BAA6B,EAAE,4BAA4B;IAC3D,4BAA4B,EAAE,4BAA4B;IAC1D,8BAA8B,EAAE,8BAA8B;IAC9D,qCAAqC,EAAE,mCAAmC;IAC1E,uCAAuC,EAAE,qCAAqC;IAC9E,+BAA+B,EAAE,6BAA6B;IAC9D,mCAAmC,EAAE,iCAAiC;IACtE,wBAAwB,EAAE,uBAAuB;IACjD,0BAA0B,EAAE,yBAAyB;IACrD,kCAAkC,EAAE,iCAAiC;IACrE,8BAA8B,EAAE,6BAA6B;IAC7D,kCAAkC,EAAE,iCAAiC;IACrE,gCAAgC,EAAE,+BAA+B;IACjE,4BAA4B,EAAE,4BAA4B;IAC1D,qBAAqB,EAAE,qBAAqB;IAC5C,yBAAyB,EAAE,wBAAwB;IACnD,uBAAuB,EAAE,uBAAuB;IAChD,gCAAgC,EAAE,+BAA+B;IACjE,0BAA0B,EAAE,yBAAyB;IACrD,wBAAwB,EAAE,uBAAuB;IACjD,iCAAiC,EAAE,gCAAgC;IACnE,iBAAiB,EAAE,kBAAkB;IACrC,cAAc,EAAE,eAAe;IAC/B,6BAA6B,EAAE,6BAA6B;IAC5D,mBAAmB,EAAE,oBAAoB;IACzC,yBAAyB,EAAE,yBAAyB;IACpD,4BAA4B,EAAE,4BAA4B;CAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const NoAsteriskInOptionNamesRule: import("@typescript-eslint/utils/ts-eslint").RuleModule<"asteriskInOptionName" | "replaceAsterisk", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
2
|
+
//# sourceMappingURL=no-asterisk-in-option-names.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-asterisk-in-option-names.d.ts","sourceRoot":"","sources":["../../src/rules/no-asterisk-in-option-names.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,2BAA2B,6KAkGtC,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { AST_NODE_TYPES } from '@typescript-eslint/utils';
|
|
2
|
+
import { isNodeTypeClass, findClassProperty, findObjectProperty, getStringLiteralValue, isFileType, createRule, } from '../utils/index.js';
|
|
3
|
+
export const NoAsteriskInOptionNamesRule = createRule({
|
|
4
|
+
name: 'no-asterisk-in-option-names',
|
|
5
|
+
meta: {
|
|
6
|
+
type: 'suggestion',
|
|
7
|
+
docs: {
|
|
8
|
+
description: 'Disallow asterisk characters in node option name values',
|
|
9
|
+
},
|
|
10
|
+
hasSuggestions: true,
|
|
11
|
+
messages: {
|
|
12
|
+
asteriskInOptionName: 'Option name "{{ name }}" contains "*", which renders ambiguously in the n8n UI. Use bracketed notation like "[All]" instead.',
|
|
13
|
+
replaceAsterisk: 'Replace "*" with "[All]".',
|
|
14
|
+
},
|
|
15
|
+
schema: [],
|
|
16
|
+
},
|
|
17
|
+
defaultOptions: [],
|
|
18
|
+
create(context) {
|
|
19
|
+
if (!isFileType(context.filename, '.node.ts')) {
|
|
20
|
+
return {};
|
|
21
|
+
}
|
|
22
|
+
// Check every object that is a direct element of an `options` array.
|
|
23
|
+
const checkOptionsArray = (optionsArray) => {
|
|
24
|
+
for (const option of optionsArray.elements) {
|
|
25
|
+
if (!option || option.type !== AST_NODE_TYPES.ObjectExpression) {
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
const valueNode = findObjectProperty(option, 'name')?.value;
|
|
29
|
+
if (!valueNode) {
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
const name = getStringLiteralValue(valueNode);
|
|
33
|
+
if (!name?.includes('*')) {
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
context.report({
|
|
37
|
+
node: valueNode,
|
|
38
|
+
messageId: 'asteriskInOptionName',
|
|
39
|
+
data: { name },
|
|
40
|
+
suggest: [
|
|
41
|
+
{
|
|
42
|
+
messageId: 'replaceAsterisk',
|
|
43
|
+
fix(fixer) {
|
|
44
|
+
const quote = context.sourceCode.getText(valueNode).at(0) ?? "'";
|
|
45
|
+
return fixer.replaceText(valueNode, `${quote}${name.replaceAll('*', '[All]')}${quote}`);
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
const traverse = (node) => {
|
|
53
|
+
if (node.type === AST_NODE_TYPES.ObjectExpression) {
|
|
54
|
+
const optionsProperty = findObjectProperty(node, 'options');
|
|
55
|
+
if (optionsProperty?.value.type === AST_NODE_TYPES.ArrayExpression) {
|
|
56
|
+
checkOptionsArray(optionsProperty.value);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
for (const key in node) {
|
|
60
|
+
if (key === 'parent') {
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
const child = node[key];
|
|
64
|
+
if (Array.isArray(child)) {
|
|
65
|
+
for (const item of child) {
|
|
66
|
+
if (item && typeof item === 'object' && 'type' in item) {
|
|
67
|
+
traverse(item);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
else if (child && typeof child === 'object' && 'type' in child) {
|
|
72
|
+
traverse(child);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
return {
|
|
77
|
+
ClassDeclaration(node) {
|
|
78
|
+
if (!isNodeTypeClass(node)) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const descriptionProperty = findClassProperty(node, 'description');
|
|
82
|
+
if (!descriptionProperty?.value) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
traverse(descriptionProperty.value);
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
//# sourceMappingURL=no-asterisk-in-option-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-asterisk-in-option-names.js","sourceRoot":"","sources":["../../src/rules/no-asterisk-in-option-names.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-duplicate-param-options.d.ts","sourceRoot":"","sources":["../../src/rules/no-duplicate-param-options.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,2BAA2B,qKA+GtC,CAAC"}
|