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