-
Notifications
You must be signed in to change notification settings - Fork 54
/
.eslintrc.js
68 lines (68 loc) · 2.61 KB
/
.eslintrc.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/* eslint-disable @typescript-eslint/naming-convention */
module.exports = {
"env": {
"browser": true,
"es2021": true,
"node": true,
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended"
],
"overrides": [],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": [
"@typescript-eslint",
"@stylistic/js",
"node",
"import"
],
settings: { "import/resolver": { typescript: { project: "./tsconfig.json" } } },
"rules": {
"indent": ["error", 4, { "SwitchCase": 1, },],
"linebreak-style": ["error", "windows"],
"quotes": ["error", "double"],
"semi": ["error", "always"],
"max-classes-per-file": ["error", 1],
"no-duplicate-imports": "error",
"no-inner-declarations": "error",
"no-unmodified-loop-condition": "error",
"block-scoped-var": "error",
"camelcase": ["error", { "properties": "always" }],
"sort-imports": ["error", { ignoreDeclarationSort: true }],
"@stylistic/js/no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 0, "maxBOF": 0 }],
"@stylistic/js/no-trailing-spaces": "error",
"@typescript-eslint/no-explicit-any": "error",
"@typescript-eslint/no-inferrable-types": "error",
"@typescript-eslint/naming-convention": [
"error",
{ "selector": "default", "format": ["camelCase"] },
{ "selector": "variableLike", "format": ["camelCase"] },
{ "selector": "typeLike", "format": ["PascalCase"] },
{ "selector": "enumMember", "format": ["PascalCase"] },
{ "selector": "property", "format": ["camelCase"] },
{ "selector": "method", "format": ["camelCase"] }
],
"import/no-unresolved": "error",
"import/no-named-as-default-member": "off",
"import/order": [
"error",
{
groups: [
"builtin", // Built-in imports (come from NodeJS native) go first
"external", // <- External imports
"internal", // <- Absolute imports
["sibling", "parent"], // <- Relative imports, the sibling and parent types they can be mingled together
"index", // <- index imports
"unknown", // <- unknown
],
"newlines-between": "always",
alphabetize: { order: "asc", caseInsensitive: true, },
},
],
},
};