123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233 |
- {
- "env": {
- "es2017": true,
- "node": true
- },
- "extends": [],
- "parser": "@typescript-eslint/parser",
- "parserOptions": {
- "ecmaVersion": "latest",
- "sourceType": "module",
- "project": "tsconfig.json"
- },
- "plugins": [
- "@typescript-eslint"
- ],
- "rules": {
- "indent": [
- "error",
- 2
- ],
- "quotes": [
- "error",
- "single"
- ],
- "semi": [
- "error",
- "always"
- ],
- "max-lines": [
- "warn", 2000
- ],
- "max-lines-per-function": [
- "warn", 50
- ],
- "complexity": [
- "warn", 20
- ],
- "max-depth": [
- "warn", 4
- ],
- "@typescript-eslint/array-type": [
- "error",
- {
- "options":
- "array"
- }
- ],
- "@typescript-eslint/prefer-as-const": [
- "error"
- ],
- "@typescript-eslint/no-inferrable-types": [
- "error",
- {
- "ignoreParameters": false,
- "ignoreProperties": false
- }
- ],
- "@typescript-eslint/method-signature-style": ["error", "method"],
- "@typescript-eslint/naming-convention": [ "error",
- {
- "selector": "default",
- "format": [ "camelCase" ],
- "leadingUnderscore": "forbid",
- "trailingUnderscore": "forbid"
- },
- {
- "selector": "variable",
- "modifiers": ["const"],
- "format": [ "camelCase", "UPPER_CASE" ],
- "leadingUnderscore": "forbid",
- "trailingUnderscore": "forbid"
- },
- {
- "selector": "memberLike",
- "modifiers": ["static", "readonly"],
- "format": [ "UPPER_CASE" ],
- "leadingUnderscore": "forbid",
- "trailingUnderscore": "forbid"
- },
- {
- "selector": "typeLike",
- "format": [ "PascalCase" ]
- }
- ],
- "@typescript-eslint/no-base-to-string": [
- "error",
- {
- "ignoredTypeNames": ["RegExp"]
- }
- ],
- "@typescript-eslint/no-confusing-non-null-assertion": ["error"],
- "@typescript-eslint/no-dynamic-delete": ["error"],
- "@typescript-eslint/no-empty-interface": ["error"],
- "@typescript-eslint/no-explicit-any": [
- "error",
- {
- "fixToUnknown": false,
- "ignoreRestArgs": false
- }
- ],
- "@typescript-eslint/no-extra-non-null-assertion": ["error"],
- "@typescript-eslint/no-floating-promises": [
- "error",
- {
- "ignoreVoid": true,
- "ignoreIIFE": false
- }
- ],
- "@typescript-eslint/no-for-in-array": ["error"],
- "@typescript-eslint/no-meaningless-void-operator": [
- "error",
- {
- "checkNever": false
- }
- ],
- "@typescript-eslint/no-invalid-void-type": [
- "error",
- {
- "allowInGenericTypeArguments": true,
- "allowAsThisParameter": false
- }
- ],
- "@typescript-eslint/prefer-readonly": ["error"],
- "@typescript-eslint/prefer-string-starts-ends-with": ["error"],
- "@typescript-eslint/prefer-ts-expect-error": ["error"],
- "@typescript-eslint/promise-function-async": ["error"],
- "@typescript-eslint/require-array-sort-compare": ["error"],
- "@typescript-eslint/restrict-plus-operands": ["error"],
- "@typescript-eslint/restrict-template-expressions": ["error"],
- "@typescript-eslint/strict-boolean-expressions": ["error"],
- "@typescript-eslint/triple-slash-reference": ["error"],
- "@typescript-eslint/type-annotation-spacing": ["error"],
- "@typescript-eslint/unbound-method": ["error"],
- "@typescript-eslint/unified-signatures": ["error"],
- "@typescript-eslint/no-unsafe-argument":["error"],
- "@typescript-eslint/no-unsafe-assignment":["error"],
- "@typescript-eslint/no-unsafe-call":["error"],
- "@typescript-eslint/no-unsafe-member-access":["error"],
- "@typescript-eslint/no-unsafe-return":["error"],
- "@typescript-eslint/no-var-requires":["error"],
- "@typescript-eslint/non-nullable-type-assertion-style":["error"],
- "@typescript-eslint/prefer-for-of":["error"],
- "@typescript-eslint/prefer-literal-enum-member":["error"],
- "@typescript-eslint/prefer-optional-chain":["error"],
- "@typescript-eslint/no-misused-new": ["error"],
- "@typescript-eslint/no-misused-promises": [
- "error",
- {
- "checksConditionals": true,
- "checksVoidReturn": true
- }
- ],
- "@typescript-eslint/no-namespace": [
- "error",
- {
- "allowDeclarations": false,
- "allowDefinitionFiles": true
- }
- ],
- "@typescript-eslint/no-non-null-asserted-nullish-coalescing":["error"],
- "@typescript-eslint/no-non-null-asserted-optional-chain":["error"],
- "@typescript-eslint/no-non-null-assertion":["error"],
- "@typescript-eslint/no-parameter-properties":["error"],
- "@typescript-eslint/no-require-imports":["error"],
- "@typescript-eslint/no-this-alias":["error"],
- "@typescript-eslint/no-type-alias":["error"],
- "@typescript-eslint/no-unnecessary-boolean-literal-compare":["error"],
- "@typescript-eslint/no-unnecessary-condition":["error"],
- "@typescript-eslint/no-unnecessary-qualifier":["error"],
- "@typescript-eslint/no-unnecessary-type-arguments":["error"],
- "@typescript-eslint/no-unnecessary-type-assertion":["error"],
- "@typescript-eslint/no-unnecessary-type-constraint":["error"],
- "@typescript-eslint/adjacent-overload-signatures": ["error"],
- "@typescript-eslint/await-thenable": ["error"],
- "@typescript-eslint/ban-ts-comment":[
- "error",
- {
- "ts-expect-error": true,
- "ts-ignore": true,
- "ts-nocheck": true,
- "ts-check": true
- }
- ],
- "@typescript-eslint/ban-tslint-comment": "error",
- "@typescript-eslint/ban-types": [
- "error",
- {
- "types": {
- "Array": {
- "message": "Use [] instead",
- "fixWith": "[]"
- },
- "Boolean": {
- "message": "Use boolean instead",
- "fixWith": "boolean"
- },
- "Number": {
- "message": "Use number instead",
- "fixWith": "number"
- },
- "function": "Do not use Function",
- "String": {
- "message": "Use string instead",
- "fixWith": "string"
- },
- "{}": {
- "message": "Use object instead",
- "fixWith": "object"
- }
- }
- }
- ],
- "@typescript-eslint/consistent-indexed-object-style": [ "error", "record" ],
- "@typescript-eslint/explicit-function-return-type": [
- "error",
- {
- "allowExpressions": true,
- "allowTypedFunctionExpressions": true,
- "allowHigherOrderFunctions": false,
- "allowDirectConstAssertionInArrowFunctions": false,
- "allowConciseArrowFunctionExpressionsStartingWithVoid": false
- }
- ],
- "@typescript-eslint/explicit-member-accessibility": [
- "error",
- {
- "accessibility": "no-public"
- }
- ]
- }
- }
|