• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "root": true,
3  "env": {
4    "browser": false,
5    "es6": true,
6    "node": true
7  },
8  "parserOptions": {
9    "ecmaVersion": 2018,
10    "sourceType": "module",
11    "project": "./tsconfig.json"
12  },
13  "overrides": [
14    {
15      "files": ["*.ts"],
16      "parser": "@typescript-eslint/parser",
17      "extends": [
18        "plugin:@typescript-eslint/recommended",
19        "prettier/@typescript-eslint",
20        "plugin:prettier/recommended"
21      ],
22      "rules": {
23        "prettier/prettier": ["error", { "singleQuote": true }],
24        "complexity": ["error", { "max": 10 }],
25        "max-params": ["error", { "max": 5 }],
26        "max-depth": ["error", { "max": 4 }],
27        "max-lines-per-function": ["error", { "max": 50, "skipBlankLines": true, "skipComments": true }],
28        "quotes": ["error", "single", { "avoidEscape": true, "allowTemplateLiterals": true }],
29        "max-len": [
30          "error",
31          {
32            "code": 120,
33            "tabWidth": 2,
34            "ignoreTemplateLiterals": true,
35            "ignoreRegExpLiterals": true,
36            "ignoreStrings": true
37          }
38        ],
39        "@typescript-eslint/no-var-requires": "off",
40        "@typescript-eslint/prefer-function-type": "error",
41        "no-unmodified-loop-condition": "error",
42        "no-shadow-restricted-names": "error",
43        "prefer-object-spread": "error",
44        "no-iterator": "error",
45        "array-callback-return": "error",
46        "no-new-wrappers": "error",
47        "@typescript-eslint/naming-convention": [
48          "error",
49          { "selector": "variableLike", "format": ["camelCase", "UPPER_CASE"] }
50        ],
51        "require-yield": "error",
52        "no-caller": "error",
53        "no-multi-str": "error",
54        "no-implied-eval": "off",
55        "@typescript-eslint/no-implied-eval": ["error"],
56        "no-invalid-regexp": "error",
57        "no-compare-neg-zero": "error",
58        "no-useless-catch": "error",
59        "no-labels": "error",
60        "for-direction": "error",
61        "@typescript-eslint/adjacent-overload-signatures": "error",
62        "no-useless-rename": "error",
63        "grouped-accessor-pairs": "error",
64        "no-regex-spaces": "error",
65        "no-useless-concat": "error",
66        "no-global-assign": "error",
67        "no-useless-call": "error",
68        "@typescript-eslint/no-empty-interface": "error",
69        "no-sequences": "error",
70        "no-new-func": "error",
71        "no-proto": "error",
72        "no-self-compare": "error",
73        "no-sparse-arrays": "error",
74        "no-dupe-class-members": "off",
75        "@typescript-eslint/no-dupe-class-members": ["error"],
76        "no-undef-init": "error",
77        "guard-for-in": "error",
78        "no-empty-pattern": "error",
79        "symbol-description": "error",
80        "no-new-object": "error",
81        "no-empty-character-class": "error",
82        "prefer-regex-literals": "error",
83        "no-lone-blocks": "error",
84        "no-eq-null": "error",
85        "no-useless-computed-key": "error",
86        "no-template-curly-in-string": "error",
87        "no-array-constructor": "off",
88        "@typescript-eslint/no-array-constructor": ["error"],
89        "no-extend-native": "error",
90        "no-extra-bind": "error",
91        "no-self-assign": "error",
92        "no-extra-boolean-cast": "error",
93        "no-async-promise-executor": "error",
94        "no-duplicate-case": "error",
95        "no-class-assign": "error",
96        "no-constructor-return": "error",
97        "no-misleading-character-class": "error",
98        "no-func-assign": "error",
99        "no-ex-assign": "error",
100        "no-dupe-else-if": "error",
101        "no-fallthrough": "error",
102        "no-case-declarations": "error"
103      }
104    },
105    {
106      "files": ["*.js"],
107      "extends": ["eslint:recommended", "prettier"],
108      "rules": {
109        "quotes": ["error", "single"],
110        "semi": ["error", "always"],
111        "import/no-extraneous-dependencies": "off",
112        "import/order": "off",
113        "global-require": "off"
114      }
115    }
116  ]
117}