• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2    "extends": ["eslint:recommended", "plugin:node/recommended", "prettier"],
3    "env": {
4        "node": true,
5        "es6": true
6    },
7    "rules": {
8        "eqeqeq": [2, "smart"],
9        "no-caller": 2,
10        "dot-notation": 2,
11        "no-var": 2,
12        "prefer-const": 2,
13        "prefer-arrow-callback": [2, { "allowNamedFunctions": true }],
14        "arrow-body-style": [2, "as-needed"],
15        "object-shorthand": 2,
16        "prefer-template": 2,
17        "one-var": [2, "never"],
18        "prefer-destructuring": [2, { "object": true }],
19        "capitalized-comments": 2,
20        "multiline-comment-style": [2, "starred-block"],
21        "spaced-comment": 2,
22        "yoda": [2, "never"],
23        "curly": [2, "multi-line"],
24        "no-else-return": 2,
25
26        "node/no-unsupported-features/es-syntax": [
27            2,
28            { "ignores": ["modules"] }
29        ]
30    },
31    "overrides": [
32        {
33            "files": "*.ts",
34            "extends": [
35                "plugin:@typescript-eslint/eslint-recommended",
36                "plugin:@typescript-eslint/recommended",
37                "prettier"
38            ],
39            "parserOptions": {
40                "sourceType": "module",
41                "project": "./tsconfig.eslint.json"
42            },
43            "settings": {
44                "node": {
45                    "tryExtensions": [".js", ".json", ".node", ".ts"]
46                }
47            },
48            "rules": {
49                "@typescript-eslint/prefer-for-of": 0,
50                "@typescript-eslint/member-ordering": 0,
51                "@typescript-eslint/explicit-function-return-type": 0,
52                "@typescript-eslint/no-unused-vars": 0,
53                "@typescript-eslint/no-use-before-define": [
54                    2,
55                    { "functions": false }
56                ],
57                "@typescript-eslint/consistent-type-definitions": [
58                    2,
59                    "interface"
60                ],
61                "@typescript-eslint/prefer-function-type": 2,
62                "@typescript-eslint/no-unnecessary-type-arguments": 2,
63                "@typescript-eslint/prefer-string-starts-ends-with": 2,
64                "@typescript-eslint/prefer-readonly": 2,
65                "@typescript-eslint/prefer-includes": 2,
66                "@typescript-eslint/no-unnecessary-condition": 2,
67                "@typescript-eslint/switch-exhaustiveness-check": 2,
68                "@typescript-eslint/prefer-nullish-coalescing": 2
69            }
70        }
71    ]
72}
73