|
| 1 | +# https://eslint.org/ |
| 2 | +env: # https://eslint.org/docs/user-guide/configuring#specifying-environments |
| 3 | + es6: true |
| 4 | + node: true |
| 5 | +extends: |
| 6 | +- eslint:recommended |
| 7 | +- plugin:@typescript-eslint/eslint-recommended |
| 8 | +- plugin:@typescript-eslint/recommended |
| 9 | +plugins: |
| 10 | +- "@typescript-eslint" |
| 11 | +parser: "@typescript-eslint/parser" |
| 12 | +parserOptions: |
| 13 | + sourceType: module |
| 14 | + project: ./tsconfig.json |
| 15 | +rules: # https://eslint.org/docs/rules/ |
| 16 | + accessor-pairs: error |
| 17 | + array-bracket-newline: |
| 18 | + - error |
| 19 | + - consistent |
| 20 | + array-bracket-spacing: |
| 21 | + - error |
| 22 | + - never |
| 23 | + array-callback-return: error |
| 24 | + arrow-body-style: 'off' |
| 25 | + arrow-parens: |
| 26 | + - error |
| 27 | + - always |
| 28 | + arrow-spacing: |
| 29 | + - error |
| 30 | + - after: true |
| 31 | + before: true |
| 32 | + block-scoped-var: error |
| 33 | + block-spacing: error |
| 34 | + brace-style: 'off' # see "@typescript-eslint/brace-style" |
| 35 | + callback-return: error |
| 36 | + capitalized-comments: 'off' |
| 37 | + class-methods-use-this: error |
| 38 | + comma-dangle: |
| 39 | + - error |
| 40 | + - always-multiline |
| 41 | + comma-spacing: |
| 42 | + - error |
| 43 | + - after: true |
| 44 | + before: false |
| 45 | + comma-style: |
| 46 | + - error |
| 47 | + - last |
| 48 | + complexity: |
| 49 | + - error |
| 50 | + computed-property-spacing: |
| 51 | + - error |
| 52 | + - never |
| 53 | + consistent-return: 'off' |
| 54 | + consistent-this: error |
| 55 | + curly: error |
| 56 | + default-case: 'off' |
| 57 | + dot-location: |
| 58 | + - error |
| 59 | + - property |
| 60 | + dot-notation: |
| 61 | + - error |
| 62 | + - allowPattern: "^_" |
| 63 | + eol-last: error |
| 64 | + eqeqeq: error |
| 65 | + for-direction: error |
| 66 | + func-call-spacing: error |
| 67 | + func-name-matching: error |
| 68 | + func-names: |
| 69 | + - error |
| 70 | + - never |
| 71 | + func-style: |
| 72 | + - error |
| 73 | + - declaration |
| 74 | + function-paren-newline: |
| 75 | + - error |
| 76 | + - multiline-arguments |
| 77 | + generator-star-spacing: error |
| 78 | + getter-return: error |
| 79 | + global-require: error |
| 80 | + guard-for-in: error |
| 81 | + handle-callback-err: error |
| 82 | + id-blacklist: error |
| 83 | + id-length: error |
| 84 | + id-match: error |
| 85 | + implicit-arrow-linebreak: |
| 86 | + - error |
| 87 | + - below |
| 88 | + indent: |
| 89 | + - error |
| 90 | + - 4 |
| 91 | + - SwitchCase: 1 |
| 92 | + indent-legacy: 'off' |
| 93 | + init-declarations: error |
| 94 | + jsx-quotes: error |
| 95 | + key-spacing: error |
| 96 | + keyword-spacing: |
| 97 | + - error |
| 98 | + line-comment-position: 'off' |
| 99 | + linebreak-style: |
| 100 | + - error |
| 101 | + - unix |
| 102 | + lines-around-comment: 'off' |
| 103 | + lines-around-directive: error |
| 104 | + lines-between-class-members: |
| 105 | + - error |
| 106 | + - always |
| 107 | + - exceptAfterSingleLine: true |
| 108 | + max-depth: error |
| 109 | + max-len: 'off' |
| 110 | + max-lines: 'off' |
| 111 | + max-nested-callbacks: error |
| 112 | + max-params: 'off' |
| 113 | + max-statements: 'off' |
| 114 | + max-statements-per-line: error |
| 115 | + multiline-comment-style: |
| 116 | + - error |
| 117 | + - separate-lines |
| 118 | + multiline-ternary: error |
| 119 | + new-cap: error |
| 120 | + new-parens: error |
| 121 | + newline-after-var: 'off' |
| 122 | + newline-before-return: 'off' |
| 123 | + no-alert: error |
| 124 | + no-array-constructor: error |
| 125 | + no-await-in-loop: error |
| 126 | + no-bitwise: error |
| 127 | + no-buffer-constructor: error |
| 128 | + no-caller: error |
| 129 | + no-catch-shadow: error |
| 130 | + no-confusing-arrow: error |
| 131 | + no-continue: 'off' |
| 132 | + no-div-regex: error |
| 133 | + no-duplicate-imports: error |
| 134 | + no-else-return: 'off' |
| 135 | + no-empty-function: 'off' |
| 136 | + no-eq-null: error |
| 137 | + no-eval: error |
| 138 | + no-extend-native: error |
| 139 | + no-extra-bind: error |
| 140 | + no-extra-label: error |
| 141 | + no-extra-parens: error |
| 142 | + no-extra-semi: error |
| 143 | + no-floating-decimal: error |
| 144 | + no-implicit-coercion: error |
| 145 | + no-implicit-globals: error |
| 146 | + no-implied-eval: error |
| 147 | + no-inline-comments: 'off' |
| 148 | + no-invalid-this: error |
| 149 | + no-iterator: error |
| 150 | + no-label-var: error |
| 151 | + no-labels: error |
| 152 | + no-lonely-if: error |
| 153 | + no-loop-func: error |
| 154 | + no-magic-numbers: 'off' |
| 155 | + no-mixed-operators: error |
| 156 | + no-mixed-requires: error |
| 157 | + no-multi-assign: error |
| 158 | + no-multi-spaces: error |
| 159 | + no-multi-str: error |
| 160 | + no-multiple-empty-lines: |
| 161 | + - error |
| 162 | + - max: 1 |
| 163 | + no-native-reassign: error |
| 164 | + no-negated-condition: 'off' |
| 165 | + no-negated-in-lhs: error |
| 166 | + no-nested-ternary: error |
| 167 | + no-new: error |
| 168 | + no-new-func: error |
| 169 | + no-new-object: error |
| 170 | + no-new-require: error |
| 171 | + no-new-wrappers: error |
| 172 | + no-octal-escape: error |
| 173 | + no-param-reassign: 'off' |
| 174 | + no-path-concat: error |
| 175 | + no-plusplus: 'off' |
| 176 | + no-process-env: 'off' |
| 177 | + no-process-exit: error |
| 178 | + no-proto: error |
| 179 | + no-prototype-builtins: 'off' |
| 180 | + no-restricted-globals: error |
| 181 | + no-restricted-imports: error |
| 182 | + no-restricted-modules: error |
| 183 | + no-restricted-properties: error |
| 184 | + no-restricted-syntax: error |
| 185 | + no-return-assign: error |
| 186 | + no-return-await: error |
| 187 | + no-script-url: error |
| 188 | + no-self-compare: error |
| 189 | + no-sequences: error |
| 190 | + no-shadow: error |
| 191 | + no-shadow-restricted-names: error |
| 192 | + no-spaced-func: error |
| 193 | + no-sync: 'off' |
| 194 | + no-tabs: 'off' |
| 195 | + no-template-curly-in-string: error |
| 196 | + no-ternary: error |
| 197 | + no-throw-literal: error |
| 198 | + no-trailing-spaces: error |
| 199 | + no-undef-init: error |
| 200 | + no-undefined: 'off' |
| 201 | + no-underscore-dangle: 'off' |
| 202 | + no-unmodified-loop-condition: error |
| 203 | + no-unneeded-ternary: error |
| 204 | + no-unused-expressions: error |
| 205 | + no-use-before-define: 'off' |
| 206 | + no-useless-call: error |
| 207 | + no-useless-computed-key: error |
| 208 | + no-useless-concat: error |
| 209 | + no-useless-constructor: error |
| 210 | + no-useless-rename: error |
| 211 | + no-useless-return: error |
| 212 | + no-var: error |
| 213 | + no-void: error |
| 214 | + no-warning-comments: error |
| 215 | + no-whitespace-before-property: error |
| 216 | + no-with: error |
| 217 | + nonblock-statement-body-position: error |
| 218 | + object-curly-newline: 'off' |
| 219 | + object-curly-spacing: |
| 220 | + - error |
| 221 | + - never |
| 222 | + object-property-newline: error |
| 223 | + object-shorthand: 'off' |
| 224 | + one-var: 'off' |
| 225 | + one-var-declaration-per-line: error |
| 226 | + operator-assignment: error |
| 227 | + operator-linebreak: error |
| 228 | + padded-blocks: 'off' |
| 229 | + padding-line-between-statements: error |
| 230 | + prefer-arrow-callback: error |
| 231 | + prefer-const: error |
| 232 | + prefer-destructuring: error |
| 233 | + prefer-numeric-literals: error |
| 234 | + prefer-promise-reject-errors: error |
| 235 | + prefer-reflect: error |
| 236 | + prefer-rest-params: error |
| 237 | + prefer-spread: error |
| 238 | + prefer-template: error |
| 239 | + quote-props: 'off' |
| 240 | + quotes: 'off' |
| 241 | + radix: error |
| 242 | + require-await: error |
| 243 | + require-jsdoc: error |
| 244 | + rest-spread-spacing: |
| 245 | + - error |
| 246 | + - never |
| 247 | + semi: 'off' # see "@typescript-eslint/semi" |
| 248 | + semi-spacing: error |
| 249 | + semi-style: |
| 250 | + - error |
| 251 | + - last |
| 252 | + sort-imports: |
| 253 | + - error |
| 254 | + - ignoreCase: false |
| 255 | + ignoreDeclarationSort: true |
| 256 | + sort-keys: 'off' |
| 257 | + sort-vars: error |
| 258 | + space-before-blocks: error |
| 259 | + space-before-function-paren: 'off' |
| 260 | + space-in-parens: |
| 261 | + - error |
| 262 | + - never |
| 263 | + space-infix-ops: error |
| 264 | + space-unary-ops: error |
| 265 | + spaced-comment: |
| 266 | + - error |
| 267 | + - always |
| 268 | + strict: error |
| 269 | + switch-colon-spacing: error |
| 270 | + symbol-description: error |
| 271 | + template-curly-spacing: |
| 272 | + - error |
| 273 | + - never |
| 274 | + template-tag-spacing: error |
| 275 | + unicode-bom: |
| 276 | + - error |
| 277 | + - never |
| 278 | + valid-jsdoc: |
| 279 | + - error |
| 280 | + - prefer: |
| 281 | + arg: param |
| 282 | + argument: param |
| 283 | + return: returns |
| 284 | + yield: yields |
| 285 | + exception: throws |
| 286 | + requireReturn: false |
| 287 | + requireParamType: false |
| 288 | + requireReturnType: false |
| 289 | + vars-on-top: error |
| 290 | + wrap-iife: error |
| 291 | + wrap-regex: error |
| 292 | + yield-star-spacing: error |
| 293 | + yoda: |
| 294 | + - error |
| 295 | + - never |
| 296 | + |
| 297 | + # @typescript-eslint plugin |
| 298 | + "@typescript-eslint/ban-ts-ignore": 'off' |
| 299 | + "@typescript-eslint/brace-style": |
| 300 | + - error |
| 301 | + - 1tbs |
| 302 | + "@typescript-eslint/member-delimiter-style": |
| 303 | + - error |
| 304 | + - multiline: |
| 305 | + delimiter: semi |
| 306 | + requireLast: true |
| 307 | + singleline: |
| 308 | + delimiter: semi |
| 309 | + requireLast: true |
| 310 | + "@typescript-eslint/no-empty-interface": 'off' |
| 311 | + "@typescript-eslint/no-floating-promises": error |
| 312 | + "@typescript-eslint/no-use-before-define": |
| 313 | + - error |
| 314 | + - functions: false |
| 315 | + "@typescript-eslint/semi": error |
| 316 | + "@typescript-eslint/strict-boolean-expressions": |
| 317 | + - error |
| 318 | + - allowString: false |
| 319 | + allowNumber: false |
| 320 | + allowNullableObject: false |
0 commit comments