@n8n/eslint-plugin-community-nodes 0.22.0 → 0.23.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.
Files changed (49) hide show
  1. package/.turbo/turbo-build$colon$unchecked.log +1 -1
  2. package/README.md +5 -0
  3. package/dist/plugin.d.ts +30 -0
  4. package/dist/plugin.d.ts.map +1 -1
  5. package/dist/plugin.js +10 -0
  6. package/dist/plugin.js.map +1 -1
  7. package/dist/rules/index.d.ts +5 -0
  8. package/dist/rules/index.d.ts.map +1 -1
  9. package/dist/rules/index.js +10 -0
  10. package/dist/rules/index.js.map +1 -1
  11. package/dist/rules/no-asterisk-in-option-names.d.ts +2 -0
  12. package/dist/rules/no-asterisk-in-option-names.d.ts.map +1 -0
  13. package/dist/rules/no-asterisk-in-option-names.js +90 -0
  14. package/dist/rules/no-asterisk-in-option-names.js.map +1 -0
  15. package/dist/rules/no-duplicate-param-options.d.ts +2 -0
  16. package/dist/rules/no-duplicate-param-options.d.ts.map +1 -0
  17. package/dist/rules/no-duplicate-param-options.js +97 -0
  18. package/dist/rules/no-duplicate-param-options.js.map +1 -0
  19. package/dist/rules/require-mit-license.d.ts +2 -0
  20. package/dist/rules/require-mit-license.d.ts.map +1 -0
  21. package/dist/rules/require-mit-license.js +57 -0
  22. package/dist/rules/require-mit-license.js.map +1 -0
  23. package/dist/rules/require-param-default.d.ts +15 -0
  24. package/dist/rules/require-param-default.d.ts.map +1 -0
  25. package/dist/rules/require-param-default.js +75 -0
  26. package/dist/rules/require-param-default.js.map +1 -0
  27. package/dist/rules/trigger-node-conventions.d.ts +2 -0
  28. package/dist/rules/trigger-node-conventions.d.ts.map +1 -0
  29. package/dist/rules/trigger-node-conventions.js +70 -0
  30. package/dist/rules/trigger-node-conventions.js.map +1 -0
  31. package/dist/typecheck.tsbuildinfo +1 -1
  32. package/docs/rules/no-asterisk-in-option-names.md +61 -0
  33. package/docs/rules/no-duplicate-param-options.md +46 -0
  34. package/docs/rules/require-mit-license.md +38 -0
  35. package/docs/rules/require-param-default.md +60 -0
  36. package/docs/rules/trigger-node-conventions.md +49 -0
  37. package/package.json +6 -5
  38. package/src/plugin.ts +10 -0
  39. package/src/rules/index.ts +10 -0
  40. package/src/rules/no-asterisk-in-option-names.test.ts +185 -0
  41. package/src/rules/no-asterisk-in-option-names.ts +111 -0
  42. package/src/rules/no-duplicate-param-options.test.ts +125 -0
  43. package/src/rules/no-duplicate-param-options.ts +125 -0
  44. package/src/rules/require-mit-license.test.ts +67 -0
  45. package/src/rules/require-mit-license.ts +65 -0
  46. package/src/rules/require-param-default.test.ts +227 -0
  47. package/src/rules/require-param-default.ts +89 -0
  48. package/src/rules/trigger-node-conventions.test.ts +110 -0
  49. package/src/rules/trigger-node-conventions.ts +92 -0
@@ -1,4 +1,4 @@
1
1
 
2
- > @n8n/eslint-plugin-community-nodes@0.22.0 build:unchecked /home/runner/work/n8n/n8n/packages/@n8n/eslint-plugin-community-nodes
2
+ > @n8n/eslint-plugin-community-nodes@0.23.0 build:unchecked /home/runner/work/n8n/n8n/packages/@n8n/eslint-plugin-community-nodes
3
3
  > tsc --project tsconfig.build.json --noCheck
4
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";
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAAtB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0GE,CAAC;AAE1C,QAAA,MAAM,iBAAiB;;;;;;;;;;;2BA5GN,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAAtB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAAtB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;CA4GiC,CAAC;AAEzE,QAAA,MAAM,uBAAuB;;;;;;;;;;;2BA9GZ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAAtB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAAtB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;CA8GU,CAAC;AAClD,eAAe,iBAAiB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,uBAAuB,EAAE,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',
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,MAAM,MAAM,GAAG;IACd,IAAI,EAAE;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,SAAS,EAAE,sBAAsB;KACjC;IACD,8EAA8E;IAC9E,KAAK,EAAE,KAA+B;CACd,CAAC;AAE1B,MAAM,OAAO,GAAG;IACf,WAAW,EAAE;QACZ,OAAO,EAAE,CAAC,+BAA+B,CAAC;QAC1C,OAAO,EAAE;YACR,sBAAsB,EAAE,MAAM;SAC9B;QACD,KAAK,EAAE;YACN,2CAA2C,EAAE,OAAO;YACpD,4CAA4C,EAAE,OAAO;YACrD,4CAA4C,EAAE,OAAO;YACrD,gDAAgD,EAAE,OAAO;YACzD,4CAA4C,EAAE,OAAO;YACrD,uDAAuD,EAAE,OAAO;YAChE,0CAA0C,EAAE,OAAO;YACnD,0CAA0C,EAAE,OAAO;YACnD,8CAA8C,EAAE,OAAO;YACvD,+CAA+C,EAAE,OAAO;YACxD,0CAA0C,EAAE,OAAO;YACnD,6CAA6C,EAAE,OAAO;YACtD,qDAAqD,EAAE,OAAO;YAC9D,uDAAuD,EAAE,OAAO;YAChE,yCAAyC,EAAE,OAAO;YAClD,8CAA8C,EAAE,OAAO;YACvD,+CAA+C,EAAE,OAAO;YACxD,sCAAsC,EAAE,OAAO;YAC/C,kDAAkD,EAAE,MAAM;YAC1D,oDAAoD,EAAE,MAAM;YAC5D,iDAAiD,EAAE,MAAM;YACzD,mDAAmD,EAAE,OAAO;YAC5D,oDAAoD,EAAE,OAAO;YAC7D,wDAAwD,EAAE,OAAO;YACjE,6CAA6C,EAAE,OAAO;YACtD,+CAA+C,EAAE,OAAO;YACxD,uDAAuD,EAAE,OAAO;YAChE,mDAAmD,EAAE,OAAO;YAC5D,4DAA4D,EAAE,OAAO;YACrE,uDAAuD,EAAE,OAAO;YAChE,0CAA0C,EAAE,OAAO;YACnD,8CAA8C,EAAE,OAAO;YACvD,qDAAqD,EAAE,OAAO;YAC9D,iDAAiD,EAAE,MAAM;YACzD,qDAAqD,EAAE,MAAM;YAC7D,+CAA+C,EAAE,OAAO;YACxD,6CAA6C,EAAE,OAAO;YACtD,sDAAsD,EAAE,OAAO;YAC/D,sCAAsC,EAAE,OAAO;YAC/C,mCAAmC,EAAE,OAAO;YAC5C,kDAAkD,EAAE,OAAO;YAC3D,wCAAwC,EAAE,OAAO;YACjD,8CAA8C,EAAE,OAAO;YACvD,iDAAiD,EAAE,OAAO;SAC1D;KACD;IACD,iCAAiC,EAAE;QAClC,OAAO,EAAE,CAAC,+BAA+B,CAAC;QAC1C,OAAO,EAAE;YACR,sBAAsB,EAAE,MAAM;SAC9B;QACD,KAAK,EAAE;YACN,2CAA2C,EAAE,OAAO;YACpD,gDAAgD,EAAE,OAAO;YACzD,4CAA4C,EAAE,OAAO;YACrD,uDAAuD,EAAE,OAAO;YAChE,0CAA0C,EAAE,OAAO;YACnD,0CAA0C,EAAE,OAAO;YACnD,8CAA8C,EAAE,OAAO;YACvD,+CAA+C,EAAE,OAAO;YACxD,0CAA0C,EAAE,OAAO;YACnD,6CAA6C,EAAE,OAAO;YACtD,qDAAqD,EAAE,OAAO;YAC9D,uDAAuD,EAAE,OAAO;YAChE,yCAAyC,EAAE,OAAO;YAClD,8CAA8C,EAAE,OAAO;YACvD,+CAA+C,EAAE,OAAO;YACxD,sCAAsC,EAAE,OAAO;YAC/C,kDAAkD,EAAE,MAAM;YAC1D,oDAAoD,EAAE,MAAM;YAC5D,mDAAmD,EAAE,OAAO;YAC5D,iDAAiD,EAAE,MAAM;YACzD,oDAAoD,EAAE,OAAO;YAC7D,wDAAwD,EAAE,OAAO;YACjE,6CAA6C,EAAE,OAAO;YACtD,+CAA+C,EAAE,OAAO;YACxD,uDAAuD,EAAE,OAAO;YAChE,mDAAmD,EAAE,OAAO;YAC5D,4DAA4D,EAAE,OAAO;YACrE,uDAAuD,EAAE,OAAO;YAChE,0CAA0C,EAAE,OAAO;YACnD,8CAA8C,EAAE,OAAO;YACvD,qDAAqD,EAAE,OAAO;YAC9D,iDAAiD,EAAE,MAAM;YACzD,qDAAqD,EAAE,MAAM;YAC7D,+CAA+C,EAAE,OAAO;YACxD,6CAA6C,EAAE,OAAO;YACtD,sDAAsD,EAAE,OAAO;YAC/D,sCAAsC,EAAE,OAAO;YAC/C,mCAAmC,EAAE,OAAO;YAC5C,kDAAkD,EAAE,OAAO;YAC3D,wCAAwC,EAAE,OAAO;YACjD,8CAA8C,EAAE,OAAO;YACvD,iDAAiD,EAAE,OAAO;SAC1D;KACD;CACuC,CAAC;AAE1C,MAAM,iBAAiB,GAAG,EAAE,GAAG,MAAM,EAAE,OAAO,EAA0B,CAAC;AAEzE,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;AAClD,eAAe,iBAAiB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -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":"AAgDA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAqDA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDuB,CAAC"}
@@ -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,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"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"}
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,2 @@
1
+ export declare const NoDuplicateParamOptionsRule: import("@typescript-eslint/utils/ts-eslint").RuleModule<"duplicateName" | "duplicateValue", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
2
+ //# sourceMappingURL=no-duplicate-param-options.d.ts.map
@@ -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"}