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