|
| 1 | +import eslint from '@eslint/js'; |
| 2 | +import tseslint from 'typescript-eslint'; |
| 3 | + |
| 4 | +export default tseslint.config({ |
| 5 | + plugins: { |
| 6 | + '@typescript-eslint': tseslint.plugin |
| 7 | + } |
| 8 | +, languageOptions: { |
| 9 | + parser: tseslint.parser |
| 10 | + , parserOptions: { |
| 11 | + project: true |
| 12 | + } |
| 13 | + } |
| 14 | +, files: ["src/**/*.ts"] |
| 15 | +, rules: { |
| 16 | + "@typescript-eslint/adjacent-overload-signatures": "off" |
| 17 | + , "@typescript-eslint/array-type": ["error", { "default": "generic" }] |
| 18 | + , "@typescript-eslint/await-thenable": "error" |
| 19 | + , "@typescript-eslint/ban-ts-comment": "error" |
| 20 | + , "@typescript-eslint/ban-tslint-comment": "off" |
| 21 | + , "@typescript-eslint/class-literal-property-style": ["error", "getters"] |
| 22 | + , "@typescript-eslint/class-methods-use-this": "error" |
| 23 | + , "@typescript-eslint/consistent-generic-constructors": ["error", "constructor"] |
| 24 | + , "@typescript-eslint/consistent-indexed-object-style": ["error", "record"] |
| 25 | + , "@typescript-eslint/consistent-return": ["error", { treatUndefinedAsUnspecified: false }] |
| 26 | + , "@typescript-eslint/consistent-type-assertions": ["error", { assertionStyle: "as", objectLiteralTypeAssertions: "allow" }] |
| 27 | + , "@typescript-eslint/consistent-type-definitions": ["error", "type"] |
| 28 | + , "@typescript-eslint/consistent-type-exports": "error" |
| 29 | + , "@typescript-eslint/consistent-type-imports": "error" |
| 30 | + , "@typescript-eslint/default-param-last": "error" |
| 31 | + , "@typescript-eslint/dot-notation": ["error", { allowKeywords: true }] |
| 32 | + , "@typescript-eslint/explicit-function-return-type": "error" |
| 33 | + , "@typescript-eslint/explicit-member-accessibility": "error" |
| 34 | + , "@typescript-eslint/explicit-module-boundary-types": "error" |
| 35 | + , "@typescript-eslint/init-declarations": ["error", "always"] |
| 36 | + , "@typescript-eslint/member-ordering": "off" |
| 37 | + , "@typescript-eslint/method-signature-style": ["error", "property"] |
| 38 | + , "@typescript-eslint/naming-convention": ["error", { "selector": ["enumMember"], "format": ["PascalCase"] }] |
| 39 | + , "@typescript-eslint/no-array-delete": "error" |
| 40 | + , "@typescript-eslint/no-base-to-string": "error" |
| 41 | + , "@typescript-eslint/no-confusing-non-null-assertion": "error" |
| 42 | + , "@typescript-eslint/no-confusing-void-expression": "error" |
| 43 | + , "@typescript-eslint/no-duplicate-enum-values": "error" |
| 44 | + , "@typescript-eslint/no-duplicate-type-constituents": "error" |
| 45 | + , "@typescript-eslint/no-dynamic-delete": "error" |
| 46 | + , "@typescript-eslint/no-empty-object-type": "error" |
| 47 | + , "@typescript-eslint/no-explicit-any": "error" |
| 48 | + , "@typescript-eslint/no-extraneous-class": "error" |
| 49 | + , "@typescript-eslint/no-extra-non-null-assertion": "error" |
| 50 | + , "@typescript-eslint/no-floating-promises": "error" |
| 51 | + , "@typescript-eslint/no-for-in-array": "error" |
| 52 | + , "@typescript-eslint/no-implied-eval": "error" |
| 53 | + , "@typescript-eslint/no-import-type-side-effects": "error" |
| 54 | + , "@typescript-eslint/no-inferrable-types": "off" |
| 55 | + , "@typescript-eslint/no-invalid-void-type": "error" |
| 56 | + , "@typescript-eslint/no-loop-func": "error" |
| 57 | + , "@typescript-eslint/no-meaningless-void-operator": "error" |
| 58 | + , "@typescript-eslint/no-misused-new": "error" |
| 59 | + , "@typescript-eslint/no-misused-promises": "error" |
| 60 | + , "@typescript-eslint/no-mixed-enums": "error" |
| 61 | + , "@typescript-eslint/no-namespace": "error" |
| 62 | + , "@typescript-eslint/non-nullable-type-assertion-style": "error" |
| 63 | + , "@typescript-eslint/no-non-null-asserted-nullish-coalescing": "error" |
| 64 | + , "@typescript-eslint/no-non-null-asserted-optional-chain": "error" |
| 65 | + , "@typescript-eslint/no-non-null-assertion": "error" |
| 66 | + , "@typescript-eslint/no-redundant-type-constituents": "error" |
| 67 | + , "@typescript-eslint/no-require-imports": "error" |
| 68 | + , "@typescript-eslint/no-restricted-types": "off" |
| 69 | + , "@typescript-eslint/no-shadow": ["error", { "builtinGlobals": false, "hoist": "all" }] |
| 70 | + , "@typescript-eslint/no-this-alias": "error" |
| 71 | + , "@typescript-eslint/no-unnecessary-boolean-literal-compare": "error" |
| 72 | + , "@typescript-eslint/no-unnecessary-condition": "error" |
| 73 | + , "@typescript-eslint/no-unnecessary-parameter-property-assignment": "error" |
| 74 | + , "@typescript-eslint/no-unnecessary-qualifier": "error" |
| 75 | + , "@typescript-eslint/no-unnecessary-template-expression": "error" |
| 76 | + , "@typescript-eslint/no-unnecessary-type-arguments": "error" |
| 77 | + , "@typescript-eslint/no-unnecessary-type-assertion": "error" |
| 78 | + , "@typescript-eslint/no-unnecessary-type-constraint": "error" |
| 79 | + , "@typescript-eslint/no-unnecessary-type-parameters": "error" |
| 80 | + , "@typescript-eslint/no-unsafe-argument": "error" |
| 81 | + , "@typescript-eslint/no-unsafe-assignment": "error" |
| 82 | + , "@typescript-eslint/no-unsafe-call": "error" |
| 83 | + , "@typescript-eslint/no-unsafe-declaration-merging": "error" |
| 84 | + , "@typescript-eslint/no-unsafe-enum-comparison": "error" |
| 85 | + , "@typescript-eslint/no-unsafe-function-type": "error" |
| 86 | + , "@typescript-eslint/no-unsafe-member-access": "error" |
| 87 | + , "@typescript-eslint/no-unsafe-return": "error" |
| 88 | + , "@typescript-eslint/no-unsafe-unary-minus": "error" |
| 89 | + , "@typescript-eslint/no-unused-expressions": ["error", {}] |
| 90 | + , "@typescript-eslint/no-unused-vars": ["error", { "varsIgnorePattern": "^_\d?$" }] |
| 91 | + , "@typescript-eslint/no-useless-empty-export": "error" |
| 92 | + , "@typescript-eslint/no-wrapper-object-types": "error" |
| 93 | + , "@typescript-eslint/parameter-properties": "off" |
| 94 | + , "@typescript-eslint/prefer-as-const": "error" |
| 95 | + , "@typescript-eslint/prefer-enum-initializers": "off" |
| 96 | + , "@typescript-eslint/prefer-find": "error" |
| 97 | + , "@typescript-eslint/prefer-for-of": "error" |
| 98 | + , "@typescript-eslint/prefer-function-type": "error" |
| 99 | + , "@typescript-eslint/prefer-includes": "error" |
| 100 | + , "@typescript-eslint/prefer-literal-enum-member": "error" |
| 101 | + , "@typescript-eslint/prefer-namespace-keyword": "off" |
| 102 | + , "@typescript-eslint/prefer-nullish-coalescing": "error" |
| 103 | + , "@typescript-eslint/prefer-optional-chain": "error" |
| 104 | + , "@typescript-eslint/prefer-promise-reject-errors": "error" |
| 105 | + , "@typescript-eslint/prefer-readonly": "error" |
| 106 | + , "@typescript-eslint/prefer-readonly-parameter-types": "off" |
| 107 | + , "@typescript-eslint/prefer-reduce-type-parameter": "error" |
| 108 | + , "@typescript-eslint/prefer-regexp-exec": "off" |
| 109 | + , "@typescript-eslint/prefer-return-this-type": "off" |
| 110 | + , "@typescript-eslint/prefer-string-starts-ends-with": "error" |
| 111 | + , "@typescript-eslint/promise-function-async": "error" |
| 112 | + , "@typescript-eslint/require-array-sort-compare": "error" |
| 113 | + , "@typescript-eslint/restrict-plus-operands": ["error", { allowAny: false, allowBoolean: false, allowNullish: false, allowNumberAndString: false, allowRegExp: false }] |
| 114 | + , "@typescript-eslint/restrict-template-expressions": "off" |
| 115 | + , "@typescript-eslint/strict-boolean-expressions": "error" |
| 116 | + , "@typescript-eslint/switch-exhaustiveness-check": "error" |
| 117 | + , "@typescript-eslint/triple-slash-reference": "error" |
| 118 | + , "@typescript-eslint/typedef": ["off", { arrayDestructuring: false, arrowParameter: true, memberVariableDeclaration: true, objectDestructuring: false, parameter: true, propertyDeclaration: true, variableDeclaration: false, variableDeclarationIgnoreFunction: false }] |
| 119 | + , "@typescript-eslint/unbound-method": "error" |
| 120 | + , "@typescript-eslint/unified-signatures": "error" |
| 121 | + , "@typescript-eslint/use-unknown-in-catch-callback-variable": "error" |
| 122 | + } |
| 123 | +}); |
0 commit comments