|
| 1 | +/** |
| 2 | + * @type {import('@types/eslint').ESLint.ConfigData} |
| 3 | + */ |
| 4 | +module.exports = { |
| 5 | + root: true, |
| 6 | + |
| 7 | + env: { |
| 8 | + browser: true, |
| 9 | + es6: true, |
| 10 | + node: true, |
| 11 | + }, |
| 12 | + |
| 13 | + parser: '@typescript-eslint/parser', |
| 14 | + |
| 15 | + parserOptions: { |
| 16 | + project: ['./tsconfig.json'], |
| 17 | + sourceType: 'module', |
| 18 | + extraFileExtensions: ['.json'], |
| 19 | + }, |
| 20 | + |
| 21 | + ignorePatterns: ['.eslintrc.js', '**/*.js', '**/node_modules/**', '**/dist/**'], |
| 22 | + |
| 23 | + overrides: [ |
| 24 | + { |
| 25 | + files: ['package.json'], |
| 26 | + plugins: ['eslint-plugin-n8n-nodes-base'], |
| 27 | + extends: ['plugin:n8n-nodes-base/community'], |
| 28 | + rules: { |
| 29 | + 'n8n-nodes-base/community-package-json-name-still-default': 'off', |
| 30 | + }, |
| 31 | + }, |
| 32 | + { |
| 33 | + files: ['./credentials/**/*.ts'], |
| 34 | + plugins: ['eslint-plugin-n8n-nodes-base'], |
| 35 | + extends: ['plugin:n8n-nodes-base/credentials'], |
| 36 | + rules: { |
| 37 | + 'n8n-nodes-base/cred-class-field-authenticate-type-assertion': 'error', |
| 38 | + 'n8n-nodes-base/cred-class-field-display-name-missing-oauth2': 'error', |
| 39 | + 'n8n-nodes-base/cred-class-field-display-name-miscased': 'error', |
| 40 | + 'n8n-nodes-base/cred-class-field-documentation-url-missing': 'error', |
| 41 | + 'n8n-nodes-base/cred-class-field-documentation-url-miscased': 'off', |
| 42 | + 'n8n-nodes-base/cred-class-field-name-missing-oauth2': 'error', |
| 43 | + 'n8n-nodes-base/cred-class-field-name-unsuffixed': 'error', |
| 44 | + 'n8n-nodes-base/cred-class-field-name-uppercase-first-char': 'error', |
| 45 | + 'n8n-nodes-base/cred-class-field-properties-assertion': 'error', |
| 46 | + 'n8n-nodes-base/cred-class-field-type-options-password-missing': 'error', |
| 47 | + 'n8n-nodes-base/cred-class-name-missing-oauth2-suffix': 'error', |
| 48 | + 'n8n-nodes-base/cred-class-name-unsuffixed': 'error', |
| 49 | + 'n8n-nodes-base/cred-filename-against-convention': 'error', |
| 50 | + }, |
| 51 | + }, |
| 52 | + { |
| 53 | + files: ['./nodes/**/*.ts'], |
| 54 | + plugins: ['eslint-plugin-n8n-nodes-base'], |
| 55 | + extends: ['plugin:n8n-nodes-base/nodes'], |
| 56 | + rules: { |
| 57 | + 'n8n-nodes-base/node-class-description-credentials-name-unsuffixed': 'error', |
| 58 | + 'n8n-nodes-base/node-class-description-display-name-unsuffixed-trigger-node': 'error', |
| 59 | + 'n8n-nodes-base/node-class-description-empty-string': 'error', |
| 60 | + 'n8n-nodes-base/node-class-description-icon-not-svg': 'error', |
| 61 | + 'n8n-nodes-base/node-class-description-inputs-wrong-regular-node': 'off', |
| 62 | + 'n8n-nodes-base/node-class-description-inputs-wrong-trigger-node': 'error', |
| 63 | + 'n8n-nodes-base/node-class-description-missing-subtitle': 'error', |
| 64 | + 'n8n-nodes-base/node-class-description-non-core-color-present': 'error', |
| 65 | + 'n8n-nodes-base/node-class-description-name-miscased': 'error', |
| 66 | + 'n8n-nodes-base/node-class-description-name-unsuffixed-trigger-node': 'error', |
| 67 | + 'n8n-nodes-base/node-class-description-outputs-wrong': 'off', |
| 68 | + 'n8n-nodes-base/node-dirname-against-convention': 'error', |
| 69 | + 'n8n-nodes-base/node-execute-block-double-assertion-for-items': 'error', |
| 70 | + 'n8n-nodes-base/node-execute-block-wrong-error-thrown': 'error', |
| 71 | + 'n8n-nodes-base/node-filename-against-convention': 'error', |
| 72 | + 'n8n-nodes-base/node-param-array-type-assertion': 'error', |
| 73 | + 'n8n-nodes-base/node-param-color-type-unused': 'error', |
| 74 | + 'n8n-nodes-base/node-param-default-missing': 'error', |
| 75 | + 'n8n-nodes-base/node-param-default-wrong-for-boolean': 'error', |
| 76 | + 'n8n-nodes-base/node-param-default-wrong-for-collection': 'error', |
| 77 | + 'n8n-nodes-base/node-param-default-wrong-for-fixed-collection': 'error', |
| 78 | + 'n8n-nodes-base/node-param-default-wrong-for-fixed-collection': 'error', |
| 79 | + 'n8n-nodes-base/node-param-default-wrong-for-multi-options': 'error', |
| 80 | + 'n8n-nodes-base/node-param-default-wrong-for-number': 'error', |
| 81 | + 'n8n-nodes-base/node-param-default-wrong-for-simplify': 'error', |
| 82 | + 'n8n-nodes-base/node-param-default-wrong-for-string': 'error', |
| 83 | + 'n8n-nodes-base/node-param-description-boolean-without-whether': 'error', |
| 84 | + 'n8n-nodes-base/node-param-description-comma-separated-hyphen': 'error', |
| 85 | + 'n8n-nodes-base/node-param-description-empty-string': 'error', |
| 86 | + 'n8n-nodes-base/node-param-description-excess-final-period': 'error', |
| 87 | + 'n8n-nodes-base/node-param-description-excess-inner-whitespace': 'error', |
| 88 | + 'n8n-nodes-base/node-param-description-identical-to-display-name': 'error', |
| 89 | + 'n8n-nodes-base/node-param-description-line-break-html-tag': 'error', |
| 90 | + 'n8n-nodes-base/node-param-description-lowercase-first-char': 'error', |
| 91 | + 'n8n-nodes-base/node-param-description-miscased-id': 'error', |
| 92 | + 'n8n-nodes-base/node-param-description-miscased-json': 'error', |
| 93 | + 'n8n-nodes-base/node-param-description-miscased-url': 'error', |
| 94 | + 'n8n-nodes-base/node-param-description-missing-final-period': 'error', |
| 95 | + 'n8n-nodes-base/node-param-description-missing-for-ignore-ssl-issues': 'error', |
| 96 | + 'n8n-nodes-base/node-param-description-missing-for-return-all': 'error', |
| 97 | + 'n8n-nodes-base/node-param-description-missing-for-simplify': 'error', |
| 98 | + 'n8n-nodes-base/node-param-description-missing-from-dynamic-multi-options': 'error', |
| 99 | + 'n8n-nodes-base/node-param-description-missing-from-dynamic-options': 'error', |
| 100 | + 'n8n-nodes-base/node-param-description-missing-from-limit': 'error', |
| 101 | + 'n8n-nodes-base/node-param-description-unencoded-angle-brackets': 'error', |
| 102 | + 'n8n-nodes-base/node-param-description-unneeded-backticks': 'error', |
| 103 | + 'n8n-nodes-base/node-param-description-untrimmed': 'error', |
| 104 | + 'n8n-nodes-base/node-param-description-url-missing-protocol': 'error', |
| 105 | + 'n8n-nodes-base/node-param-description-weak': 'error', |
| 106 | + 'n8n-nodes-base/node-param-description-wrong-for-dynamic-multi-options': 'error', |
| 107 | + 'n8n-nodes-base/node-param-description-wrong-for-dynamic-options': 'error', |
| 108 | + 'n8n-nodes-base/node-param-description-wrong-for-ignore-ssl-issues': 'error', |
| 109 | + 'n8n-nodes-base/node-param-description-wrong-for-limit': 'error', |
| 110 | + 'n8n-nodes-base/node-param-description-wrong-for-return-all': 'error', |
| 111 | + 'n8n-nodes-base/node-param-description-wrong-for-simplify': 'error', |
| 112 | + 'n8n-nodes-base/node-param-description-wrong-for-upsert': 'error', |
| 113 | + 'n8n-nodes-base/node-param-display-name-excess-inner-whitespace': 'error', |
| 114 | + 'n8n-nodes-base/node-param-display-name-miscased-id': 'error', |
| 115 | + 'n8n-nodes-base/node-param-display-name-miscased': 'error', |
| 116 | + 'n8n-nodes-base/node-param-display-name-not-first-position': 'error', |
| 117 | + 'n8n-nodes-base/node-param-display-name-untrimmed': 'error', |
| 118 | + 'n8n-nodes-base/node-param-display-name-wrong-for-dynamic-multi-options': 'error', |
| 119 | + 'n8n-nodes-base/node-param-display-name-wrong-for-dynamic-options': 'error', |
| 120 | + 'n8n-nodes-base/node-param-display-name-wrong-for-simplify': 'error', |
| 121 | + 'n8n-nodes-base/node-param-display-name-wrong-for-update-fields': 'error', |
| 122 | + 'n8n-nodes-base/node-param-min-value-wrong-for-limit': 'error', |
| 123 | + 'n8n-nodes-base/node-param-multi-options-type-unsorted-items': 'error', |
| 124 | + 'n8n-nodes-base/node-param-name-untrimmed': 'error', |
| 125 | + 'n8n-nodes-base/node-param-operation-option-action-wrong-for-get-many': 'error', |
| 126 | + 'n8n-nodes-base/node-param-operation-option-description-wrong-for-get-many': 'error', |
| 127 | + 'n8n-nodes-base/node-param-operation-option-without-action': 'error', |
| 128 | + 'n8n-nodes-base/node-param-operation-without-no-data-expression': 'error', |
| 129 | + 'n8n-nodes-base/node-param-option-description-identical-to-name': 'error', |
| 130 | + 'n8n-nodes-base/node-param-option-name-containing-star': 'error', |
| 131 | + 'n8n-nodes-base/node-param-option-name-duplicate': 'error', |
| 132 | + 'n8n-nodes-base/node-param-option-name-wrong-for-get-many': 'error', |
| 133 | + 'n8n-nodes-base/node-param-option-name-wrong-for-upsert': 'error', |
| 134 | + 'n8n-nodes-base/node-param-option-value-duplicate': 'error', |
| 135 | + 'n8n-nodes-base/node-param-options-type-unsorted-items': 'error', |
| 136 | + 'n8n-nodes-base/node-param-placeholder-miscased-id': 'error', |
| 137 | + 'n8n-nodes-base/node-param-placeholder-missing-email': 'error', |
| 138 | + 'n8n-nodes-base/node-param-required-false': 'error', |
| 139 | + 'n8n-nodes-base/node-param-resource-with-plural-option': 'error', |
| 140 | + 'n8n-nodes-base/node-param-resource-without-no-data-expression': 'error', |
| 141 | + 'n8n-nodes-base/node-param-type-options-missing-from-limit': 'error', |
| 142 | + 'n8n-nodes-base/node-param-type-options-password-missing': 'error', |
| 143 | + }, |
| 144 | + }, |
| 145 | + ], |
| 146 | +}; |
0 commit comments