Allow undefined in linter configuration
[e-mobility-charging-stations-simulator.git] / .eslintrc
CommitLineData
7dde0b73 1{
6af9012e 2 "root": true,
7dde0b73
JB
3 "extends": [
4 "eslint:recommended",
31eab523
JB
5 "plugin:import/errors",
6 "plugin:import/warnings",
e7aeea18 7 "plugin:jsdoc/recommended",
10068088 8 "plugin:prettier/recommended"
7dde0b73 9 ],
9534e74e 10 "plugins": ["import", "jsdoc"],
4592b693
JB
11 "settings": {
12 "jsdoc": {
13 "mode": "typescript"
14 }
15 },
7dde0b73 16 "rules": {
e7aeea18 17 "space-before-blocks": ["error", "always"],
10068088 18 "curly": ["error", "all"],
6af9012e 19 "brace-style": "error",
e7aeea18 20 "eqeqeq": ["error", "always"],
6af9012e
JB
21 "no-else-return": "error",
22 "no-eq-null": "error",
6af9012e
JB
23 "no-extra-bind": "error",
24 "no-lone-blocks": "error",
25 "no-multi-spaces": "error",
26 "no-empty": "error",
e7aeea18 27 "no-return-assign": ["error", "always"],
6af9012e
JB
28 "no-useless-catch": "error",
29 "no-useless-return": "error",
6af9012e
JB
30 "no-multiple-empty-lines": [
31 "error",
32 {
33 "max": 2,
34 "maxEOF": 1
35 }
36 ],
37 "block-spacing": "error",
56a74dae
JB
38 // "capitalized-comments": [
39 // "error",
40 // "always",
41 // {
42 // "ignoreConsecutiveComments": true,
43 // "ignorePattern": "pragma|ignored"
44 // }
45 // ],
e7aeea18
JB
46 "eol-last": ["error", "always"],
47 "consistent-this": ["error", "self"],
48 "func-call-spacing": ["error", "never"],
49 "keyword-spacing": ["error"],
89f8216b
JB
50 "id-blacklist": [
51 "error",
52 "any",
53 "Number",
54 "number",
55 "String",
56 "string",
57 "Boolean",
58 "boolean",
59 "Undefined",
60 "undefined",
61 "Symbol",
62 "symbol"
63 ],
e7aeea18 64 "linebreak-style": ["error", "unix"],
84393381
JB
65 "max-len": [
66 "warn",
67 {
568c816c 68 "code": 100,
10068088 69 "ignoreUrls": true
84393381 70 }
6af9012e
JB
71 ],
72 "no-lonely-if": "error",
73 "no-trailing-spaces": "error",
74 "no-whitespace-before-property": "error",
e7aeea18 75 "space-in-parens": ["error", "never"],
6af9012e
JB
76 "space-infix-ops": "error",
77 "space-unary-ops": "error",
e7aeea18 78 "spaced-comment": ["error", "always"],
6af9012e 79 "switch-colon-spacing": "error",
e7aeea18
JB
80 "arrow-body-style": ["error", "as-needed"],
81 "arrow-parens": ["error", "always"],
6af9012e
JB
82 "arrow-spacing": "error",
83 "no-duplicate-imports": "error",
84 "no-var": "error",
85 "prefer-const": "error",
86 "sort-imports": [
87 "warn",
88 {
89 "ignoreCase": false,
90 "ignoreDeclarationSort": false,
91 "ignoreMemberSort": false,
e7aeea18 92 "memberSyntaxSortOrder": ["none", "all", "multiple", "single"]
6af9012e
JB
93 }
94 ],
e7aeea18 95 "object-curly-spacing": ["error", "always"],
6af9012e
JB
96 "lines-between-class-members": [
97 "error",
98 "always",
99 {
100 "exceptAfterSingleLine": true
101 }
102 ],
10068088
JB
103 "quotes": [
104 "error",
105 "single",
106 {
107 "avoidEscape": true,
108 "allowTemplateLiterals": false
109 }
110 ]
d1c056a1
JB
111 },
112 "overrides": [
113 {
9534e74e
JB
114 "files": ["**/*.ts"],
115 "parser": "@typescript-eslint/parser",
116 "parserOptions": {
117 "project": "./tsconfig.json"
118 },
119 "extends": [
120 "plugin:@typescript-eslint/recommended",
121 "plugin:@typescript-eslint/recommended-requiring-type-checking",
122 "plugin:import/typescript"
123 ],
124 "plugins": ["@typescript-eslint"],
125 "rules": {
126 "@typescript-eslint/array-type": "off",
127 "semi": "off",
128 "@typescript-eslint/semi": ["error", "always"],
129 "@typescript-eslint/no-empty-function": "warn",
130 "@typescript-eslint/member-ordering": "error",
131 "@typescript-eslint/await-thenable": "error",
132 "@typescript-eslint/no-floating-promises": "error",
133 "@typescript-eslint/promise-function-async": "error",
134 "@typescript-eslint/no-misused-promises": "error",
135 "no-shadow": "off", // This one is generating false positive no-shadow errors on exported/const enums
136 "@typescript-eslint/no-shadow": "error"
137 }
138 },
139 {
140 "files": ["**/*.js"],
d1c056a1
JB
141 "extends": "plugin:node/recommended",
142 "rules": {
9534e74e 143 "node/shebang": "off"
d1c056a1
JB
144 }
145 }
146 ]
7dde0b73 147}