ESLint configuration refinement.
[e-mobility-charging-stations-simulator.git] / .eslintrc
CommitLineData
7dde0b73 1{
6af9012e
JB
2 "root": true,
3 "parser": "@typescript-eslint/parser",
4 "parserOptions": {
5 "project": "./tsconfig.json"
6 },
7dde0b73
JB
7 "extends": [
8 "eslint:recommended",
6af9012e 9 "plugin:@typescript-eslint/recommended",
3340259a 10 "plugin:@typescript-eslint/recommended-requiring-type-checking",
31eab523
JB
11 "plugin:import/errors",
12 "plugin:import/warnings",
13 "plugin:import/typescript",
3340259a 14 "plugin:jsdoc/recommended"
7dde0b73
JB
15 ],
16 "plugins": [
31eab523
JB
17 "import",
18 "jsdoc",
19 "@typescript-eslint"
7dde0b73 20 ],
4592b693
JB
21 "settings": {
22 "jsdoc": {
23 "mode": "typescript"
24 }
25 },
7dde0b73 26 "rules": {
6af9012e
JB
27 "indent": "off",
28 "@typescript-eslint/indent": [
29 "error",
7dde0b73
JB
30 2,
31 {
6af9012e 32 "SwitchCase": 1
7dde0b73
JB
33 }
34 ],
6af9012e
JB
35 "@typescript-eslint/array-type": "off",
36 "semi": "off",
37 "@typescript-eslint/semi": [
38 "error",
39 "always"
40 ],
41 "space-before-blocks": [
42 "error",
43 "always"
44 ],
45 "@typescript-eslint/no-empty-function": [
46 "warn",
47 {
48 "allow": [
49 "arrowFunctions",
50 "methods"
51 ]
52 }
53 ],
54 "@typescript-eslint/member-ordering": "error",
55 "@typescript-eslint/await-thenable": "error",
56 "@typescript-eslint/no-floating-promises": "error",
57 "@typescript-eslint/promise-function-async": "error",
58 "@typescript-eslint/no-misused-promises": "error",
59 "curly": "error",
60 "brace-style": "error",
61 "eqeqeq": [
62 "error",
63 "always"
64 ],
65 "no-else-return": "error",
66 "no-eq-null": "error",
67 "no-undefined": "error",
68 "no-extra-bind": "error",
69 "no-lone-blocks": "error",
70 "no-multi-spaces": "error",
71 "no-empty": "error",
72 "no-return-assign": [
73 "error",
74 "always"
75 ],
76 "no-useless-catch": "error",
77 "no-useless-return": "error",
78 "no-shadow": "error",
79 "no-multiple-empty-lines": [
80 "error",
81 {
82 "max": 2,
83 "maxEOF": 1
84 }
85 ],
86 "block-spacing": "error",
56a74dae
JB
87 // "capitalized-comments": [
88 // "error",
89 // "always",
90 // {
91 // "ignoreConsecutiveComments": true,
92 // "ignorePattern": "pragma|ignored"
93 // }
94 // ],
6af9012e
JB
95 "eol-last": [
96 "error",
97 "always"
98 ],
99 "consistent-this": [
100 "error",
101 "self"
102 ],
103 "func-call-spacing": [
104 "error",
105 "never"
106 ],
107 "keyword-spacing": [
108 "error"
109 ],
110 "linebreak-style": [
111 "error",
112 "unix"
113 ],
84393381
JB
114 "max-len": [
115 "warn",
116 {
117 "code": 180,
118 "ignoreComments": true,
119 "ignoreUrls": true,
120 "ignoreStrings": true,
121 "ignoreTemplateLiterals": true,
122 "ignoreRegExpLiterals": true,
123 "ignorePattern": "(^(import|export)|(public|private))\\s.+;"
124 }
6af9012e
JB
125 ],
126 "no-lonely-if": "error",
127 "no-trailing-spaces": "error",
128 "no-whitespace-before-property": "error",
129 "space-before-function-paren": [
130 "error",
131 {
132 "anonymous": "never",
133 "named": "never",
134 "asyncArrow": "always"
135 }
136 ],
137 "space-in-parens": [
138 "error",
139 "never"
140 ],
141 "space-infix-ops": "error",
142 "space-unary-ops": "error",
143 "spaced-comment": [
144 "error",
145 "always"
146 ],
147 "switch-colon-spacing": "error",
148 "arrow-body-style": [
149 "error",
150 "as-needed"
151 ],
152 "arrow-parens": [
153 "error",
154 "always"
155 ],
156 "arrow-spacing": "error",
157 "no-duplicate-imports": "error",
158 "no-var": "error",
159 "prefer-const": "error",
160 "sort-imports": [
161 "warn",
162 {
163 "ignoreCase": false,
164 "ignoreDeclarationSort": false,
165 "ignoreMemberSort": false,
166 "memberSyntaxSortOrder": [
167 "none",
168 "all",
169 "multiple",
170 "single"
171 ]
172 }
173 ],
174 "object-curly-spacing": [
175 "error",
176 "always"
177 ],
178 "lines-between-class-members": [
179 "error",
180 "always",
181 {
182 "exceptAfterSingleLine": true
183 }
184 ],
185 "quotes": [
186 "error",
187 "single"
84393381 188 ]
7dde0b73
JB
189 }
190}