Apply prettier formating
[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 "prettier"
16 ],
17 "plugins": ["import", "jsdoc", "@typescript-eslint"],
18 "settings": {
19 "jsdoc": {
20 "mode": "typescript"
21 }
22 },
23 "rules": {
24 "indent": "off",
25 "@typescript-eslint/indent": [
26 "error",
27 2,
28 {
29 "SwitchCase": 1,
30 "CallExpression": {
31 "arguments": 1
32 },
33 "FunctionDeclaration": {
34 "parameters": 2,
35 "body": 1
36 },
37 "FunctionExpression": {
38 "parameters": 2,
39 "body": 1
40 }
41 }
42 ],
43 "@typescript-eslint/array-type": "off",
44 "semi": "off",
45 "@typescript-eslint/semi": ["error", "always"],
46 "space-before-blocks": ["error", "always"],
47 "@typescript-eslint/no-empty-function": [
48 "warn",
49 {
50 "allow": ["arrowFunctions", "methods"]
51 }
52 ],
53 "@typescript-eslint/member-ordering": "error",
54 "@typescript-eslint/await-thenable": "error",
55 "@typescript-eslint/no-floating-promises": "error",
56 "@typescript-eslint/promise-function-async": "error",
57 "@typescript-eslint/no-misused-promises": "error",
58 "curly": "error",
59 "brace-style": "error",
60 "eqeqeq": ["error", "always"],
61 "no-else-return": "error",
62 "no-eq-null": "error",
63 "no-undefined": "error",
64 "no-extra-bind": "error",
65 "no-lone-blocks": "error",
66 "no-multi-spaces": "error",
67 "no-empty": "error",
68 "no-return-assign": ["error", "always"],
69 "no-useless-catch": "error",
70 "no-useless-return": "error",
71 "no-shadow": "off", // This one is generating false positive no-shadow errors on exported/const enums
72 "@typescript-eslint/no-shadow": "error",
73 "no-multiple-empty-lines": [
74 "error",
75 {
76 "max": 2,
77 "maxEOF": 1
78 }
79 ],
80 "block-spacing": "error",
81 // "capitalized-comments": [
82 // "error",
83 // "always",
84 // {
85 // "ignoreConsecutiveComments": true,
86 // "ignorePattern": "pragma|ignored"
87 // }
88 // ],
89 "eol-last": ["error", "always"],
90 "consistent-this": ["error", "self"],
91 "func-call-spacing": ["error", "never"],
92 "keyword-spacing": ["error"],
93 "id-blacklist": [
94 "error",
95 "any",
96 "Number",
97 "number",
98 "String",
99 "string",
100 "Boolean",
101 "boolean",
102 "Undefined",
103 "undefined",
104 "Symbol",
105 "symbol"
106 ],
107 "linebreak-style": ["error", "unix"],
108 "max-len": [
109 "warn",
110 {
111 "code": 180,
112 "ignoreComments": true,
113 "ignoreUrls": true,
114 "ignoreStrings": true,
115 "ignoreTemplateLiterals": true,
116 "ignoreRegExpLiterals": true,
117 "ignorePattern": "(^(import|export)|(public|private))\\s.+;"
118 }
119 ],
120 "no-lonely-if": "error",
121 "no-trailing-spaces": "error",
122 "no-whitespace-before-property": "error",
123 "space-before-function-paren": [
124 "error",
125 {
126 "anonymous": "never",
127 "named": "never",
128 "asyncArrow": "always"
129 }
130 ],
131 "space-in-parens": ["error", "never"],
132 "space-infix-ops": "error",
133 "space-unary-ops": "error",
134 "spaced-comment": ["error", "always"],
135 "switch-colon-spacing": "error",
136 "arrow-body-style": ["error", "as-needed"],
137 "arrow-parens": ["error", "always"],
138 "arrow-spacing": "error",
139 "no-duplicate-imports": "error",
140 "no-var": "error",
141 "prefer-const": "error",
142 "sort-imports": [
143 "warn",
144 {
145 "ignoreCase": false,
146 "ignoreDeclarationSort": false,
147 "ignoreMemberSort": false,
148 "memberSyntaxSortOrder": ["none", "all", "multiple", "single"]
149 }
150 ],
151 "object-curly-spacing": ["error", "always"],
152 "lines-between-class-members": [
153 "error",
154 "always",
155 {
156 "exceptAfterSingleLine": true
157 }
158 ],
159 "quotes": ["error", "single"]
160 },
161 "overrides": [
162 {
163 "files": ["*.js"],
164 "extends": "plugin:node/recommended",
165 "rules": {
166 "node/shebang": "off",
167 "@typescript-eslint/no-unused-vars": "off",
168 "@typescript-eslint/no-var-requires": "off"
169 }
170 }
171 ]
172 }