@pplancq/eslint-config 6.0.17 → 6.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/README.md +1 -1
- package/bin/init.mjs +4 -4
- package/main.js +18 -18
- package/package.json +9 -9
- package/rules/base.js +509 -509
- package/rules/import.js +87 -87
- package/rules/playwright.js +55 -55
- package/rules/prettier.js +107 -107
- package/rules/react-jsx-a11y.js +70 -70
- package/rules/react.js +256 -256
- package/rules/typescript.js +157 -157
- package/rules/vitest.js +56 -56
package/rules/base.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import globals from
|
|
1
|
+
import globals from "globals";
|
|
2
2
|
|
|
3
3
|
export const baseRules = {
|
|
4
4
|
languageOptions: {
|
|
5
|
-
ecmaVersion:
|
|
6
|
-
sourceType:
|
|
5
|
+
ecmaVersion: "latest",
|
|
6
|
+
sourceType: "module",
|
|
7
7
|
parserOptions: {
|
|
8
8
|
ecmaFeatures: {
|
|
9
9
|
generators: false,
|
|
@@ -22,156 +22,156 @@ export const baseRules = {
|
|
|
22
22
|
|
|
23
23
|
// Enforce `return` statements in callbacks of array methods
|
|
24
24
|
// https://eslint.org/docs/latest/rules/array-callback-return
|
|
25
|
-
|
|
25
|
+
"array-callback-return": ["error", { allowImplicit: true }],
|
|
26
26
|
|
|
27
27
|
// Require `super()` calls in constructors
|
|
28
28
|
// https://eslint.org/docs/latest/rules/constructor-super
|
|
29
|
-
|
|
29
|
+
"constructor-super": "error",
|
|
30
30
|
|
|
31
31
|
// Enforce `for` loop update clause moving the counter in the right direction
|
|
32
32
|
// https://eslint.org/docs/latest/rules/for-direction
|
|
33
|
-
|
|
33
|
+
"for-direction": "error",
|
|
34
34
|
|
|
35
35
|
// Enforce `return` statements in getters
|
|
36
36
|
// https://eslint.org/docs/latest/rules/getter-return
|
|
37
|
-
|
|
37
|
+
"getter-return": ["error", { allowImplicit: true }],
|
|
38
38
|
|
|
39
39
|
// Disallow using an `async` function as a `Promise` executor
|
|
40
40
|
// https://eslint.org/docs/latest/rules/no-async-promise-executor
|
|
41
|
-
|
|
41
|
+
"no-async-promise-executor": "error",
|
|
42
42
|
|
|
43
43
|
// Disallow `await` inside of loops
|
|
44
44
|
// https://eslint.org/docs/lates/rules/no-await-in-loop
|
|
45
|
-
|
|
45
|
+
"no-await-in-loop": "error",
|
|
46
46
|
|
|
47
47
|
// Disallow reassigning `class` members
|
|
48
48
|
// https://eslint.org/docs/lates/rules/no-class-assign
|
|
49
|
-
|
|
49
|
+
"no-class-assign": "error",
|
|
50
50
|
|
|
51
51
|
// Disallow comparing against `-0`
|
|
52
52
|
// https://eslint.org/docs/lates/rules/no-compare-neg-zero
|
|
53
|
-
|
|
53
|
+
"no-compare-neg-zero": "error",
|
|
54
54
|
|
|
55
55
|
// Disallow assignment operators in conditional expressions
|
|
56
56
|
// https://eslint.org/docs/lates/rules/no-cond-assign
|
|
57
|
-
|
|
57
|
+
"no-cond-assign": ["error", "always"],
|
|
58
58
|
|
|
59
59
|
// Disallow reassigning `const` variables
|
|
60
60
|
// https://eslint.org/docs/lates/rules/no-const-assign
|
|
61
|
-
|
|
61
|
+
"no-const-assign": "error",
|
|
62
62
|
|
|
63
63
|
// Disallow expressions where the operation doesn't affect the value
|
|
64
64
|
// https://eslint.org/docs/lates/rules/no-constant-binary-expression
|
|
65
|
-
|
|
65
|
+
"no-constant-binary-expression": "off",
|
|
66
66
|
|
|
67
67
|
// Disallow constant expressions in conditions
|
|
68
68
|
// https://eslint.org/docs/lates/rules/no-constant-condition
|
|
69
|
-
|
|
69
|
+
"no-constant-condition": "warn",
|
|
70
70
|
|
|
71
71
|
// Disallow returning value from `constructor`
|
|
72
72
|
// https://eslint.org/docs/lates/rules/no-constructor-return
|
|
73
|
-
|
|
73
|
+
"no-constructor-return": "error",
|
|
74
74
|
|
|
75
75
|
// Disallow control characters in regular expressions
|
|
76
76
|
// https://eslint.org/docs/lates/rules/no-control-regex
|
|
77
|
-
|
|
77
|
+
"no-control-regex": "error",
|
|
78
78
|
|
|
79
79
|
// Disallow the use of `debugger`
|
|
80
80
|
// https://eslint.org/docs/lates/rules/no-debugger
|
|
81
|
-
|
|
81
|
+
"no-debugger": "error",
|
|
82
82
|
|
|
83
83
|
// Disallow duplicate arguments in `function` definitions
|
|
84
84
|
// https://eslint.org/docs/lates/rules/no-dupe-args
|
|
85
|
-
|
|
85
|
+
"no-dupe-args": "error",
|
|
86
86
|
|
|
87
87
|
// Disallow duplicate `class` members
|
|
88
88
|
// https://eslint.org/docs/lates/rules/no-dupe-class-members
|
|
89
|
-
|
|
89
|
+
"no-dupe-class-members": "error",
|
|
90
90
|
|
|
91
91
|
// Disallow duplicate conditions in `if-else-if` chains
|
|
92
92
|
// https://eslint.org/docs/lates/rules/no-dupe-else-if
|
|
93
|
-
|
|
93
|
+
"no-dupe-else-if": "error",
|
|
94
94
|
|
|
95
95
|
// Disallow duplicate keys in object literals
|
|
96
96
|
// https://eslint.org/docs/lates/rules/no-dupe-keys
|
|
97
|
-
|
|
97
|
+
"no-dupe-keys": "error",
|
|
98
98
|
|
|
99
99
|
// Disallow duplicate `case` labels
|
|
100
100
|
// https://eslint.org/docs/latest/rules/no-duplicate-case
|
|
101
|
-
|
|
101
|
+
"no-duplicate-case": "error",
|
|
102
102
|
|
|
103
103
|
// Disallow duplicate module imports
|
|
104
104
|
// https://eslint.org/docs/latest/rules/no-duplicate-imports
|
|
105
|
-
|
|
105
|
+
"no-duplicate-imports": "off",
|
|
106
106
|
|
|
107
107
|
// Disallow empty character classes in regular expressions
|
|
108
108
|
// https://eslint.org/docs/latest/rules/no-empty-character-class
|
|
109
|
-
|
|
109
|
+
"no-empty-character-class": "error",
|
|
110
110
|
|
|
111
111
|
// Disallow empty destructuring patterns
|
|
112
112
|
// https://eslint.org/docs/latest/rules/no-empty-pattern
|
|
113
|
-
|
|
113
|
+
"no-empty-pattern": "error",
|
|
114
114
|
|
|
115
115
|
// Disallow reassigning exceptions in `catch` clauses
|
|
116
116
|
// https://eslint.org/docs/latest/rules/no-ex-assign
|
|
117
|
-
|
|
117
|
+
"no-ex-assign": "error",
|
|
118
118
|
|
|
119
119
|
// Disallow fallthrough of `case` statements
|
|
120
120
|
// https://eslint.org/docs/latest/rules/no-fallthrough
|
|
121
|
-
|
|
121
|
+
"no-fallthrough": "error",
|
|
122
122
|
|
|
123
123
|
// Disallow reassigning `function` declarations
|
|
124
124
|
// https://eslint.org/docs/latest/rules/no-func-assign
|
|
125
|
-
|
|
125
|
+
"no-func-assign": "error",
|
|
126
126
|
|
|
127
127
|
// Disallow assigning to imported bindings
|
|
128
128
|
// https://eslint.org/docs/latest/rules/no-import-assign
|
|
129
|
-
|
|
129
|
+
"no-import-assign": "error",
|
|
130
130
|
|
|
131
131
|
// Disallow variable or `function` declarations in nested blocks
|
|
132
132
|
// https://eslint.org/docs/latest/rules/no-inner-declarations
|
|
133
|
-
|
|
133
|
+
"no-inner-declarations": "error",
|
|
134
134
|
|
|
135
135
|
// Disallow invalid regular expression strings in `RegExp` constructors
|
|
136
136
|
// https://eslint.org/docs/latest/rules/no-invalid-regexp
|
|
137
|
-
|
|
137
|
+
"no-invalid-regexp": "error",
|
|
138
138
|
|
|
139
139
|
// Disallow irregular whitespace
|
|
140
140
|
// https://eslint.org/docs/latest/rules/no-irregular-whitespace
|
|
141
|
-
|
|
141
|
+
"no-irregular-whitespace": "error",
|
|
142
142
|
|
|
143
143
|
// Disallow literal numbers that lose precision
|
|
144
144
|
// https://eslint.org/docs/latest/rules/no-loss-of-precision
|
|
145
|
-
|
|
145
|
+
"no-loss-of-precision": "error",
|
|
146
146
|
|
|
147
147
|
// Disallow characters which are made with multiple code points in character class syntax
|
|
148
148
|
// https://eslint.org/docs/latest/rules/no-misleading-character-class
|
|
149
|
-
|
|
149
|
+
"no-misleading-character-class": "error",
|
|
150
150
|
|
|
151
151
|
// Disallow `new` operators with global non-constructor functions
|
|
152
152
|
// https://eslint.org/docs/latest/rules/no-new-native-nonconstructor
|
|
153
|
-
|
|
153
|
+
"no-new-native-nonconstructor": "off",
|
|
154
154
|
|
|
155
155
|
// Disallow `new` operators with the `Symbol` object
|
|
156
156
|
// https://eslint.org/docs/latest/rules/no-new-symbol
|
|
157
|
-
|
|
157
|
+
"no-new-symbol": "error",
|
|
158
158
|
|
|
159
159
|
// Disallow calling global object properties as functions
|
|
160
160
|
// https://eslint.org/docs/latest/rules/no-obj-calls
|
|
161
|
-
|
|
161
|
+
"no-obj-calls": "error",
|
|
162
162
|
|
|
163
163
|
// Disallow returning values from `Promise` executor functions
|
|
164
164
|
// https://eslint.org/docs/latest/rules/no-promise-executor-return
|
|
165
|
-
|
|
165
|
+
"no-promise-executor-return": "error",
|
|
166
166
|
|
|
167
167
|
// Disallow calling some `Object.prototype` methods directly on objects
|
|
168
168
|
// https://eslint.org/docs/latest/rules/no-prototype-builtins
|
|
169
|
-
|
|
169
|
+
"no-prototype-builtins": "error",
|
|
170
170
|
|
|
171
171
|
// Disallow assignments where both sides are exactly the same
|
|
172
172
|
// https://eslint.org/docs/latest/rules/no-self-assign
|
|
173
|
-
|
|
174
|
-
|
|
173
|
+
"no-self-assign": [
|
|
174
|
+
"error",
|
|
175
175
|
{
|
|
176
176
|
props: true,
|
|
177
177
|
},
|
|
@@ -179,44 +179,44 @@ export const baseRules = {
|
|
|
179
179
|
|
|
180
180
|
// Disallow comparisons where both sides are exactly the same
|
|
181
181
|
// https://eslint.org/docs/latest/rules/no-self-compare
|
|
182
|
-
|
|
182
|
+
"no-self-compare": "error",
|
|
183
183
|
|
|
184
184
|
// Disallow returning values from setters
|
|
185
185
|
// https://eslint.org/docs/latest/rules/no-setter-return
|
|
186
|
-
|
|
186
|
+
"no-setter-return": "error",
|
|
187
187
|
|
|
188
188
|
// Disallow sparse arrays
|
|
189
189
|
// https://eslint.org/docs/latest/rules/no-sparse-arrays
|
|
190
|
-
|
|
190
|
+
"no-sparse-arrays": "error",
|
|
191
191
|
|
|
192
192
|
// Disallow template literal placeholder syntax in regular strings
|
|
193
193
|
// https://eslint.org/docs/latest/rules/no-template-curly-in-string
|
|
194
|
-
|
|
194
|
+
"no-template-curly-in-string": "error",
|
|
195
195
|
|
|
196
196
|
// Disallow `this`/`super` before calling `super()` in constructors
|
|
197
197
|
// https://eslint.org/docs/latest/rules/no-this-before-super
|
|
198
|
-
|
|
198
|
+
"no-this-before-super": "error",
|
|
199
199
|
|
|
200
200
|
// Disallow the use of undeclared variables unless mentioned in `/*global */` comments
|
|
201
201
|
// https://eslint.org/docs/latest/rules/no-undef
|
|
202
|
-
|
|
202
|
+
"no-undef": "error",
|
|
203
203
|
|
|
204
204
|
// Disallow confusing multiline expressions
|
|
205
205
|
// https://eslint.org/docs/latest/rules/no-unexpected-multiline
|
|
206
|
-
|
|
206
|
+
"no-unexpected-multiline": "error",
|
|
207
207
|
|
|
208
208
|
// Disallow unmodified loop conditions
|
|
209
209
|
// https://eslint.org/docs/latest/rules/no-unmodified-loop-condition
|
|
210
|
-
|
|
210
|
+
"no-unmodified-loop-condition": "off",
|
|
211
211
|
|
|
212
212
|
// Disallow unreachable code after `return`, `throw`, `continue`, and `break` statements
|
|
213
213
|
// https://eslint.org/docs/latest/rules/no-unreachable
|
|
214
|
-
|
|
214
|
+
"no-unreachable": "error",
|
|
215
215
|
|
|
216
216
|
// Disallow loops with a body that allows only one iteration
|
|
217
217
|
// https://eslint.org/docs/latest/rules/no-unreachable-loop
|
|
218
|
-
|
|
219
|
-
|
|
218
|
+
"no-unreachable-loop": [
|
|
219
|
+
"error",
|
|
220
220
|
{
|
|
221
221
|
ignore: [],
|
|
222
222
|
},
|
|
@@ -224,55 +224,55 @@ export const baseRules = {
|
|
|
224
224
|
|
|
225
225
|
// Disallow control flow statements in `finally` blocks
|
|
226
226
|
// https://eslint.org/docs/latest/rules/no-unsafe-finally
|
|
227
|
-
|
|
227
|
+
"no-unsafe-finally": "error",
|
|
228
228
|
|
|
229
229
|
// Disallow negating the left operand of relational operators
|
|
230
230
|
// https://eslint.org/docs/latest/rules/no-unsafe-negation
|
|
231
|
-
|
|
231
|
+
"no-unsafe-negation": "error",
|
|
232
232
|
|
|
233
233
|
// Disallow use of optional chaining in contexts where the `undefined` value is not allowed
|
|
234
234
|
// https://eslint.org/docs/latest/rules/no-unsafe-optional-chaining
|
|
235
|
-
|
|
235
|
+
"no-unsafe-optional-chaining": ["error", { disallowArithmeticOperators: true }],
|
|
236
236
|
|
|
237
237
|
// Disallow unused private class members
|
|
238
238
|
// https://eslint.org/docs/latest/rules/no-unused-private-class-members
|
|
239
|
-
|
|
239
|
+
"no-unused-private-class-members": "off",
|
|
240
240
|
|
|
241
241
|
// Disallow unused variables
|
|
242
242
|
// https://eslint.org/docs/latest/rules/no-unused-vars
|
|
243
|
-
|
|
243
|
+
"no-unused-vars": ["error", { vars: "all", args: "after-used", ignoreRestSiblings: true }],
|
|
244
244
|
|
|
245
245
|
// Disallow the use of variables before they are defined
|
|
246
246
|
// https://eslint.org/docs/latest/rules/no-use-before-define
|
|
247
|
-
|
|
247
|
+
"no-use-before-define": ["error", { functions: true, classes: true, variables: true }],
|
|
248
248
|
|
|
249
249
|
// Disallow useless backreferences in regular expressions
|
|
250
250
|
// https://eslint.org/docs/latest/rules/no-useless-backreference
|
|
251
|
-
|
|
251
|
+
"no-useless-backreference": "error",
|
|
252
252
|
|
|
253
253
|
// Disallow assignments that can lead to race conditions due to usage of `await` or `yield`
|
|
254
254
|
// https://eslint.org/docs/latest/rules/require-atomic-updates
|
|
255
|
-
|
|
255
|
+
"require-atomic-updates": "off",
|
|
256
256
|
|
|
257
257
|
// Require calls to `isNaN()` when checking for `NaN`
|
|
258
258
|
// https://eslint.org/docs/latest/rules/use-isnan
|
|
259
|
-
|
|
259
|
+
"use-isnan": "error",
|
|
260
260
|
|
|
261
261
|
// Enforce comparing `typeof` expressions against valid strings
|
|
262
262
|
// https://eslint.org/docs/latest/rules/valid-typeof
|
|
263
|
-
|
|
263
|
+
"valid-typeof": ["error", { requireStringLiterals: true }],
|
|
264
264
|
|
|
265
265
|
// Suggestions - These rules suggest alternate ways of doing things
|
|
266
266
|
|
|
267
267
|
// Enforce getter and setter pairs in objects and classes
|
|
268
268
|
// https://eslint.org/docs/latest/rules/accessor-pairs
|
|
269
|
-
|
|
269
|
+
"accessor-pairs": "off",
|
|
270
270
|
|
|
271
271
|
// Require braces around arrow function bodies
|
|
272
272
|
// https://eslint.org/docs/latest/rules/arrow-body-style
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
273
|
+
"arrow-body-style": [
|
|
274
|
+
"error",
|
|
275
|
+
"as-needed",
|
|
276
276
|
{
|
|
277
277
|
requireReturnForObjectLiteral: false,
|
|
278
278
|
},
|
|
@@ -280,25 +280,25 @@ export const baseRules = {
|
|
|
280
280
|
|
|
281
281
|
// Enforce the use of variables within the scope they are defined
|
|
282
282
|
// https://eslint.org/docs/latest/rules/block-scoped-var
|
|
283
|
-
|
|
283
|
+
"block-scoped-var": "error",
|
|
284
284
|
|
|
285
285
|
// Enforce `camelcase` naming convention
|
|
286
286
|
// https://eslint.org/docs/latest/rules/camelcase
|
|
287
|
-
camelcase: [
|
|
287
|
+
camelcase: ["error", { properties: "never", ignoreDestructuring: false }],
|
|
288
288
|
|
|
289
289
|
// Enforce or disallow capitalization of the first letter of a comment
|
|
290
290
|
// https://eslint.org/docs/latest/rules/capitalized-comments
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
291
|
+
"capitalized-comments": [
|
|
292
|
+
"off",
|
|
293
|
+
"never",
|
|
294
294
|
{
|
|
295
295
|
line: {
|
|
296
|
-
ignorePattern:
|
|
296
|
+
ignorePattern: ".*",
|
|
297
297
|
ignoreInlineComments: true,
|
|
298
298
|
ignoreConsecutiveComments: true,
|
|
299
299
|
},
|
|
300
300
|
block: {
|
|
301
|
-
ignorePattern:
|
|
301
|
+
ignorePattern: ".*",
|
|
302
302
|
ignoreInlineComments: true,
|
|
303
303
|
ignoreConsecutiveComments: true,
|
|
304
304
|
},
|
|
@@ -307,8 +307,8 @@ export const baseRules = {
|
|
|
307
307
|
|
|
308
308
|
// Enforce that class methods utilize `this`
|
|
309
309
|
// https://eslint.org/docs/latest/rules/class-methods-use-this
|
|
310
|
-
|
|
311
|
-
|
|
310
|
+
"class-methods-use-this": [
|
|
311
|
+
"error",
|
|
312
312
|
{
|
|
313
313
|
exceptMethods: [],
|
|
314
314
|
},
|
|
@@ -316,45 +316,45 @@ export const baseRules = {
|
|
|
316
316
|
|
|
317
317
|
// Enforce a maximum cyclomatic complexity allowed in a program
|
|
318
318
|
// https://eslint.org/docs/latest/rules/complexity
|
|
319
|
-
complexity: [
|
|
319
|
+
complexity: ["off", 20],
|
|
320
320
|
|
|
321
321
|
// Require `return` statements to either always or never specify values
|
|
322
322
|
// https://eslint.org/docs/latest/rules/consistent-return
|
|
323
|
-
|
|
323
|
+
"consistent-return": "error",
|
|
324
324
|
|
|
325
325
|
// Enforce consistent naming when capturing the current execution context
|
|
326
326
|
// https://eslint.org/docs/latest/rules/consistent-this
|
|
327
|
-
|
|
327
|
+
"consistent-this": "off",
|
|
328
328
|
|
|
329
329
|
// Enforce consistent brace style for all control statements
|
|
330
330
|
// https://eslint.org/docs/latest/rules/curly
|
|
331
|
-
curly: [
|
|
331
|
+
curly: ["error", "multi-line"],
|
|
332
332
|
|
|
333
333
|
// Require `default` cases in `switch` statements
|
|
334
334
|
// https://eslint.org/docs/latest/rules/default-case
|
|
335
|
-
|
|
335
|
+
"default-case": ["error", { commentPattern: "^no default$" }],
|
|
336
336
|
|
|
337
337
|
// Enforce `default` clauses in `switch` statements to be last
|
|
338
338
|
// https://eslint.org/docs/latest/rules/default-case-last
|
|
339
|
-
|
|
339
|
+
"default-case-last": "error",
|
|
340
340
|
|
|
341
341
|
// Enforce default parameters to be last
|
|
342
342
|
// https://eslint.org/docs/latest/rules/default-param-last
|
|
343
|
-
|
|
343
|
+
"default-param-last": "error",
|
|
344
344
|
|
|
345
345
|
// Enforce dot notation whenever possible
|
|
346
346
|
// https://eslint.org/docs/latest/rules/dot-notation
|
|
347
|
-
|
|
347
|
+
"dot-notation": ["error", { allowKeywords: true }],
|
|
348
348
|
|
|
349
349
|
// Require the use of `===` and `!==`
|
|
350
350
|
// https://eslint.org/docs/latest/rules/eqeqeq
|
|
351
|
-
eqeqeq: [
|
|
351
|
+
eqeqeq: ["error", "always", { null: "ignore" }],
|
|
352
352
|
|
|
353
353
|
// Require `function` names to match the name of the variable or property to which they are assigned
|
|
354
354
|
// https://eslint.org/docs/latest/rules/func-name-matching
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
355
|
+
"func-name-matching": [
|
|
356
|
+
"off",
|
|
357
|
+
"always",
|
|
358
358
|
{
|
|
359
359
|
includeCommonJSModuleExports: false,
|
|
360
360
|
considerPropertyDescriptor: true,
|
|
@@ -363,52 +363,52 @@ export const baseRules = {
|
|
|
363
363
|
|
|
364
364
|
// Require or disallow named `function` expressions
|
|
365
365
|
// https://eslint.org/docs/latest/rules/func-names
|
|
366
|
-
|
|
366
|
+
"func-names": "warn",
|
|
367
367
|
|
|
368
368
|
// Enforce the consistent use of either `function` declarations or expressions
|
|
369
369
|
// https://eslint.org/docs/latest/rules/func-style
|
|
370
|
-
|
|
370
|
+
"func-style": ["off", "expression"],
|
|
371
371
|
|
|
372
372
|
// Require grouped accessor pairs in object literals and classes
|
|
373
373
|
// https://eslint.org/docs/latest/rules/grouped-accessor-pairs
|
|
374
|
-
|
|
374
|
+
"grouped-accessor-pairs": "error",
|
|
375
375
|
|
|
376
376
|
// Require `for-in` loops to include an `if` statement
|
|
377
377
|
// https://eslint.org/docs/latest/rules/guard-for-in
|
|
378
|
-
|
|
378
|
+
"guard-for-in": "error",
|
|
379
379
|
|
|
380
380
|
// Disallow specified identifiers
|
|
381
381
|
// https://eslint.org/docs/latest/rules/id-denylist
|
|
382
|
-
|
|
382
|
+
"id-denylist": "off",
|
|
383
383
|
|
|
384
384
|
// Enforce minimum and maximum identifier lengths
|
|
385
385
|
// https://eslint.org/docs/latest/rules/id-length
|
|
386
|
-
|
|
386
|
+
"id-length": "off",
|
|
387
387
|
|
|
388
388
|
// Require identifiers to match a specified regular expression
|
|
389
389
|
// https://eslint.org/docs/latest/rules/id-match
|
|
390
|
-
|
|
390
|
+
"id-match": "off",
|
|
391
391
|
|
|
392
392
|
// Require or disallow initialization in variable declarations
|
|
393
393
|
// https://eslint.org/docs/latest/rules/init-declarations
|
|
394
|
-
|
|
394
|
+
"init-declarations": "off",
|
|
395
395
|
|
|
396
396
|
// Require or disallow logical assignment operator shorthand
|
|
397
397
|
// https://eslint.org/docs/latest/rules/logical-assignment-operators
|
|
398
|
-
|
|
398
|
+
"logical-assignment-operators": "off",
|
|
399
399
|
|
|
400
400
|
// Enforce a maximum number of classes per file
|
|
401
401
|
// https://eslint.org/docs/latest/rules/max-classes-per-file
|
|
402
|
-
|
|
402
|
+
"max-classes-per-file": ["error", 1],
|
|
403
403
|
|
|
404
404
|
// Enforce a maximum depth that blocks can be nested
|
|
405
405
|
// https://eslint.org/docs/latest/rules/max-depth
|
|
406
|
-
|
|
406
|
+
"max-depth": ["off", 4],
|
|
407
407
|
|
|
408
408
|
// Enforce a maximum number of lines per file
|
|
409
409
|
// https://eslint.org/docs/latest/rules/max-lines
|
|
410
|
-
|
|
411
|
-
|
|
410
|
+
"max-lines": [
|
|
411
|
+
"off",
|
|
412
412
|
{
|
|
413
413
|
max: 300,
|
|
414
414
|
skipBlankLines: true,
|
|
@@ -418,8 +418,8 @@ export const baseRules = {
|
|
|
418
418
|
|
|
419
419
|
// Enforce a maximum number of lines of code in a function
|
|
420
420
|
// https://eslint.org/docs/latest/rules/max-lines-per-function
|
|
421
|
-
|
|
422
|
-
|
|
421
|
+
"max-lines-per-function": [
|
|
422
|
+
"off",
|
|
423
423
|
{
|
|
424
424
|
max: 50,
|
|
425
425
|
skipBlankLines: true,
|
|
@@ -430,126 +430,126 @@ export const baseRules = {
|
|
|
430
430
|
|
|
431
431
|
// Enforce a maximum depth that callbacks can be nested
|
|
432
432
|
// https://eslint.org/docs/latest/rules/max-nested-callbacks
|
|
433
|
-
|
|
433
|
+
"max-nested-callbacks": "off",
|
|
434
434
|
|
|
435
435
|
// Enforce a maximum number of parameters in function definitions
|
|
436
436
|
// https://eslint.org/docs/latest/rules/max-params
|
|
437
|
-
|
|
437
|
+
"max-params": ["off", 3],
|
|
438
438
|
|
|
439
439
|
// Enforce a maximum number of statements allowed in function blocks
|
|
440
440
|
// https://eslint.org/docs/latest/rules/max-statements
|
|
441
|
-
|
|
441
|
+
"max-statements": ["off", 10],
|
|
442
442
|
|
|
443
443
|
// Enforce a particular style for multiline comments
|
|
444
444
|
// https://eslint.org/docs/latest/rules/multiline-comment-style
|
|
445
|
-
|
|
445
|
+
"multiline-comment-style": ["off", "starred-block"],
|
|
446
446
|
|
|
447
447
|
// Require constructor names to begin with a capital letter
|
|
448
448
|
// https://eslint.org/docs/latest/rules/new-cap
|
|
449
|
-
|
|
450
|
-
|
|
449
|
+
"new-cap": [
|
|
450
|
+
"error",
|
|
451
451
|
{
|
|
452
452
|
newIsCap: true,
|
|
453
453
|
newIsCapExceptions: [],
|
|
454
454
|
capIsNew: false,
|
|
455
|
-
capIsNewExceptions: [
|
|
455
|
+
capIsNewExceptions: ["Immutable.Map", "Immutable.Set", "Immutable.List"],
|
|
456
456
|
},
|
|
457
457
|
],
|
|
458
458
|
|
|
459
459
|
// Disallow the use of `alert`, `confirm`, and `prompt`
|
|
460
460
|
// https://eslint.org/docs/latest/rules/no-alert
|
|
461
|
-
|
|
461
|
+
"no-alert": "warn",
|
|
462
462
|
|
|
463
463
|
// Disallow `Array` constructors
|
|
464
464
|
// https://eslint.org/docs/latest/rules/no-array-constructor
|
|
465
|
-
|
|
465
|
+
"no-array-constructor": "error",
|
|
466
466
|
|
|
467
467
|
// Disallow bitwise operators
|
|
468
468
|
// https://eslint.org/docs/latest/rules/no-bitwise
|
|
469
|
-
|
|
469
|
+
"no-bitwise": "error",
|
|
470
470
|
|
|
471
471
|
// Disallow the use of `arguments.caller` or `arguments.callee`
|
|
472
472
|
// https://eslint.org/docs/latest/rules/no-caller
|
|
473
|
-
|
|
473
|
+
"no-caller": "error",
|
|
474
474
|
|
|
475
475
|
// Disallow lexical declarations in `case` clauses
|
|
476
476
|
// https://eslint.org/docs/latest/rules/no-case-declarations
|
|
477
|
-
|
|
477
|
+
"no-case-declarations": "error",
|
|
478
478
|
|
|
479
479
|
// Disallow the use of `console`
|
|
480
480
|
// https://eslint.org/docs/latest/rules/no-console
|
|
481
|
-
|
|
482
|
-
|
|
481
|
+
"no-console": [
|
|
482
|
+
"error",
|
|
483
483
|
{
|
|
484
|
-
allow: [
|
|
484
|
+
allow: ["info", "warn", "error"],
|
|
485
485
|
},
|
|
486
486
|
],
|
|
487
487
|
|
|
488
488
|
// Disallow `continue` statements
|
|
489
489
|
// https://eslint.org/docs/latest/rules/no-continue
|
|
490
|
-
|
|
490
|
+
"no-continue": "error",
|
|
491
491
|
|
|
492
492
|
// Disallow deleting variables
|
|
493
493
|
// https://eslint.org/docs/latest/rules/no-delete-var
|
|
494
|
-
|
|
494
|
+
"no-delete-var": "error",
|
|
495
495
|
|
|
496
496
|
// Disallow equal signs explicitly at the beginning of regular expressions
|
|
497
497
|
// https://eslint.org/docs/latest/rules/no-div-regex
|
|
498
|
-
|
|
498
|
+
"no-div-regex": "off",
|
|
499
499
|
|
|
500
500
|
// Disallow `else` blocks after `return` statements in `if` statements
|
|
501
501
|
// https://eslint.org/docs/latest/rules/no-else-return
|
|
502
|
-
|
|
502
|
+
"no-else-return": ["error", { allowElseIf: false }],
|
|
503
503
|
|
|
504
504
|
// Disallow empty block statements
|
|
505
505
|
// https://eslint.org/docs/latest/rules/no-empty
|
|
506
|
-
|
|
506
|
+
"no-empty": "error",
|
|
507
507
|
|
|
508
508
|
// Disallow empty functions
|
|
509
509
|
// https://eslint.org/docs/latest/rules/no-empty-function
|
|
510
|
-
|
|
511
|
-
|
|
510
|
+
"no-empty-function": [
|
|
511
|
+
"error",
|
|
512
512
|
{
|
|
513
|
-
allow: [
|
|
513
|
+
allow: ["arrowFunctions", "functions", "methods"],
|
|
514
514
|
},
|
|
515
515
|
],
|
|
516
516
|
|
|
517
517
|
// Disallow empty static blocks
|
|
518
518
|
// https://eslint.org/docs/latest/rules/no-empty-static-block
|
|
519
|
-
|
|
519
|
+
"no-empty-static-block": "off",
|
|
520
520
|
|
|
521
521
|
// Disallow `null` comparisons without type-checking operators
|
|
522
522
|
// https://eslint.org/docs/latest/rules/no-eq-null
|
|
523
|
-
|
|
523
|
+
"no-eq-null": "off",
|
|
524
524
|
|
|
525
525
|
// Disallow the use of `eval()`
|
|
526
526
|
// https://eslint.org/docs/latest/rules/no-eval
|
|
527
|
-
|
|
527
|
+
"no-eval": "error",
|
|
528
528
|
|
|
529
529
|
// Disallow extending native types
|
|
530
530
|
// https://eslint.org/docs/latest/rules/no-extend-native
|
|
531
|
-
|
|
531
|
+
"no-extend-native": "error",
|
|
532
532
|
|
|
533
533
|
// Disallow unnecessary calls to `.bind()`
|
|
534
534
|
// https://eslint.org/docs/latest/rules/no-extra-bind
|
|
535
|
-
|
|
535
|
+
"no-extra-bind": "error",
|
|
536
536
|
|
|
537
537
|
// Disallow unnecessary boolean casts
|
|
538
538
|
// https://eslint.org/docs/latest/rules/no-extra-boolean-cast
|
|
539
|
-
|
|
539
|
+
"no-extra-boolean-cast": "error",
|
|
540
540
|
|
|
541
541
|
// Disallow unnecessary labels
|
|
542
542
|
// https://eslint.org/docs/latest/rules/no-extra-label
|
|
543
|
-
|
|
543
|
+
"no-extra-label": "error",
|
|
544
544
|
|
|
545
545
|
// Disallow assignments to native objects or read-only global variables
|
|
546
546
|
// https://eslint.org/docs/latest/rules/no-global-assign
|
|
547
|
-
|
|
547
|
+
"no-global-assign": ["error", { exceptions: [] }],
|
|
548
548
|
|
|
549
549
|
// Disallow shorthand type conversions
|
|
550
550
|
// https://eslint.org/docs/latest/rules/no-implicit-coercion
|
|
551
|
-
|
|
552
|
-
|
|
551
|
+
"no-implicit-coercion": [
|
|
552
|
+
"off",
|
|
553
553
|
{
|
|
554
554
|
boolean: false,
|
|
555
555
|
number: true,
|
|
@@ -560,48 +560,48 @@ export const baseRules = {
|
|
|
560
560
|
|
|
561
561
|
// Disallow declarations in the global scope
|
|
562
562
|
// https://eslint.org/docs/latest/rules/no-implicit-globals
|
|
563
|
-
|
|
563
|
+
"no-implicit-globals": "off",
|
|
564
564
|
|
|
565
565
|
// Disallow the use of `eval()`-like methods
|
|
566
566
|
// https://eslint.org/docs/latest/rules/no-implied-eval
|
|
567
|
-
|
|
567
|
+
"no-implied-eval": "error",
|
|
568
568
|
|
|
569
569
|
// Disallow inline comments after code
|
|
570
570
|
// https://eslint.org/docs/latest/rules/no-inline-comments
|
|
571
|
-
|
|
571
|
+
"no-inline-comments": "off",
|
|
572
572
|
|
|
573
573
|
// Disallow use of `this` in contexts where the value of `this` is `undefined`
|
|
574
574
|
// https://eslint.org/docs/latest/rules/no-invalid-this
|
|
575
|
-
|
|
575
|
+
"no-invalid-this": "off",
|
|
576
576
|
|
|
577
577
|
// Disallow the use of the `__iterator__` property
|
|
578
578
|
// https://eslint.org/docs/latest/rules/no-iterator
|
|
579
|
-
|
|
579
|
+
"no-iterator": "error",
|
|
580
580
|
|
|
581
581
|
// Disallow labels that share a name with a variable
|
|
582
582
|
// https://eslint.org/docs/latest/rules/no-label-var
|
|
583
|
-
|
|
583
|
+
"no-label-var": "error",
|
|
584
584
|
|
|
585
585
|
// Disallow labeled statements
|
|
586
586
|
// https://eslint.org/docs/latest/rules/no-labels
|
|
587
|
-
|
|
587
|
+
"no-labels": ["error", { allowLoop: false, allowSwitch: false }],
|
|
588
588
|
|
|
589
589
|
// Disallow unnecessary nested blocks
|
|
590
590
|
// https://eslint.org/docs/latest/rules/no-lone-blocks
|
|
591
|
-
|
|
591
|
+
"no-lone-blocks": "error",
|
|
592
592
|
|
|
593
593
|
// Disallow `if` statements as the only statement in `else` blocks
|
|
594
594
|
// https://eslint.org/docs/latest/rules/no-lonely-if
|
|
595
|
-
|
|
595
|
+
"no-lonely-if": "error",
|
|
596
596
|
|
|
597
597
|
// Disallow `function` declarations that contain unsafe references inside loop statements
|
|
598
598
|
// https://eslint.org/docs/latest/rules/no-loop-func
|
|
599
|
-
|
|
599
|
+
"no-loop-func": "error",
|
|
600
600
|
|
|
601
601
|
// Disallow magic numbers
|
|
602
602
|
// https://eslint.org/docs/latest/rules/no-magic-numbers
|
|
603
|
-
|
|
604
|
-
|
|
603
|
+
"no-magic-numbers": [
|
|
604
|
+
"off",
|
|
605
605
|
{
|
|
606
606
|
ignore: [],
|
|
607
607
|
ignoreArrayIndexes: true,
|
|
@@ -612,74 +612,74 @@ export const baseRules = {
|
|
|
612
612
|
|
|
613
613
|
// Disallow use of chained assignment expressions
|
|
614
614
|
// https://eslint.org/docs/latest/rules/no-multi-assign
|
|
615
|
-
|
|
615
|
+
"no-multi-assign": ["error"],
|
|
616
616
|
|
|
617
617
|
// Disallow multiline strings
|
|
618
618
|
// https://eslint.org/docs/latest/rules/no-multi-str
|
|
619
|
-
|
|
619
|
+
"no-multi-str": "error",
|
|
620
620
|
|
|
621
621
|
// Disallow negated conditions
|
|
622
622
|
// https://eslint.org/docs/latest/rules/no-negated-condition
|
|
623
|
-
|
|
623
|
+
"no-negated-condition": "off",
|
|
624
624
|
|
|
625
625
|
// Disallow nested ternary expressions
|
|
626
626
|
// https://eslint.org/docs/latest/rules/no-nested-ternary
|
|
627
|
-
|
|
627
|
+
"no-nested-ternary": "error",
|
|
628
628
|
|
|
629
629
|
// Disallow `new` operators outside of assignments or comparisons
|
|
630
630
|
// https://eslint.org/docs/latest/rules/no-new
|
|
631
|
-
|
|
631
|
+
"no-new": "error",
|
|
632
632
|
|
|
633
633
|
// Disallow `new` operators with the `Function` object
|
|
634
634
|
// https://eslint.org/docs/latest/rules/no-new-func
|
|
635
|
-
|
|
635
|
+
"no-new-func": "error",
|
|
636
636
|
|
|
637
637
|
// Disallow `new` operators with the `String`, `Number`, and `Boolean` objects
|
|
638
638
|
// https://eslint.org/docs/latest/rules/no-new-wrappers
|
|
639
|
-
|
|
639
|
+
"no-new-wrappers": "error",
|
|
640
640
|
|
|
641
641
|
// Disallow `\8` and `\9` escape sequences in string literals
|
|
642
642
|
// https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape
|
|
643
|
-
|
|
643
|
+
"no-nonoctal-decimal-escape": "error",
|
|
644
644
|
|
|
645
645
|
// Disallow calls to the `Object` constructor without an argument
|
|
646
646
|
// https://eslint.org/docs/latest/rules/no-object-constructor
|
|
647
|
-
|
|
647
|
+
"no-object-constructor": "off",
|
|
648
648
|
|
|
649
649
|
// Disallow octal literals
|
|
650
650
|
// https://eslint.org/docs/latest/rules/no-octal
|
|
651
|
-
|
|
651
|
+
"no-octal": "error",
|
|
652
652
|
|
|
653
653
|
// Disallow octal escape sequences in string literals
|
|
654
654
|
// https://eslint.org/docs/latest/rules/no-octal-escape
|
|
655
|
-
|
|
655
|
+
"no-octal-escape": "error",
|
|
656
656
|
|
|
657
657
|
// Disallow reassignment of `function` parameters
|
|
658
658
|
// https://eslint.org/docs/latest/rules/no-param-reassign
|
|
659
|
-
|
|
660
|
-
|
|
659
|
+
"no-param-reassign": [
|
|
660
|
+
"error",
|
|
661
661
|
{
|
|
662
662
|
props: true,
|
|
663
663
|
ignorePropertyModificationsFor: [
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
664
|
+
"acc",
|
|
665
|
+
"accumulator",
|
|
666
|
+
"e",
|
|
667
|
+
"ctx",
|
|
668
|
+
"context",
|
|
669
|
+
"req",
|
|
670
|
+
"request",
|
|
671
|
+
"res",
|
|
672
|
+
"response",
|
|
673
|
+
"$scope",
|
|
674
|
+
"staticContext",
|
|
675
675
|
],
|
|
676
676
|
},
|
|
677
677
|
],
|
|
678
678
|
|
|
679
679
|
// Disallow the unary operators `++` and `--`
|
|
680
680
|
// https://eslint.org/docs/latest/rules/no-plusplus
|
|
681
|
-
|
|
682
|
-
|
|
681
|
+
"no-plusplus": [
|
|
682
|
+
"error",
|
|
683
683
|
{
|
|
684
684
|
allowForLoopAfterthoughts: true,
|
|
685
685
|
},
|
|
@@ -687,101 +687,101 @@ export const baseRules = {
|
|
|
687
687
|
|
|
688
688
|
// Disallow the use of the `__proto__` property
|
|
689
689
|
// https://eslint.org/docs/latest/rules/no-proto
|
|
690
|
-
|
|
690
|
+
"no-proto": "error",
|
|
691
691
|
|
|
692
692
|
// Disallow variable redeclaration
|
|
693
693
|
// https://eslint.org/docs/latest/rules/no-redeclare
|
|
694
|
-
|
|
694
|
+
"no-redeclare": "error",
|
|
695
695
|
|
|
696
696
|
// Disallow multiple spaces in regular expressions
|
|
697
697
|
// https://eslint.org/docs/latest/rules/no-regex-spaces
|
|
698
|
-
|
|
698
|
+
"no-regex-spaces": "error",
|
|
699
699
|
|
|
700
700
|
// Disallow specified names in exports
|
|
701
701
|
// https://eslint.org/docs/latest/rules/no-restricted-exports
|
|
702
|
-
|
|
703
|
-
|
|
702
|
+
"no-restricted-exports": [
|
|
703
|
+
"error",
|
|
704
704
|
{
|
|
705
|
-
restrictedNamedExports: [
|
|
705
|
+
restrictedNamedExports: ["default", "then"],
|
|
706
706
|
},
|
|
707
707
|
],
|
|
708
708
|
|
|
709
709
|
// Disallow specified global variables
|
|
710
710
|
// https://eslint.org/docs/latest/rules/no-restricted-globals
|
|
711
|
-
|
|
712
|
-
|
|
711
|
+
"no-restricted-globals": [
|
|
712
|
+
"error",
|
|
713
713
|
{
|
|
714
|
-
name:
|
|
715
|
-
message:
|
|
714
|
+
name: "isFinite",
|
|
715
|
+
message: "Use Number.isFinite instead https://github.com/airbnb/javascript#standard-library--isfinite",
|
|
716
716
|
},
|
|
717
717
|
{
|
|
718
|
-
name:
|
|
719
|
-
message:
|
|
718
|
+
name: "isNaN",
|
|
719
|
+
message: "Use Number.isNaN instead https://github.com/airbnb/javascript#standard-library--isnan",
|
|
720
720
|
},
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
721
|
+
"addEventListener",
|
|
722
|
+
"blur",
|
|
723
|
+
"close",
|
|
724
|
+
"closed",
|
|
725
|
+
"confirm",
|
|
726
|
+
"defaultStatus",
|
|
727
|
+
"defaultstatus",
|
|
728
|
+
"event",
|
|
729
|
+
"external",
|
|
730
|
+
"find",
|
|
731
|
+
"focus",
|
|
732
|
+
"frameElement",
|
|
733
|
+
"frames",
|
|
734
|
+
"history",
|
|
735
|
+
"innerHeight",
|
|
736
|
+
"innerWidth",
|
|
737
|
+
"length",
|
|
738
|
+
"location",
|
|
739
|
+
"locationbar",
|
|
740
|
+
"menubar",
|
|
741
|
+
"moveBy",
|
|
742
|
+
"moveTo",
|
|
743
|
+
"name",
|
|
744
|
+
"onblur",
|
|
745
|
+
"onerror",
|
|
746
|
+
"onfocus",
|
|
747
|
+
"onload",
|
|
748
|
+
"onresize",
|
|
749
|
+
"onunload",
|
|
750
|
+
"open",
|
|
751
|
+
"opener",
|
|
752
|
+
"opera",
|
|
753
|
+
"outerHeight",
|
|
754
|
+
"outerWidth",
|
|
755
|
+
"pageXOffset",
|
|
756
|
+
"pageYOffset",
|
|
757
|
+
"parent",
|
|
758
|
+
"print",
|
|
759
|
+
"removeEventListener",
|
|
760
|
+
"resizeBy",
|
|
761
|
+
"resizeTo",
|
|
762
|
+
"screen",
|
|
763
|
+
"screenLeft",
|
|
764
|
+
"screenTop",
|
|
765
|
+
"screenX",
|
|
766
|
+
"screenY",
|
|
767
|
+
"scroll",
|
|
768
|
+
"scrollbars",
|
|
769
|
+
"scrollBy",
|
|
770
|
+
"scrollTo",
|
|
771
|
+
"scrollX",
|
|
772
|
+
"scrollY",
|
|
773
|
+
"self",
|
|
774
|
+
"status",
|
|
775
|
+
"statusbar",
|
|
776
|
+
"stop",
|
|
777
|
+
"toolbar",
|
|
778
|
+
"top",
|
|
779
779
|
],
|
|
780
780
|
|
|
781
781
|
// Disallow specified modules when loaded by import
|
|
782
782
|
// https://eslint.org/docs/latest/rules/no-restricted-imports
|
|
783
|
-
|
|
784
|
-
|
|
783
|
+
"no-restricted-imports": [
|
|
784
|
+
"off",
|
|
785
785
|
{
|
|
786
786
|
paths: [],
|
|
787
787
|
patterns: [],
|
|
@@ -790,122 +790,122 @@ export const baseRules = {
|
|
|
790
790
|
|
|
791
791
|
// Disallow certain properties on certain objects
|
|
792
792
|
// https://eslint.org/docs/latest/rules/no-restricted-properties
|
|
793
|
-
|
|
794
|
-
|
|
793
|
+
"no-restricted-properties": [
|
|
794
|
+
"error",
|
|
795
795
|
{
|
|
796
|
-
object:
|
|
797
|
-
property:
|
|
798
|
-
message:
|
|
796
|
+
object: "arguments",
|
|
797
|
+
property: "callee",
|
|
798
|
+
message: "`arguments.callee` is deprecated",
|
|
799
799
|
},
|
|
800
800
|
{
|
|
801
|
-
object:
|
|
802
|
-
property:
|
|
803
|
-
message:
|
|
801
|
+
object: "global",
|
|
802
|
+
property: "isFinite",
|
|
803
|
+
message: "Please use `Number.isFinite` instead",
|
|
804
804
|
},
|
|
805
805
|
{
|
|
806
|
-
object:
|
|
807
|
-
property:
|
|
808
|
-
message:
|
|
806
|
+
object: "self",
|
|
807
|
+
property: "isFinite",
|
|
808
|
+
message: "Please use `Number.isFinite` instead",
|
|
809
809
|
},
|
|
810
810
|
{
|
|
811
|
-
object:
|
|
812
|
-
property:
|
|
813
|
-
message:
|
|
811
|
+
object: "window",
|
|
812
|
+
property: "isFinite",
|
|
813
|
+
message: "Please use `Number.isFinite` instead",
|
|
814
814
|
},
|
|
815
815
|
{
|
|
816
|
-
object:
|
|
817
|
-
property:
|
|
818
|
-
message:
|
|
816
|
+
object: "global",
|
|
817
|
+
property: "isNaN",
|
|
818
|
+
message: "Please use `Number.isNaN` instead",
|
|
819
819
|
},
|
|
820
820
|
{
|
|
821
|
-
object:
|
|
822
|
-
property:
|
|
823
|
-
message:
|
|
821
|
+
object: "self",
|
|
822
|
+
property: "isNaN",
|
|
823
|
+
message: "Please use `Number.isNaN` instead",
|
|
824
824
|
},
|
|
825
825
|
{
|
|
826
|
-
object:
|
|
827
|
-
property:
|
|
828
|
-
message:
|
|
826
|
+
object: "window",
|
|
827
|
+
property: "isNaN",
|
|
828
|
+
message: "Please use `Number.isNaN` instead",
|
|
829
829
|
},
|
|
830
830
|
{
|
|
831
|
-
property:
|
|
832
|
-
message:
|
|
831
|
+
property: "__defineGetter__",
|
|
832
|
+
message: "Please use `Object.defineProperty` instead.",
|
|
833
833
|
},
|
|
834
834
|
{
|
|
835
|
-
property:
|
|
836
|
-
message:
|
|
835
|
+
property: "__defineSetter__",
|
|
836
|
+
message: "Please use `Object.defineProperty` instead.",
|
|
837
837
|
},
|
|
838
838
|
{
|
|
839
|
-
object:
|
|
840
|
-
property:
|
|
841
|
-
message:
|
|
839
|
+
object: "Math",
|
|
840
|
+
property: "pow",
|
|
841
|
+
message: "Use the exponentiation operator (`**`) instead.",
|
|
842
842
|
},
|
|
843
843
|
],
|
|
844
844
|
|
|
845
845
|
// Disallow specified syntax
|
|
846
846
|
// https://eslint.org/docs/latest/rules/no-restricted-syntax
|
|
847
|
-
|
|
848
|
-
|
|
847
|
+
"no-restricted-syntax": [
|
|
848
|
+
"error",
|
|
849
849
|
{
|
|
850
|
-
selector:
|
|
850
|
+
selector: "ForInStatement",
|
|
851
851
|
message:
|
|
852
|
-
|
|
852
|
+
"`for..in` loops iterate over the entire prototype chain, which is virtually never what you want. Use `Object.{keys,values,entries}`, and iterate over the resulting array.",
|
|
853
853
|
},
|
|
854
854
|
{
|
|
855
|
-
selector:
|
|
855
|
+
selector: "ForOfStatement",
|
|
856
856
|
message:
|
|
857
|
-
|
|
857
|
+
"iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations.",
|
|
858
858
|
},
|
|
859
859
|
{
|
|
860
|
-
selector:
|
|
861
|
-
message:
|
|
860
|
+
selector: "LabeledStatement",
|
|
861
|
+
message: "Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand.",
|
|
862
862
|
},
|
|
863
863
|
{
|
|
864
|
-
selector:
|
|
865
|
-
message:
|
|
864
|
+
selector: "WithStatement",
|
|
865
|
+
message: "`with` is disallowed in strict mode because it makes code impossible to predict and optimize.",
|
|
866
866
|
},
|
|
867
867
|
],
|
|
868
868
|
|
|
869
869
|
// Disallow assignment operators in `return` statements
|
|
870
870
|
// https://eslint.org/docs/latest/rules/no-return-assign
|
|
871
|
-
|
|
871
|
+
"no-return-assign": ["error", "always"],
|
|
872
872
|
|
|
873
873
|
// Disallow `javascript:` urls
|
|
874
874
|
// https://eslint.org/docs/latest/rules/no-script-url
|
|
875
|
-
|
|
875
|
+
"no-script-url": "error",
|
|
876
876
|
|
|
877
877
|
// Disallow comma operators
|
|
878
878
|
// https://eslint.org/docs/latest/rules/no-sequences
|
|
879
|
-
|
|
879
|
+
"no-sequences": "error",
|
|
880
880
|
|
|
881
881
|
// Disallow variable declarations from shadowing variables declared in the outer scope
|
|
882
882
|
// https://eslint.org/docs/latest/rules/no-shadow
|
|
883
|
-
|
|
883
|
+
"no-shadow": "error",
|
|
884
884
|
|
|
885
885
|
// Disallow identifiers from shadowing restricted names
|
|
886
886
|
// https://eslint.org/docs/latest/rules/no-shadow-restricted-names
|
|
887
|
-
|
|
887
|
+
"no-shadow-restricted-names": "error",
|
|
888
888
|
|
|
889
889
|
// Disallow ternary operators
|
|
890
890
|
// https://eslint.org/docs/latest/rules/no-ternary
|
|
891
|
-
|
|
891
|
+
"no-ternary": "off",
|
|
892
892
|
|
|
893
893
|
// Disallow throwing literals as exceptions
|
|
894
894
|
// https://eslint.org/docs/latest/rules/no-throw-literal
|
|
895
|
-
|
|
895
|
+
"no-throw-literal": "error",
|
|
896
896
|
|
|
897
897
|
// Disallow initializing variables to `undefined`
|
|
898
898
|
// https://eslint.org/docs/latest/rules/no-undef-init
|
|
899
|
-
|
|
899
|
+
"no-undef-init": "error",
|
|
900
900
|
|
|
901
901
|
// Disallow the use of `undefined` as an identifier
|
|
902
902
|
// https://eslint.org/docs/latest/rules/no-undefined
|
|
903
|
-
|
|
903
|
+
"no-undefined": "off",
|
|
904
904
|
|
|
905
905
|
// Disallow dangling underscores in identifiers
|
|
906
906
|
// https://eslint.org/docs/latest/rules/no-underscore-dangle
|
|
907
|
-
|
|
908
|
-
|
|
907
|
+
"no-underscore-dangle": [
|
|
908
|
+
"error",
|
|
909
909
|
{
|
|
910
910
|
allow: [],
|
|
911
911
|
allowAfterThis: false,
|
|
@@ -916,12 +916,12 @@ export const baseRules = {
|
|
|
916
916
|
|
|
917
917
|
// Disallow ternary operators when simpler alternatives exist
|
|
918
918
|
// https://eslint.org/docs/latest/rules/no-unneeded-ternary
|
|
919
|
-
|
|
919
|
+
"no-unneeded-ternary": ["error", { defaultAssignment: false }],
|
|
920
920
|
|
|
921
921
|
// Disallow unused expressions
|
|
922
922
|
// https://eslint.org/docs/latest/rules/no-unused-expressions
|
|
923
|
-
|
|
924
|
-
|
|
923
|
+
"no-unused-expressions": [
|
|
924
|
+
"error",
|
|
925
925
|
{
|
|
926
926
|
allowShortCircuit: false,
|
|
927
927
|
allowTernary: false,
|
|
@@ -931,36 +931,36 @@ export const baseRules = {
|
|
|
931
931
|
|
|
932
932
|
// Disallow unused labels
|
|
933
933
|
// https://eslint.org/docs/latest/rules/no-unused-labels
|
|
934
|
-
|
|
934
|
+
"no-unused-labels": "error",
|
|
935
935
|
|
|
936
936
|
// Disallow unnecessary calls to `.call()` and `.apply()`
|
|
937
937
|
// https://eslint.org/docs/latest/rules/no-useless-call
|
|
938
|
-
|
|
938
|
+
"no-useless-call": "off",
|
|
939
939
|
|
|
940
940
|
// Disallow unnecessary `catch` clauses
|
|
941
941
|
// https://eslint.org/docs/latest/rules/no-useless-catch
|
|
942
|
-
|
|
942
|
+
"no-useless-catch": "error",
|
|
943
943
|
|
|
944
944
|
// Disallow unnecessary computed property keys in objects and classes
|
|
945
945
|
// https://eslint.org/docs/latest/rules/no-useless-computed-key
|
|
946
|
-
|
|
946
|
+
"no-useless-computed-key": "error",
|
|
947
947
|
|
|
948
948
|
// Disallow unnecessary concatenation of literals or template literals
|
|
949
949
|
// https://eslint.org/docs/latest/rules/no-useless-concat
|
|
950
|
-
|
|
950
|
+
"no-useless-concat": "error",
|
|
951
951
|
|
|
952
952
|
// Disallow unnecessary constructors
|
|
953
953
|
// https://eslint.org/docs/latest/rules/no-useless-constructor
|
|
954
|
-
|
|
954
|
+
"no-useless-constructor": "error",
|
|
955
955
|
|
|
956
956
|
// Disallow unnecessary escape characters
|
|
957
957
|
// https://eslint.org/docs/latest/rules/no-useless-escape
|
|
958
|
-
|
|
958
|
+
"no-useless-escape": "error",
|
|
959
959
|
|
|
960
960
|
// Disallow renaming import, export, and destructured assignments to the same name
|
|
961
961
|
// https://eslint.org/docs/latest/rules/no-useless-rename
|
|
962
|
-
|
|
963
|
-
|
|
962
|
+
"no-useless-rename": [
|
|
963
|
+
"error",
|
|
964
964
|
{
|
|
965
965
|
ignoreDestructuring: false,
|
|
966
966
|
ignoreImport: false,
|
|
@@ -970,29 +970,29 @@ export const baseRules = {
|
|
|
970
970
|
|
|
971
971
|
// Require `let` or `const` instead of `var`
|
|
972
972
|
// https://eslint.org/docs/latest/rules/no-var
|
|
973
|
-
|
|
973
|
+
"no-var": "error",
|
|
974
974
|
|
|
975
975
|
// Disallow redundant `return` statements
|
|
976
976
|
// https://eslint.org/docs/latest/rules/no-useless-return
|
|
977
|
-
|
|
977
|
+
"no-useless-return": "error",
|
|
978
978
|
|
|
979
979
|
// Disallow `void` operators
|
|
980
980
|
// https://eslint.org/docs/latest/rules/no-void
|
|
981
|
-
|
|
981
|
+
"no-void": "error",
|
|
982
982
|
|
|
983
983
|
// Disallow specified warning terms in comments
|
|
984
984
|
// https://eslint.org/docs/latest/rules/no-warning-comments
|
|
985
|
-
|
|
985
|
+
"no-warning-comments": ["off", { terms: ["todo", "fixme", "xxx"], location: "start" }],
|
|
986
986
|
|
|
987
987
|
// Disallow `with` statements
|
|
988
988
|
// https://eslint.org/docs/latest/rules/no-with
|
|
989
|
-
|
|
989
|
+
"no-with": "error",
|
|
990
990
|
|
|
991
991
|
// Require or disallow method and property shorthand syntax for object literals
|
|
992
992
|
// https://eslint.org/docs/latest/rules/object-shorthand
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
993
|
+
"object-shorthand": [
|
|
994
|
+
"error",
|
|
995
|
+
"always",
|
|
996
996
|
{
|
|
997
997
|
ignoreConstructors: false,
|
|
998
998
|
avoidQuotes: true,
|
|
@@ -1001,16 +1001,16 @@ export const baseRules = {
|
|
|
1001
1001
|
|
|
1002
1002
|
// Enforce variables to be declared either together or separately in functions
|
|
1003
1003
|
// https://eslint.org/docs/latest/rules/one-var
|
|
1004
|
-
|
|
1004
|
+
"one-var": ["error", "never"],
|
|
1005
1005
|
|
|
1006
1006
|
// Require or disallow assignment operator shorthand where possible
|
|
1007
1007
|
// https://eslint.org/docs/latest/rules/operator-assignment
|
|
1008
|
-
|
|
1008
|
+
"operator-assignment": ["error", "always"],
|
|
1009
1009
|
|
|
1010
1010
|
// Require using arrow functions for callbacks
|
|
1011
1011
|
// https://eslint.org/docs/latest/rules/prefer-arrow-callback
|
|
1012
|
-
|
|
1013
|
-
|
|
1012
|
+
"prefer-arrow-callback": [
|
|
1013
|
+
"error",
|
|
1014
1014
|
{
|
|
1015
1015
|
allowNamedFunctions: false,
|
|
1016
1016
|
allowUnboundThis: true,
|
|
@@ -1019,18 +1019,18 @@ export const baseRules = {
|
|
|
1019
1019
|
|
|
1020
1020
|
// Require `const` declarations for variables that are never reassigned after declared
|
|
1021
1021
|
// https://eslint.org/docs/latest/rules/prefer-const
|
|
1022
|
-
|
|
1023
|
-
|
|
1022
|
+
"prefer-const": [
|
|
1023
|
+
"error",
|
|
1024
1024
|
{
|
|
1025
|
-
destructuring:
|
|
1025
|
+
destructuring: "any",
|
|
1026
1026
|
ignoreReadBeforeAssign: true,
|
|
1027
1027
|
},
|
|
1028
1028
|
],
|
|
1029
1029
|
|
|
1030
1030
|
// Require destructuring from arrays and/or objects
|
|
1031
1031
|
// https://eslint.org/docs/latest/rules/prefer-destructuring
|
|
1032
|
-
|
|
1033
|
-
|
|
1032
|
+
"prefer-destructuring": [
|
|
1033
|
+
"error",
|
|
1034
1034
|
{
|
|
1035
1035
|
VariableDeclarator: {
|
|
1036
1036
|
array: false,
|
|
@@ -1048,32 +1048,32 @@ export const baseRules = {
|
|
|
1048
1048
|
|
|
1049
1049
|
// Disallow the use of `Math.pow` in favor of the `**` operator
|
|
1050
1050
|
// https://eslint.org/docs/latest/rules/prefer-exponentiation-operator
|
|
1051
|
-
|
|
1051
|
+
"prefer-exponentiation-operator": "error",
|
|
1052
1052
|
|
|
1053
1053
|
// Enforce using named capture group in regular expression
|
|
1054
1054
|
// https://eslint.org/docs/latest/rules/prefer-named-capture-group
|
|
1055
|
-
|
|
1055
|
+
"prefer-named-capture-group": "off",
|
|
1056
1056
|
|
|
1057
1057
|
// Disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals
|
|
1058
1058
|
// https://eslint.org/docs/latest/rules/prefer-numeric-literals
|
|
1059
|
-
|
|
1059
|
+
"prefer-numeric-literals": "error",
|
|
1060
1060
|
|
|
1061
1061
|
// Disallow use of `Object.prototype.hasOwnProperty.call()` and prefer use of `Object.hasOwn()`
|
|
1062
1062
|
// https://eslint.org/docs/latest/rules/prefer-object-has-own
|
|
1063
|
-
|
|
1063
|
+
"prefer-object-has-own": "off",
|
|
1064
1064
|
|
|
1065
1065
|
// Disallow using `Object.assign` with an object literal as the first argument and prefer the use of object spread instead
|
|
1066
1066
|
// https://eslint.org/docs/latest/rules/prefer-object-spread
|
|
1067
|
-
|
|
1067
|
+
"prefer-object-spread": "error",
|
|
1068
1068
|
|
|
1069
1069
|
// Require using `Error` objects as `Promise` rejection reasons
|
|
1070
1070
|
// https://eslint.org/docs/latest/rules/prefer-promise-reject-errors
|
|
1071
|
-
|
|
1071
|
+
"prefer-promise-reject-errors": ["error", { allowEmptyReject: true }],
|
|
1072
1072
|
|
|
1073
1073
|
// Disallow use of the `RegExp` constructor in favor of regular expression literals
|
|
1074
1074
|
// https://eslint.org/docs/latest/rules/prefer-regex-literals
|
|
1075
|
-
|
|
1076
|
-
|
|
1075
|
+
"prefer-regex-literals": [
|
|
1076
|
+
"error",
|
|
1077
1077
|
{
|
|
1078
1078
|
disallowRedundantWrapping: true,
|
|
1079
1079
|
},
|
|
@@ -1081,109 +1081,109 @@ export const baseRules = {
|
|
|
1081
1081
|
|
|
1082
1082
|
// Require rest parameters instead of `arguments`
|
|
1083
1083
|
// https://eslint.org/docs/latest/rules/prefer-rest-params
|
|
1084
|
-
|
|
1084
|
+
"prefer-rest-params": "error",
|
|
1085
1085
|
|
|
1086
1086
|
// Require spread operators instead of `.apply()`
|
|
1087
1087
|
// https://eslint.org/docs/latest/rules/prefer-spread
|
|
1088
|
-
|
|
1088
|
+
"prefer-spread": "error",
|
|
1089
1089
|
|
|
1090
1090
|
// Require template literals instead of string concatenation
|
|
1091
1091
|
// https://eslint.org/docs/latest/rules/prefer-template
|
|
1092
|
-
|
|
1092
|
+
"prefer-template": "error",
|
|
1093
1093
|
|
|
1094
1094
|
// Enforce the consistent use of the radix argument when using `parseInt()`
|
|
1095
1095
|
// https://eslint.org/docs/latest/rules/radix
|
|
1096
|
-
radix:
|
|
1096
|
+
radix: "error",
|
|
1097
1097
|
|
|
1098
1098
|
// Disallow `async` functions which have no `await` expression
|
|
1099
1099
|
// https://eslint.org/docs/latest/rules/require-await
|
|
1100
|
-
|
|
1100
|
+
"require-await": "off",
|
|
1101
1101
|
|
|
1102
1102
|
// Enforce the use of `u` or `v` flag on `RegExp`
|
|
1103
1103
|
// https://eslint.org/docs/latest/rules/require-unicode-regexp
|
|
1104
|
-
|
|
1104
|
+
"require-unicode-regexp": "off",
|
|
1105
1105
|
|
|
1106
1106
|
// Require generator functions to contain `yield`
|
|
1107
1107
|
// https://eslint.org/docs/latest/rules/require-yield
|
|
1108
|
-
|
|
1108
|
+
"require-yield": "error",
|
|
1109
1109
|
|
|
1110
1110
|
// Enforce sorted `import` declarations within modules
|
|
1111
1111
|
// https://eslint.org/docs/latest/rules/sort-imports
|
|
1112
|
-
|
|
1113
|
-
|
|
1112
|
+
"sort-imports": [
|
|
1113
|
+
"off",
|
|
1114
1114
|
{
|
|
1115
1115
|
ignoreCase: false,
|
|
1116
1116
|
ignoreDeclarationSort: false,
|
|
1117
1117
|
ignoreMemberSort: false,
|
|
1118
|
-
memberSyntaxSortOrder: [
|
|
1118
|
+
memberSyntaxSortOrder: ["none", "all", "multiple", "single"],
|
|
1119
1119
|
},
|
|
1120
1120
|
],
|
|
1121
1121
|
|
|
1122
1122
|
// Require object keys to be sorted
|
|
1123
1123
|
// https://eslint.org/docs/latest/rules/sort-keys
|
|
1124
|
-
|
|
1124
|
+
"sort-keys": ["off", "asc", { caseSensitive: false, natural: true }],
|
|
1125
1125
|
|
|
1126
1126
|
// Require variables within the same declaration block to be sorted
|
|
1127
1127
|
// https://eslint.org/docs/latest/rules/sort-vars
|
|
1128
|
-
|
|
1128
|
+
"sort-vars": "off",
|
|
1129
1129
|
|
|
1130
1130
|
// Require or disallow strict mode directives
|
|
1131
1131
|
// https://eslint.org/docs/latest/rules/strict
|
|
1132
|
-
strict: [
|
|
1132
|
+
strict: ["error", "never"],
|
|
1133
1133
|
|
|
1134
1134
|
// Require `symbol` descriptions
|
|
1135
1135
|
// https://eslint.org/docs/latest/rules/symbol-description
|
|
1136
|
-
|
|
1136
|
+
"symbol-description": "error",
|
|
1137
1137
|
|
|
1138
1138
|
// Require `var` declarations be placed at the top of their containing scope
|
|
1139
1139
|
// https://eslint.org/docs/latest/rules/vars-on-top
|
|
1140
|
-
|
|
1140
|
+
"vars-on-top": "error",
|
|
1141
1141
|
|
|
1142
1142
|
// Require or disallow "Yoda" conditions
|
|
1143
1143
|
// https://eslint.org/docs/latest/rules/yoda
|
|
1144
|
-
yoda:
|
|
1144
|
+
yoda: "error",
|
|
1145
1145
|
|
|
1146
1146
|
// Layout & Formatting - These rules care about how the code looks rather than how it executes
|
|
1147
1147
|
|
|
1148
1148
|
// Enforce position of line comments
|
|
1149
1149
|
// https://eslint.org/docs/latest/rules/line-comment-position
|
|
1150
|
-
|
|
1151
|
-
|
|
1150
|
+
"line-comment-position": [
|
|
1151
|
+
"off",
|
|
1152
1152
|
{
|
|
1153
|
-
position:
|
|
1154
|
-
ignorePattern:
|
|
1153
|
+
position: "above",
|
|
1154
|
+
ignorePattern: "",
|
|
1155
1155
|
applyDefaultPatterns: true,
|
|
1156
1156
|
},
|
|
1157
1157
|
],
|
|
1158
1158
|
|
|
1159
1159
|
// Require or disallow Unicode byte order mark (BOM)
|
|
1160
1160
|
// https://eslint.org/docs/latest/rules/unicode-bom
|
|
1161
|
-
|
|
1161
|
+
"unicode-bom": ["error", "never"],
|
|
1162
1162
|
|
|
1163
1163
|
// Deprecated - These rules have been deprecated in accordance with the deprecation policy, and replaced by newer rules
|
|
1164
1164
|
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1165
|
+
"array-bracket-newline": ["off", "consistent"],
|
|
1166
|
+
"array-bracket-spacing": ["error", "never"],
|
|
1167
|
+
"array-element-newline": ["off", { multiline: true, minItems: 3 }],
|
|
1168
|
+
"arrow-parens": ["error", "always"],
|
|
1169
|
+
"arrow-spacing": ["error", { before: true, after: true }],
|
|
1170
|
+
"block-spacing": ["error", "always"],
|
|
1171
|
+
"brace-style": ["error", "1tbs", { allowSingleLine: true }],
|
|
1172
|
+
"callback-return": "off",
|
|
1173
|
+
"comma-dangle": [
|
|
1174
|
+
"error",
|
|
1175
1175
|
{
|
|
1176
|
-
arrays:
|
|
1177
|
-
objects:
|
|
1178
|
-
imports:
|
|
1179
|
-
exports:
|
|
1180
|
-
functions:
|
|
1176
|
+
arrays: "always-multiline",
|
|
1177
|
+
objects: "always-multiline",
|
|
1178
|
+
imports: "always-multiline",
|
|
1179
|
+
exports: "always-multiline",
|
|
1180
|
+
functions: "always-multiline",
|
|
1181
1181
|
},
|
|
1182
1182
|
],
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1183
|
+
"comma-spacing": ["error", { before: false, after: true }],
|
|
1184
|
+
"comma-style": [
|
|
1185
|
+
"error",
|
|
1186
|
+
"last",
|
|
1187
1187
|
{
|
|
1188
1188
|
exceptions: {
|
|
1189
1189
|
ArrayExpression: false,
|
|
@@ -1200,20 +1200,20 @@ export const baseRules = {
|
|
|
1200
1200
|
},
|
|
1201
1201
|
},
|
|
1202
1202
|
],
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1203
|
+
"computed-property-spacing": ["error", "never"],
|
|
1204
|
+
"dot-location": ["error", "property"],
|
|
1205
|
+
"eol-last": ["error", "always"],
|
|
1206
|
+
"func-call-spacing": ["error", "never"],
|
|
1207
|
+
"function-call-argument-newline": ["error", "consistent"],
|
|
1208
|
+
"function-paren-newline": ["error", "multiline-arguments"],
|
|
1209
|
+
"generator-star-spacing": ["error", { before: false, after: true }],
|
|
1210
|
+
"global-require": "error",
|
|
1211
|
+
"handle-callback-err": "off",
|
|
1212
1212
|
// Replaced by id-denylist
|
|
1213
|
-
|
|
1214
|
-
|
|
1213
|
+
"id-blacklist": "off",
|
|
1214
|
+
"implicit-arrow-linebreak": ["error", "beside"],
|
|
1215
1215
|
indent: [
|
|
1216
|
-
|
|
1216
|
+
"error",
|
|
1217
1217
|
2,
|
|
1218
1218
|
{
|
|
1219
1219
|
SwitchCase: 1,
|
|
@@ -1235,32 +1235,32 @@ export const baseRules = {
|
|
|
1235
1235
|
ImportDeclaration: 1,
|
|
1236
1236
|
flatTernaryExpressions: false,
|
|
1237
1237
|
ignoredNodes: [
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1238
|
+
"JSXElement",
|
|
1239
|
+
"JSXElement > *",
|
|
1240
|
+
"JSXAttribute",
|
|
1241
|
+
"JSXIdentifier",
|
|
1242
|
+
"JSXNamespacedName",
|
|
1243
|
+
"JSXMemberExpression",
|
|
1244
|
+
"JSXSpreadAttribute",
|
|
1245
|
+
"JSXExpressionContainer",
|
|
1246
|
+
"JSXOpeningElement",
|
|
1247
|
+
"JSXClosingElement",
|
|
1248
|
+
"JSXFragment",
|
|
1249
|
+
"JSXOpeningFragment",
|
|
1250
|
+
"JSXClosingFragment",
|
|
1251
|
+
"JSXText",
|
|
1252
|
+
"JSXEmptyExpression",
|
|
1253
|
+
"JSXSpreadChild",
|
|
1254
1254
|
],
|
|
1255
1255
|
ignoreComments: false,
|
|
1256
1256
|
},
|
|
1257
1257
|
],
|
|
1258
1258
|
// Replaced by indent
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1259
|
+
"indent-legacy": "off",
|
|
1260
|
+
"jsx-quotes": ["off", "prefer-double"],
|
|
1261
|
+
"key-spacing": ["error", { beforeColon: false, afterColon: true }],
|
|
1262
|
+
"keyword-spacing": [
|
|
1263
|
+
"error",
|
|
1264
1264
|
{
|
|
1265
1265
|
before: true,
|
|
1266
1266
|
after: true,
|
|
@@ -1271,19 +1271,19 @@ export const baseRules = {
|
|
|
1271
1271
|
},
|
|
1272
1272
|
},
|
|
1273
1273
|
],
|
|
1274
|
-
|
|
1275
|
-
|
|
1274
|
+
"linebreak-style": ["error", "unix"],
|
|
1275
|
+
"lines-around-comment": "off",
|
|
1276
1276
|
// Replaced by padding-line-between-statements
|
|
1277
|
-
|
|
1278
|
-
|
|
1277
|
+
"lines-around-directive": [
|
|
1278
|
+
"error",
|
|
1279
1279
|
{
|
|
1280
|
-
before:
|
|
1281
|
-
after:
|
|
1280
|
+
before: "always",
|
|
1281
|
+
after: "always",
|
|
1282
1282
|
},
|
|
1283
1283
|
],
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1284
|
+
"lines-between-class-members": ["error", "always", { exceptAfterSingleLine: false }],
|
|
1285
|
+
"max-len": [
|
|
1286
|
+
"error",
|
|
1287
1287
|
100,
|
|
1288
1288
|
2,
|
|
1289
1289
|
{
|
|
@@ -1294,89 +1294,89 @@ export const baseRules = {
|
|
|
1294
1294
|
ignoreTemplateLiterals: true,
|
|
1295
1295
|
},
|
|
1296
1296
|
],
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1297
|
+
"max-statements-per-line": ["off", { max: 1 }],
|
|
1298
|
+
"multiline-ternary": ["off", "never"],
|
|
1299
|
+
"new-parens": "error",
|
|
1300
1300
|
// Replaced by padding-line-between-statements
|
|
1301
|
-
|
|
1301
|
+
"newline-after-var": "off",
|
|
1302
1302
|
// Replaced by padding-line-between-statements
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1303
|
+
"newline-before-return": "off",
|
|
1304
|
+
"newline-per-chained-call": ["error", { ignoreChainWithDepth: 4 }],
|
|
1305
|
+
"no-buffer-constructor": "error",
|
|
1306
1306
|
// Replaced by no-shadow
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1307
|
+
"no-catch-shadow": "off",
|
|
1308
|
+
"no-confusing-arrow": [
|
|
1309
|
+
"error",
|
|
1310
1310
|
{
|
|
1311
1311
|
allowParens: true,
|
|
1312
1312
|
},
|
|
1313
1313
|
],
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1314
|
+
"no-extra-parens": [
|
|
1315
|
+
"off",
|
|
1316
|
+
"all",
|
|
1317
1317
|
{
|
|
1318
1318
|
conditionalAssign: true,
|
|
1319
1319
|
nestedBinaryExpressions: false,
|
|
1320
1320
|
returnAssign: false,
|
|
1321
|
-
ignoreJSX:
|
|
1321
|
+
ignoreJSX: "all",
|
|
1322
1322
|
enforceForArrowConditionals: false,
|
|
1323
1323
|
},
|
|
1324
1324
|
],
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1325
|
+
"no-extra-semi": "error",
|
|
1326
|
+
"no-floating-decimal": "error",
|
|
1327
|
+
"no-mixed-operators": [
|
|
1328
|
+
"error",
|
|
1329
1329
|
{
|
|
1330
1330
|
groups: [
|
|
1331
|
-
[
|
|
1332
|
-
[
|
|
1333
|
-
[
|
|
1334
|
-
[
|
|
1335
|
-
[
|
|
1336
|
-
[
|
|
1337
|
-
[
|
|
1338
|
-
[
|
|
1339
|
-
[
|
|
1331
|
+
["%", "**"],
|
|
1332
|
+
["%", "+"],
|
|
1333
|
+
["%", "-"],
|
|
1334
|
+
["%", "*"],
|
|
1335
|
+
["%", "/"],
|
|
1336
|
+
["/", "*"],
|
|
1337
|
+
["&", "|", "<<", ">>", ">>>"],
|
|
1338
|
+
["==", "!=", "===", "!=="],
|
|
1339
|
+
["&&", "||"],
|
|
1340
1340
|
],
|
|
1341
1341
|
allowSamePrecedence: false,
|
|
1342
1342
|
},
|
|
1343
1343
|
],
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1344
|
+
"no-mixed-requires": ["off", false],
|
|
1345
|
+
"no-mixed-spaces-and-tabs": "error",
|
|
1346
|
+
"no-multi-spaces": [
|
|
1347
|
+
"error",
|
|
1348
1348
|
{
|
|
1349
1349
|
ignoreEOLComments: false,
|
|
1350
1350
|
},
|
|
1351
1351
|
],
|
|
1352
|
-
|
|
1352
|
+
"no-multiple-empty-lines": ["error", { max: 1, maxBOF: 0, maxEOF: 0 }],
|
|
1353
1353
|
// Replaced by no-global-assign
|
|
1354
|
-
|
|
1354
|
+
"no-native-reassign": "off",
|
|
1355
1355
|
// Replaced by no-unsafe-negation
|
|
1356
|
-
|
|
1356
|
+
"no-negated-in-lhs": "off",
|
|
1357
1357
|
// Replaced by no-object-constructor
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1358
|
+
"no-new-object": "error",
|
|
1359
|
+
"no-new-require": "error",
|
|
1360
|
+
"no-path-concat": "error",
|
|
1361
|
+
"no-process-env": "off",
|
|
1362
|
+
"no-process-exit": "off",
|
|
1363
|
+
"no-restricted-modules": "off",
|
|
1364
|
+
"no-return-await": "error",
|
|
1365
1365
|
// Replaced by func-call-spacing
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1366
|
+
"no-spaced-func": "error",
|
|
1367
|
+
"no-sync": "off",
|
|
1368
|
+
"no-tabs": "error",
|
|
1369
|
+
"no-trailing-spaces": [
|
|
1370
|
+
"error",
|
|
1371
1371
|
{
|
|
1372
1372
|
skipBlankLines: false,
|
|
1373
1373
|
ignoreComments: false,
|
|
1374
1374
|
},
|
|
1375
1375
|
],
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1376
|
+
"no-whitespace-before-property": "error",
|
|
1377
|
+
"nonblock-statement-body-position": ["error", "beside", { overrides: {} }],
|
|
1378
|
+
"object-curly-newline": [
|
|
1379
|
+
"error",
|
|
1380
1380
|
{
|
|
1381
1381
|
ObjectExpression: { minProperties: 4, multiline: true, consistent: true },
|
|
1382
1382
|
ObjectPattern: { minProperties: 4, multiline: true, consistent: true },
|
|
@@ -1384,75 +1384,75 @@ export const baseRules = {
|
|
|
1384
1384
|
ExportDeclaration: { minProperties: 4, multiline: true, consistent: true },
|
|
1385
1385
|
},
|
|
1386
1386
|
],
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1387
|
+
"object-curly-spacing": ["error", "always"],
|
|
1388
|
+
"object-property-newline": [
|
|
1389
|
+
"error",
|
|
1390
1390
|
{
|
|
1391
1391
|
allowAllPropertiesOnSameLine: true,
|
|
1392
1392
|
},
|
|
1393
1393
|
],
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1394
|
+
"one-var-declaration-per-line": ["error", "always"],
|
|
1395
|
+
"operator-linebreak": ["error", "before", { overrides: { "=": "none" } }],
|
|
1396
|
+
"padded-blocks": [
|
|
1397
|
+
"error",
|
|
1398
1398
|
{
|
|
1399
|
-
blocks:
|
|
1400
|
-
classes:
|
|
1401
|
-
switches:
|
|
1399
|
+
blocks: "never",
|
|
1400
|
+
classes: "never",
|
|
1401
|
+
switches: "never",
|
|
1402
1402
|
},
|
|
1403
1403
|
{
|
|
1404
1404
|
allowSingleLineBlocks: true,
|
|
1405
1405
|
},
|
|
1406
1406
|
],
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
quotes: [
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
semi: [
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1407
|
+
"padding-line-between-statements": "off",
|
|
1408
|
+
"prefer-reflect": "off",
|
|
1409
|
+
"quote-props": ["error", "as-needed", { keywords: false, unnecessary: true, numbers: false }],
|
|
1410
|
+
quotes: ["error", "single", { avoidEscape: true }],
|
|
1411
|
+
"require-jsdoc": "off",
|
|
1412
|
+
"rest-spread-spacing": ["error", "never"],
|
|
1413
|
+
semi: ["error", "always"],
|
|
1414
|
+
"semi-spacing": ["error", { before: false, after: true }],
|
|
1415
|
+
"semi-style": ["error", "last"],
|
|
1416
|
+
"space-before-blocks": "error",
|
|
1417
|
+
"space-before-function-paren": [
|
|
1418
|
+
"error",
|
|
1419
1419
|
{
|
|
1420
|
-
anonymous:
|
|
1421
|
-
named:
|
|
1422
|
-
asyncArrow:
|
|
1420
|
+
anonymous: "always",
|
|
1421
|
+
named: "never",
|
|
1422
|
+
asyncArrow: "always",
|
|
1423
1423
|
},
|
|
1424
1424
|
],
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1425
|
+
"space-in-parens": ["error", "never"],
|
|
1426
|
+
"space-infix-ops": "error",
|
|
1427
|
+
"space-unary-ops": [
|
|
1428
|
+
"error",
|
|
1429
1429
|
{
|
|
1430
1430
|
words: true,
|
|
1431
1431
|
nonwords: false,
|
|
1432
1432
|
overrides: {},
|
|
1433
1433
|
},
|
|
1434
1434
|
],
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1435
|
+
"spaced-comment": [
|
|
1436
|
+
"error",
|
|
1437
|
+
"always",
|
|
1438
1438
|
{
|
|
1439
1439
|
line: {
|
|
1440
|
-
exceptions: [
|
|
1441
|
-
markers: [
|
|
1440
|
+
exceptions: ["-", "+"],
|
|
1441
|
+
markers: ["=", "!", "/"],
|
|
1442
1442
|
},
|
|
1443
1443
|
block: {
|
|
1444
|
-
exceptions: [
|
|
1445
|
-
markers: [
|
|
1444
|
+
exceptions: ["-", "+"],
|
|
1445
|
+
markers: ["=", "!", ":", "::"],
|
|
1446
1446
|
balanced: true,
|
|
1447
1447
|
},
|
|
1448
1448
|
},
|
|
1449
1449
|
],
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1450
|
+
"switch-colon-spacing": ["error", { after: true, before: false }],
|
|
1451
|
+
"template-curly-spacing": "error",
|
|
1452
|
+
"template-tag-spacing": ["error", "never"],
|
|
1453
|
+
"valid-jsdoc": "off",
|
|
1454
|
+
"wrap-iife": ["error", "outside", { functionPrototypeMethods: false }],
|
|
1455
|
+
"wrap-regex": "off",
|
|
1456
|
+
"yield-star-spacing": ["error", "after"],
|
|
1457
1457
|
},
|
|
1458
1458
|
};
|