1
+ {
2
+ "parser": "@typescript-eslint/parser",
3
+ "plugins": [
4
+ "@typescript-eslint",
5
+ "sonarjs",
6
+ "security",
7
+ "github"
8
+ ],
9
+ "extends": [
10
+ "eslint:recommended",
11
+ "plugin:@typescript-eslint/recommended",
12
+ "plugin:sonarjs/recommended",
13
+ "plugin:security/recommended"
14
+ ],
15
+ "rules": {
16
+ "strict": 0,
17
+ "github/array-foreach": 2,
18
+ "eol-last": [
19
+ "error",
20
+ "always"
21
+ ],
22
+ "@typescript-eslint/no-explicit-any": 0,
23
+ "require-await": "error",
24
+ "@typescript-eslint/explicit-module-boundary-types": [
25
+ "error",
26
+ {
27
+ "allowArgumentsExplicitlyTypedAsAny": true
28
+ }
29
+ ],
30
+ "sonarjs/no-small-switch": "off",
31
+ "no-underscore-dangle": "error",
32
+ "no-process-exit": "error",
33
+ "no-warning-comments": "error",
34
+ "no-loop-func": "error",
35
+ "curly": [
36
+ "error"
37
+ ],
38
+ "no-multi-spaces": "error",
39
+ "consistent-return": 0,
40
+ "consistent-this": [
41
+ 0,
42
+ "self"
43
+ ],
44
+ "func-style": 0,
45
+ "max-nested-callbacks": [
46
+ "error",
47
+ 3
48
+ ],
49
+ "camelcase": 0,
50
+ "no-debugger": 1,
51
+ "no-empty": 1,
52
+ "no-invalid-regexp": 1,
53
+ "no-unused-expressions": 1,
54
+ "no-native-reassign": 1,
55
+ "no-fallthrough": 1,
56
+ "sonarjs/cognitive-complexity": 1,
57
+ "eqeqeq": 2,
58
+ "no-undef": 2,
59
+ "no-dupe-keys": 2,
60
+ "no-empty-character-class": 2,
61
+ "no-self-compare": 2,
62
+ "valid-typeof": 2,
63
+ "no-unused-vars": [
64
+ 2,
65
+ {
66
+ "args": "none"
67
+ }
68
+ ],
69
+ "handle-callback-err": 2,
70
+ "no-shadow-restricted-names": 2,
71
+ "no-new-require": 2,
72
+ "no-mixed-spaces-and-tabs": 2,
73
+ "block-scoped-var": 2,
74
+ "no-else-return": 2,
75
+ "no-throw-literal": 2,
76
+ "no-void": 2,
77
+ "radix": 2,
78
+ "wrap-iife": [
79
+ 2,
80
+ "outside"
81
+ ],
82
+ "no-shadow": 0,
83
+ "no-use-before-define": [
84
+ 2,
85
+ "nofunc"
86
+ ],
87
+ "no-path-concat": 2,
88
+ "valid-jsdoc": [
89
+ 0,
90
+ {
91
+ "requireReturn": false,
92
+ "requireParamDescription": false,
93
+ "requireReturnDescription": false
94
+ }
95
+ ],
96
+ "no-spaced-func": 2,
97
+ "semi-spacing": 2,
98
+ "quotes": [
99
+ 2,
100
+ "single"
101
+ ],
102
+ "key-spacing": [
103
+ 2,
104
+ {
105
+ "beforeColon": false,
106
+ "afterColon": true
107
+ }
108
+ ],
109
+ "indent": [
110
+ 2,
111
+ 2
112
+ ],
113
+ "no-lonely-if": 2,
114
+ "no-floating-decimal": 2,
115
+ "brace-style": [
116
+ 2,
117
+ "1tbs",
118
+ {
119
+ "allowSingleLine": true
120
+ }
121
+ ],
122
+ "comma-style": [
123
+ 2,
124
+ "last"
125
+ ],
126
+ "no-multiple-empty-lines": [
127
+ 2,
128
+ {
129
+ "max": 1
130
+ }
131
+ ],
132
+ "no-nested-ternary": 2,
133
+ "operator-assignment": [
134
+ 2,
135
+ "always"
136
+ ],
137
+ "padded-blocks": [
138
+ 2,
139
+ "never"
140
+ ],
141
+ "quote-props": [
142
+ 2,
143
+ "as-needed"
144
+ ],
145
+ "keyword-spacing": [
146
+ 2,
147
+ {
148
+ "before": true,
149
+ "after": true,
150
+ "overrides": {}
151
+ }
152
+ ],
153
+ "space-before-blocks": [
154
+ 2,
155
+ "always"
156
+ ],
157
+ "array-bracket-spacing": [
158
+ 2,
159
+ "never"
160
+ ],
161
+ "computed-property-spacing": [
162
+ 2,
163
+ "never"
164
+ ],
165
+ "space-in-parens": [
166
+ 2,
167
+ "never"
168
+ ],
169
+ "space-unary-ops": [
170
+ 2,
171
+ {
172
+ "words": true,
173
+ "nonwords": false
174
+ }
175
+ ],
176
+ "no-console": "error",
177
+ "wrap-regex": 2,
178
+ //"linebreak-style": ["error", "unix"],
179
+ "linebreak-style": 0,
180
+ "semi": [
181
+ 2,
182
+ "always"
183
+ ],
184
+ "arrow-spacing": [
185
+ 2,
186
+ {
187
+ "before": true,
188
+ "after": true
189
+ }
190
+ ],
191
+ "no-class-assign": 2,
192
+ "no-const-assign": 2,
193
+ "no-this-before-super": 2,
194
+ "no-var": 2,
195
+ "object-shorthand": [
196
+ 2,
197
+ "always"
198
+ ],
199
+ "prefer-arrow-callback": 2,
200
+ "prefer-const": 2,
201
+ "prefer-spread": 2,
202
+ "prefer-template": 2
203
+ },
204
+ "overrides": [
205
+ {
206
+ "files": "*.spec.ts",
207
+ "rules": {
208
+ "no-undef": "off",
209
+ "security/detect-non-literal-fs-filename": "off",
210
+ "sonarjs/no-duplicate-string": "off",
211
+ "security/detect-object-injection": "off",
212
+ "max-nested-callbacks": "off",
213
+ "sonarjs/no-identical-functions": "off",
214
+ "@typescript-eslint/no-non-null-assertion": "off",
215
+ "@typescript-eslint/no-unused-vars": "off"
216
+ }
217
+ }
218
+ ]
219
+ }
0 commit comments