@jpp-toolkit/eslint-config 0.0.102 → 0.0.103
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/dist/index.mjs +3399 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -23,105 +23,678 @@ const eslintConfig = defineConfig({
|
|
|
23
23
|
name: "eslint-config",
|
|
24
24
|
extends: [eslint.configs.recommended],
|
|
25
25
|
rules: {
|
|
26
|
+
/**
|
|
27
|
+
* Enforce return statements in callbacks of array methods.
|
|
28
|
+
* @see {@link https://eslint.org/docs/latest/rules/array-callback-return}
|
|
29
|
+
*/
|
|
26
30
|
"array-callback-return": "error",
|
|
31
|
+
/**
|
|
32
|
+
* Disallow await inside of loops.
|
|
33
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-await-in-loop}
|
|
34
|
+
*/
|
|
35
|
+
/**
|
|
36
|
+
* Disallow returning value from constructor.
|
|
37
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-constructor-return}
|
|
38
|
+
*/
|
|
27
39
|
"no-constructor-return": "error",
|
|
40
|
+
/**
|
|
41
|
+
* Disallow duplicate module imports.
|
|
42
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-duplicate-imports}
|
|
43
|
+
*/
|
|
28
44
|
"no-duplicate-imports": "error",
|
|
45
|
+
/**
|
|
46
|
+
* Disallow variable or function declarations in nested blocks.
|
|
47
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-inner-declarations}
|
|
48
|
+
*/
|
|
29
49
|
"no-inner-declarations": "error",
|
|
50
|
+
/**
|
|
51
|
+
* Disallow returning values from Promise executor functions.
|
|
52
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-promise-executor-return}
|
|
53
|
+
*/
|
|
30
54
|
"no-promise-executor-return": ["error", { allowVoid: true }],
|
|
55
|
+
/**
|
|
56
|
+
* Disallow comparisons where both sides are exactly the same.
|
|
57
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-self-compare}
|
|
58
|
+
*/
|
|
31
59
|
"no-self-compare": "error",
|
|
60
|
+
/**
|
|
61
|
+
* Disallow template literal placeholder syntax in regular strings.
|
|
62
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-template-curly-in-string}
|
|
63
|
+
*/
|
|
32
64
|
"no-template-curly-in-string": "error",
|
|
65
|
+
/**
|
|
66
|
+
* Disallow let or var variables that are read but never assigned.
|
|
67
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-unassigned-vars}
|
|
68
|
+
*/
|
|
33
69
|
"no-unassigned-vars": "error",
|
|
70
|
+
/**
|
|
71
|
+
* Disallow unmodified loop conditions.
|
|
72
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-unmodified-loop-condition}
|
|
73
|
+
*/
|
|
34
74
|
"no-unmodified-loop-condition": "error",
|
|
75
|
+
/**
|
|
76
|
+
* Disallow loops with a body that allows only one iteration.
|
|
77
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-unreachable-loop}
|
|
78
|
+
*/
|
|
35
79
|
"no-unreachable-loop": "error",
|
|
80
|
+
/**
|
|
81
|
+
* Disallow the use of variables before they are defined.
|
|
82
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-use-before-define}
|
|
83
|
+
*/
|
|
36
84
|
"no-use-before-define": "error",
|
|
85
|
+
/**
|
|
86
|
+
* Disallow variable assignments when the value is not used.
|
|
87
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-useless-assignment}
|
|
88
|
+
*/
|
|
37
89
|
"no-useless-assignment": "error",
|
|
90
|
+
/**
|
|
91
|
+
* Disallow assignments that can lead to race conditions due to usage of await or yield.
|
|
92
|
+
* @see {@link https://eslint.org/docs/latest/rules/require-atomic-updates}
|
|
93
|
+
*/
|
|
38
94
|
"require-atomic-updates": "error",
|
|
95
|
+
/**
|
|
96
|
+
* Enforce getter and setter pairs in objects and classes.
|
|
97
|
+
* @see {@link https://eslint.org/docs/latest/rules/accessor-pairs}
|
|
98
|
+
*/
|
|
99
|
+
/**
|
|
100
|
+
* Require braces around arrow function bodies.
|
|
101
|
+
* @fixable
|
|
102
|
+
* @see {@link https://eslint.org/docs/latest/rules/arrow-body-style}
|
|
103
|
+
*/
|
|
39
104
|
"arrow-body-style": "error",
|
|
105
|
+
/**
|
|
106
|
+
* Enforce the use of variables within the scope they are defined.
|
|
107
|
+
* @see {@link https://eslint.org/docs/latest/rules/block-scoped-var}
|
|
108
|
+
*/
|
|
40
109
|
"block-scoped-var": "error",
|
|
110
|
+
/**
|
|
111
|
+
* Enforce camelcase naming convention.
|
|
112
|
+
* @see {@link https://eslint.org/docs/latest/rules/camelcase}
|
|
113
|
+
*/
|
|
41
114
|
"camelcase": "error",
|
|
115
|
+
/**
|
|
116
|
+
* Enforce or disallow capitalization of the first letter of a comment.
|
|
117
|
+
* @fixable
|
|
118
|
+
* @see {@link https://eslint.org/docs/latest/rules/capitalized-comments}
|
|
119
|
+
*/
|
|
120
|
+
/**
|
|
121
|
+
* Enforce that class methods utilize this.
|
|
122
|
+
* @see {@link https://eslint.org/docs/latest/rules/class-methods-use-this}
|
|
123
|
+
*/
|
|
124
|
+
/**
|
|
125
|
+
* Enforce a maximum cyclomatic complexity allowed in a program.
|
|
126
|
+
* @see {@link https://eslint.org/docs/latest/rules/complexity}
|
|
127
|
+
*/
|
|
128
|
+
/**
|
|
129
|
+
* Require return statements to either always or never specify values.
|
|
130
|
+
* @see {@link https://eslint.org/docs/latest/rules/consistent-return}
|
|
131
|
+
*/
|
|
42
132
|
"consistent-return": "off",
|
|
133
|
+
/**
|
|
134
|
+
* Enforce consistent naming when capturing the current execution context.
|
|
135
|
+
* @see {@link https://eslint.org/docs/latest/rules/consistent-this}
|
|
136
|
+
*/
|
|
43
137
|
"consistent-this": ["error", "self"],
|
|
138
|
+
/**
|
|
139
|
+
* Enforce consistent brace style for all control statements.
|
|
140
|
+
* @fixable
|
|
141
|
+
* @see {@link https://eslint.org/docs/latest/rules/curly}
|
|
142
|
+
*/
|
|
44
143
|
"curly": [
|
|
45
144
|
"error",
|
|
46
145
|
"multi-or-nest",
|
|
47
146
|
"consistent"
|
|
48
147
|
],
|
|
148
|
+
/**
|
|
149
|
+
* Require default cases in switch statements.
|
|
150
|
+
* @see {@link https://eslint.org/docs/latest/rules/default-case}
|
|
151
|
+
*/
|
|
49
152
|
"default-case": "error",
|
|
153
|
+
/**
|
|
154
|
+
* Enforce default clauses in switch statements to be last.
|
|
155
|
+
* @see {@link https://eslint.org/docs/latest/rules/default-case-last}
|
|
156
|
+
*/
|
|
50
157
|
"default-case-last": "error",
|
|
158
|
+
/**
|
|
159
|
+
* Enforce default parameters to be last.
|
|
160
|
+
* @see {@link https://eslint.org/docs/latest/rules/default-param-last}
|
|
161
|
+
*/
|
|
51
162
|
"default-param-last": "error",
|
|
163
|
+
/**
|
|
164
|
+
* Enforce dot notation whenever possible.
|
|
165
|
+
* @fixable
|
|
166
|
+
* @see {@link https://eslint.org/docs/latest/rules/dot-notation}
|
|
167
|
+
*/
|
|
52
168
|
"dot-notation": "error",
|
|
169
|
+
/**
|
|
170
|
+
* Require the use of === and !==.
|
|
171
|
+
* @fixable
|
|
172
|
+
* @see {@link https://eslint.org/docs/latest/rules/eqeqeq}
|
|
173
|
+
*/
|
|
53
174
|
"eqeqeq": "error",
|
|
175
|
+
/**
|
|
176
|
+
* Require function names to match the name of the variable or property to which they are assigned.
|
|
177
|
+
* @see {@link https://eslint.org/docs/latest/rules/func-name-matching}
|
|
178
|
+
*/
|
|
179
|
+
/**
|
|
180
|
+
* Require or disallow named function expressions.
|
|
181
|
+
* @see {@link https://eslint.org/docs/latest/rules/func-names}
|
|
182
|
+
*/
|
|
183
|
+
/**
|
|
184
|
+
* Enforce the consistent use of either function declarations or expressions assigned to variables.
|
|
185
|
+
* @see {@link https://eslint.org/docs/latest/rules/func-style}
|
|
186
|
+
*/
|
|
54
187
|
"func-style": [
|
|
55
188
|
"error",
|
|
56
189
|
"declaration",
|
|
57
190
|
{ allowArrowFunctions: true }
|
|
58
191
|
],
|
|
192
|
+
/**
|
|
193
|
+
* Require grouped accessor pairs in object literals and classes.
|
|
194
|
+
* @see {@link https://eslint.org/docs/latest/rules/grouped-accessor-pairs}
|
|
195
|
+
*/
|
|
59
196
|
"grouped-accessor-pairs": ["error", "getBeforeSet"],
|
|
197
|
+
/**
|
|
198
|
+
* Require for-in loops to include an if statement.
|
|
199
|
+
* @see {@link https://eslint.org/docs/latest/rules/guard-for-in}
|
|
200
|
+
*/
|
|
60
201
|
"guard-for-in": "error",
|
|
202
|
+
/**
|
|
203
|
+
* Disallow specified identifiers.
|
|
204
|
+
* @see {@link https://eslint.org/docs/latest/rules/id-denylist}
|
|
205
|
+
*/
|
|
206
|
+
/**
|
|
207
|
+
* Enforce minimum and maximum identifier lengths.
|
|
208
|
+
* @see {@link https://eslint.org/docs/latest/rules/id-length}
|
|
209
|
+
*/
|
|
210
|
+
/**
|
|
211
|
+
* Require identifiers to match a specified regular expression.
|
|
212
|
+
* @see {@link https://eslint.org/docs/latest/rules/id-match}
|
|
213
|
+
*/
|
|
214
|
+
/**
|
|
215
|
+
* Require or disallow initialization in variable declarations.
|
|
216
|
+
* @see {@link https://eslint.org/docs/latest/rules/init-declarations}
|
|
217
|
+
*/
|
|
218
|
+
/**
|
|
219
|
+
* Require or disallow logical assignment operator shorthand.
|
|
220
|
+
* @fixable
|
|
221
|
+
* @see {@link https://eslint.org/docs/latest/rules/logical-assignment-operators}
|
|
222
|
+
*/
|
|
61
223
|
"logical-assignment-operators": "error",
|
|
224
|
+
/**
|
|
225
|
+
* Enforce a maximum number of classes per file.
|
|
226
|
+
* @see {@link https://eslint.org/docs/latest/rules/max-classes-per-file}
|
|
227
|
+
*/
|
|
228
|
+
/**
|
|
229
|
+
* Enforce a maximum depth that blocks can be nested.
|
|
230
|
+
* @see {@link https://eslint.org/docs/latest/rules/max-depth}
|
|
231
|
+
*/
|
|
232
|
+
/**
|
|
233
|
+
* Enforce a maximum number of lines per file.
|
|
234
|
+
* @see {@link https://eslint.org/docs/latest/rules/max-lines}
|
|
235
|
+
*/
|
|
236
|
+
/**
|
|
237
|
+
* Enforce a maximum number of lines of code in a function.
|
|
238
|
+
* @see {@link https://eslint.org/docs/latest/rules/max-lines-per-function}
|
|
239
|
+
*/
|
|
240
|
+
/**
|
|
241
|
+
* Enforce a maximum depth that callbacks can be nested.
|
|
242
|
+
* @see {@link https://eslint.org/docs/latest/rules/max-nested-callbacks}
|
|
243
|
+
*/
|
|
244
|
+
/**
|
|
245
|
+
* Enforce a maximum number of parameters in function definitions.
|
|
246
|
+
* @see {@link https://eslint.org/docs/latest/rules/max-params}
|
|
247
|
+
*/
|
|
248
|
+
/**
|
|
249
|
+
* Enforce a maximum number of statements allowed in function blocks.
|
|
250
|
+
* @see {@link https://eslint.org/docs/latest/rules/max-statements}
|
|
251
|
+
*/
|
|
252
|
+
/**
|
|
253
|
+
* Require constructor names to begin with a capital letter.
|
|
254
|
+
* @see {@link https://eslint.org/docs/latest/rules/new-cap}
|
|
255
|
+
*/
|
|
256
|
+
/**
|
|
257
|
+
* Disallow the use of alert, confirm, and prompt.
|
|
258
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-alert}
|
|
259
|
+
*/
|
|
260
|
+
/**
|
|
261
|
+
* Disallow Array constructors.
|
|
262
|
+
* @fixable
|
|
263
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-array-constructor}
|
|
264
|
+
*/
|
|
62
265
|
"no-array-constructor": "error",
|
|
266
|
+
/**
|
|
267
|
+
* Disallow bitwise operators.
|
|
268
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-bitwise}
|
|
269
|
+
*/
|
|
270
|
+
/**
|
|
271
|
+
* Disallow the use of arguments.caller or arguments.callee.
|
|
272
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-caller}
|
|
273
|
+
*/
|
|
63
274
|
"no-caller": "error",
|
|
275
|
+
/**
|
|
276
|
+
* Disallow the use of console.
|
|
277
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-console}
|
|
278
|
+
*/
|
|
279
|
+
/**
|
|
280
|
+
* Disallow continue statements.
|
|
281
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-continue}
|
|
282
|
+
*/
|
|
283
|
+
/**
|
|
284
|
+
* Disallow equal signs explicitly at the beginning of regular expressions.
|
|
285
|
+
* @fixable
|
|
286
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-div-regex}
|
|
287
|
+
*/
|
|
64
288
|
"no-div-regex": "error",
|
|
289
|
+
/**
|
|
290
|
+
* Disallow else blocks after return statements in if statements.
|
|
291
|
+
* @fixable
|
|
292
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-else-return}
|
|
293
|
+
*/
|
|
294
|
+
/**
|
|
295
|
+
* Disallow empty functions.
|
|
296
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-empty-function}
|
|
297
|
+
*/
|
|
65
298
|
"no-empty-function": "error",
|
|
299
|
+
/**
|
|
300
|
+
* Disallow null comparisons without type-checking operators.
|
|
301
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-eq-null}
|
|
302
|
+
*/
|
|
66
303
|
"no-eq-null": "error",
|
|
304
|
+
/**
|
|
305
|
+
* Disallow the use of eval().
|
|
306
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-eval}
|
|
307
|
+
*/
|
|
67
308
|
"no-eval": "error",
|
|
309
|
+
/**
|
|
310
|
+
* Disallow extending native types.
|
|
311
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-extend-native}
|
|
312
|
+
*/
|
|
68
313
|
"no-extend-native": "error",
|
|
314
|
+
/**
|
|
315
|
+
* Disallow unnecessary calls to .bind().
|
|
316
|
+
* @fixable
|
|
317
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-extra-bind}
|
|
318
|
+
*/
|
|
69
319
|
"no-extra-bind": "error",
|
|
320
|
+
/**
|
|
321
|
+
* Disallow unnecessary labels.
|
|
322
|
+
* @fixable
|
|
323
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-extra-label}
|
|
324
|
+
*/
|
|
70
325
|
"no-extra-label": "error",
|
|
326
|
+
/**
|
|
327
|
+
* Disallow shorthand type conversions.
|
|
328
|
+
* @fixable
|
|
329
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-implicit-coercion}
|
|
330
|
+
*/
|
|
71
331
|
"no-implicit-coercion": "error",
|
|
332
|
+
/**
|
|
333
|
+
* Disallow declarations in the global scope.
|
|
334
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-implicit-globals}
|
|
335
|
+
*/
|
|
72
336
|
"no-implicit-globals": "error",
|
|
337
|
+
/**
|
|
338
|
+
* Disallow the use of eval()-like methods.
|
|
339
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-implied-eval}
|
|
340
|
+
*/
|
|
73
341
|
"no-implied-eval": "error",
|
|
342
|
+
/**
|
|
343
|
+
* Disallow inline comments after code.
|
|
344
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-inline-comments}
|
|
345
|
+
*/
|
|
74
346
|
"no-inline-comments": "error",
|
|
347
|
+
/**
|
|
348
|
+
* Disallow use of this in contexts where the value of this is undefined.
|
|
349
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-invalid-this}
|
|
350
|
+
*/
|
|
75
351
|
"no-invalid-this": "error",
|
|
352
|
+
/**
|
|
353
|
+
* Disallow the use of the __iterator__ property.
|
|
354
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-iterator}
|
|
355
|
+
*/
|
|
76
356
|
"no-iterator": "error",
|
|
357
|
+
/**
|
|
358
|
+
* Disallow labels that share a name with a variable.
|
|
359
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-label-var}
|
|
360
|
+
*/
|
|
77
361
|
"no-label-var": "error",
|
|
362
|
+
/**
|
|
363
|
+
* Disallow labeled statements.
|
|
364
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-labels}
|
|
365
|
+
*/
|
|
78
366
|
"no-labels": "error",
|
|
367
|
+
/**
|
|
368
|
+
* Disallow unnecessary nested blocks.
|
|
369
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-lone-blocks}
|
|
370
|
+
*/
|
|
79
371
|
"no-lone-blocks": "error",
|
|
372
|
+
/**
|
|
373
|
+
* Disallow if statements as the only statement in else blocks.
|
|
374
|
+
* @fixable
|
|
375
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-lonely-if}
|
|
376
|
+
*/
|
|
80
377
|
"no-lonely-if": "error",
|
|
378
|
+
/**
|
|
379
|
+
* Disallow function declarations that contain unsafe references inside loop statements.
|
|
380
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-loop-func}
|
|
381
|
+
*/
|
|
81
382
|
"no-loop-func": "error",
|
|
383
|
+
/**
|
|
384
|
+
* Disallow magic numbers.
|
|
385
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-magic-numbers}
|
|
386
|
+
*/
|
|
387
|
+
/**
|
|
388
|
+
* Disallow use of chained assignment expressions.
|
|
389
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-multi-assign}
|
|
390
|
+
*/
|
|
82
391
|
"no-multi-assign": "error",
|
|
392
|
+
/**
|
|
393
|
+
* Disallow multiline strings.
|
|
394
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-multi-str}
|
|
395
|
+
*/
|
|
396
|
+
/**
|
|
397
|
+
* Disallow negated conditions.
|
|
398
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-negated-condition}
|
|
399
|
+
*/
|
|
400
|
+
/**
|
|
401
|
+
* Disallow nested ternary expressions.
|
|
402
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-nested-ternary}
|
|
403
|
+
*/
|
|
404
|
+
/**
|
|
405
|
+
* Disallow new operators outside of assignments or comparisons.
|
|
406
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-new}
|
|
407
|
+
*/
|
|
83
408
|
"no-new": "error",
|
|
409
|
+
/**
|
|
410
|
+
* Disallow new operators with the Function object.
|
|
411
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-new-func}
|
|
412
|
+
*/
|
|
84
413
|
"no-new-func": "error",
|
|
414
|
+
/**
|
|
415
|
+
* Disallow new operators with the String, Number, and Boolean objects.
|
|
416
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-new-wrappers}
|
|
417
|
+
*/
|
|
85
418
|
"no-new-wrappers": "error",
|
|
419
|
+
/**
|
|
420
|
+
* Disallow calls to the Object constructor without an argument.
|
|
421
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-object-constructor}
|
|
422
|
+
*/
|
|
86
423
|
"no-object-constructor": "error",
|
|
424
|
+
/**
|
|
425
|
+
* Disallow octal escape sequences in string literals.
|
|
426
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-octal-escape}
|
|
427
|
+
*/
|
|
87
428
|
"no-octal-escape": "error",
|
|
429
|
+
/**
|
|
430
|
+
* Disallow reassigning function parameters.
|
|
431
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-param-reassign}
|
|
432
|
+
*/
|
|
88
433
|
"no-param-reassign": "error",
|
|
434
|
+
/**
|
|
435
|
+
* Disallow the unary operators ++ and --.
|
|
436
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-plusplus}
|
|
437
|
+
*/
|
|
89
438
|
"no-plusplus": "error",
|
|
439
|
+
/**
|
|
440
|
+
* Disallow the use of the __proto__ property.
|
|
441
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-proto}
|
|
442
|
+
*/
|
|
90
443
|
"no-proto": "error",
|
|
444
|
+
/**
|
|
445
|
+
* Disallow specified names in exports.
|
|
446
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-restricted-exports}
|
|
447
|
+
*/
|
|
448
|
+
/**
|
|
449
|
+
* Disallow specified global variables.
|
|
450
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-restricted-globals}
|
|
451
|
+
*/
|
|
452
|
+
/**
|
|
453
|
+
* Disallow specified modules when loaded by import.
|
|
454
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-restricted-imports}
|
|
455
|
+
*/
|
|
456
|
+
/**
|
|
457
|
+
* Disallow certain properties on certain objects.
|
|
458
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-restricted-properties}
|
|
459
|
+
*/
|
|
460
|
+
/**
|
|
461
|
+
* Disallow specified syntax.
|
|
462
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-restricted-syntax}
|
|
463
|
+
*/
|
|
464
|
+
/**
|
|
465
|
+
* Disallow assignment operators in return statements.
|
|
466
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-return-assign}
|
|
467
|
+
*/
|
|
91
468
|
"no-return-assign": "error",
|
|
469
|
+
/**
|
|
470
|
+
* Disallow javascript: URLs.
|
|
471
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-script-url}
|
|
472
|
+
*/
|
|
92
473
|
"no-script-url": "error",
|
|
474
|
+
/**
|
|
475
|
+
* Disallow comma operators.
|
|
476
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-sequences}
|
|
477
|
+
*/
|
|
93
478
|
"no-sequences": "error",
|
|
479
|
+
/**
|
|
480
|
+
* Disallow variable declarations from shadowing variables declared in the outer scope.
|
|
481
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-shadow}
|
|
482
|
+
*/
|
|
94
483
|
"no-shadow": "error",
|
|
484
|
+
/**
|
|
485
|
+
* Disallow ternary operators.
|
|
486
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-ternary}
|
|
487
|
+
*/
|
|
488
|
+
/**
|
|
489
|
+
* Disallow throwing literals as exceptions.
|
|
490
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-throw-literal}
|
|
491
|
+
*/
|
|
95
492
|
"no-throw-literal": "error",
|
|
493
|
+
/**
|
|
494
|
+
* Disallow initializing variables to undefined.
|
|
495
|
+
* @fixable
|
|
496
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-undef-init}
|
|
497
|
+
*/
|
|
96
498
|
"no-undef-init": "error",
|
|
499
|
+
/**
|
|
500
|
+
* Disallow the use of undefined as an identifier.
|
|
501
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-undefined}
|
|
502
|
+
*/
|
|
503
|
+
/**
|
|
504
|
+
* Disallow dangling underscores in identifiers.
|
|
505
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-underscore-dangle}
|
|
506
|
+
*/
|
|
507
|
+
/**
|
|
508
|
+
* Disallow ternary operators when simpler alternatives exist.
|
|
509
|
+
* @fixable
|
|
510
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-unneeded-ternary}
|
|
511
|
+
*/
|
|
97
512
|
"no-unneeded-ternary": "error",
|
|
513
|
+
/**
|
|
514
|
+
* Disallow unused expressions.
|
|
515
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-unused-expressions}
|
|
516
|
+
*/
|
|
98
517
|
"no-unused-expressions": "error",
|
|
518
|
+
/**
|
|
519
|
+
* Disallow unnecessary calls to .call() and .apply().
|
|
520
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-useless-call}
|
|
521
|
+
*/
|
|
99
522
|
"no-useless-call": "error",
|
|
523
|
+
/**
|
|
524
|
+
* Disallow unnecessary computed property keys in objects and classes.
|
|
525
|
+
* @fixable
|
|
526
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-useless-computed-key}
|
|
527
|
+
*/
|
|
100
528
|
"no-useless-computed-key": "error",
|
|
529
|
+
/**
|
|
530
|
+
* Disallow unnecessary concatenation of literals or template literals.
|
|
531
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-useless-concat}
|
|
532
|
+
*/
|
|
101
533
|
"no-useless-concat": "error",
|
|
534
|
+
/**
|
|
535
|
+
* Disallow unnecessary constructors.
|
|
536
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-useless-constructor}
|
|
537
|
+
*/
|
|
102
538
|
"no-useless-constructor": "error",
|
|
539
|
+
/**
|
|
540
|
+
* Disallow renaming import, export, and destructured assignments to the same name.
|
|
541
|
+
* @fixable
|
|
542
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-useless-rename}
|
|
543
|
+
*/
|
|
103
544
|
"no-useless-rename": "error",
|
|
545
|
+
/**
|
|
546
|
+
* Disallow redundant return statements.
|
|
547
|
+
* @fixable
|
|
548
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-useless-return}
|
|
549
|
+
*/
|
|
104
550
|
"no-useless-return": "error",
|
|
551
|
+
/**
|
|
552
|
+
* Require let or const instead of var.
|
|
553
|
+
* @fixable
|
|
554
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-var}
|
|
555
|
+
*/
|
|
105
556
|
"no-var": "error",
|
|
557
|
+
/**
|
|
558
|
+
* Disallow void operators.
|
|
559
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-void}
|
|
560
|
+
*/
|
|
561
|
+
/**
|
|
562
|
+
* Disallow specified warning terms in comments.
|
|
563
|
+
* @see {@link https://eslint.org/docs/latest/rules/no-warning-comments}
|
|
564
|
+
*/
|
|
565
|
+
/**
|
|
566
|
+
* Require or disallow method and property shorthand syntax for object literals.
|
|
567
|
+
* @fixable
|
|
568
|
+
* @see {@link https://eslint.org/docs/latest/rules/object-shorthand}
|
|
569
|
+
*/
|
|
106
570
|
"object-shorthand": "error",
|
|
571
|
+
/**
|
|
572
|
+
* Enforce variables to be declared either together or separately in functions.
|
|
573
|
+
* @fixable
|
|
574
|
+
* @see {@link https://eslint.org/docs/latest/rules/one-var}
|
|
575
|
+
*/
|
|
576
|
+
/**
|
|
577
|
+
* Require or disallow assignment operator shorthand where possible.
|
|
578
|
+
* @fixable
|
|
579
|
+
* @see {@link https://eslint.org/docs/latest/rules/operator-assignment}
|
|
580
|
+
*/
|
|
107
581
|
"operator-assignment": "error",
|
|
582
|
+
/**
|
|
583
|
+
* Require using arrow functions for callbacks.
|
|
584
|
+
* @fixable
|
|
585
|
+
* @see {@link https://eslint.org/docs/latest/rules/prefer-arrow-callback}
|
|
586
|
+
*/
|
|
108
587
|
"prefer-arrow-callback": "error",
|
|
588
|
+
/**
|
|
589
|
+
* Require const declarations for variables that are never reassigned after declared.
|
|
590
|
+
* @fixable
|
|
591
|
+
* @see {@link https://eslint.org/docs/latest/rules/prefer-const}
|
|
592
|
+
*/
|
|
109
593
|
"prefer-const": ["error", { ignoreReadBeforeAssign: true }],
|
|
594
|
+
/**
|
|
595
|
+
* Require destructuring from arrays and/or objects.
|
|
596
|
+
* @fixable
|
|
597
|
+
* @see {@link https://eslint.org/docs/latest/rules/prefer-destructuring}
|
|
598
|
+
*/
|
|
110
599
|
"prefer-destructuring": "error",
|
|
600
|
+
/**
|
|
601
|
+
* Disallow the use of Math.pow in favor of the ** operator.
|
|
602
|
+
* @fixable
|
|
603
|
+
* @see {@link https://eslint.org/docs/latest/rules/prefer-exponentiation-operator}
|
|
604
|
+
*/
|
|
111
605
|
"prefer-exponentiation-operator": "error",
|
|
606
|
+
/**
|
|
607
|
+
* Enforce using named capture group in regular expression.
|
|
608
|
+
* @see {@link https://eslint.org/docs/latest/rules/prefer-named-capture-group}
|
|
609
|
+
*/
|
|
112
610
|
"prefer-named-capture-group": "error",
|
|
611
|
+
/**
|
|
612
|
+
* Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals.
|
|
613
|
+
* @fixable
|
|
614
|
+
* @see {@link https://eslint.org/docs/latest/rules/prefer-numeric-literals}
|
|
615
|
+
*/
|
|
113
616
|
"prefer-numeric-literals": "error",
|
|
617
|
+
/**
|
|
618
|
+
* Disallow use of Object.prototype.hasOwnProperty.call() and prefer use of Object.hasOwn().
|
|
619
|
+
* @fixable
|
|
620
|
+
* @see {@link https://eslint.org/docs/latest/rules/prefer-object-has-own}
|
|
621
|
+
*/
|
|
114
622
|
"prefer-object-has-own": "error",
|
|
623
|
+
/**
|
|
624
|
+
* Disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead.
|
|
625
|
+
* @fixable
|
|
626
|
+
* @see {@link https://eslint.org/docs/latest/rules/prefer-object-spread}
|
|
627
|
+
*/
|
|
115
628
|
"prefer-object-spread": "error",
|
|
629
|
+
/**
|
|
630
|
+
* Require using Error objects as Promise rejection reasons.
|
|
631
|
+
* @see {@link https://eslint.org/docs/latest/rules/prefer-promise-reject-errors}
|
|
632
|
+
*/
|
|
116
633
|
"prefer-promise-reject-errors": "error",
|
|
634
|
+
/**
|
|
635
|
+
* Disallow use of the RegExp constructor in favor of regular expression literals.
|
|
636
|
+
* @see {@link https://eslint.org/docs/latest/rules/prefer-regex-literals}
|
|
637
|
+
*/
|
|
117
638
|
"prefer-regex-literals": "error",
|
|
639
|
+
/**
|
|
640
|
+
* Require rest parameters instead of arguments.
|
|
641
|
+
* @see {@link https://eslint.org/docs/latest/rules/prefer-rest-params}
|
|
642
|
+
*/
|
|
118
643
|
"prefer-rest-params": "error",
|
|
644
|
+
/**
|
|
645
|
+
* Require spread operators instead of .apply().
|
|
646
|
+
* @see {@link https://eslint.org/docs/latest/rules/prefer-spread}
|
|
647
|
+
*/
|
|
119
648
|
"prefer-spread": "error",
|
|
649
|
+
/**
|
|
650
|
+
* Require template literals instead of string concatenation.
|
|
651
|
+
* @fixable
|
|
652
|
+
* @see {@link https://eslint.org/docs/latest/rules/prefer-template}
|
|
653
|
+
*/
|
|
120
654
|
"prefer-template": "error",
|
|
655
|
+
/**
|
|
656
|
+
* Disallow losing originally caught error when re-throwing custom errors.
|
|
657
|
+
* @see {@link https://eslint.org/docs/latest/rules/preserve-caught-error}
|
|
658
|
+
*/
|
|
659
|
+
/**
|
|
660
|
+
* Enforce the consistent use of the radix argument when using parseInt().
|
|
661
|
+
* @see {@link https://eslint.org/docs/latest/rules/radix}
|
|
662
|
+
*/
|
|
121
663
|
"radix": ["error", "as-needed"],
|
|
664
|
+
/**
|
|
665
|
+
* Disallow async functions which have no await expression.
|
|
666
|
+
* @see {@link https://eslint.org/docs/latest/rules/require-await}
|
|
667
|
+
*/
|
|
122
668
|
"require-await": "error",
|
|
669
|
+
/**
|
|
670
|
+
* Enforce the use of u or v flag on regular expressions.
|
|
671
|
+
* @see {@link https://eslint.org/docs/latest/rules/require-unicode-regexp}
|
|
672
|
+
*/
|
|
123
673
|
"require-unicode-regexp": "error",
|
|
674
|
+
/**
|
|
675
|
+
* Enforce sorted import declarations within modules.
|
|
676
|
+
* @fixable
|
|
677
|
+
* @see {@link https://eslint.org/docs/latest/rules/sort-imports}
|
|
678
|
+
*/
|
|
124
679
|
"sort-imports": "error",
|
|
680
|
+
/**
|
|
681
|
+
* Require object keys to be sorted.
|
|
682
|
+
* @see {@link https://eslint.org/docs/latest/rules/sort-keys}
|
|
683
|
+
*/
|
|
684
|
+
/**
|
|
685
|
+
* Require variables within the same declaration block to be sorted.
|
|
686
|
+
* @fixable
|
|
687
|
+
* @see {@link https://eslint.org/docs/latest/rules/sort-vars}
|
|
688
|
+
*/
|
|
689
|
+
/**
|
|
690
|
+
* Require or disallow strict mode directives.
|
|
691
|
+
* @fixable
|
|
692
|
+
* @see {@link https://eslint.org/docs/latest/rules/strict}
|
|
693
|
+
*/
|
|
694
|
+
/**
|
|
695
|
+
* Require symbol descriptions.
|
|
696
|
+
* @see {@link https://eslint.org/docs/latest/rules/symbol-description}
|
|
697
|
+
*/
|
|
125
698
|
"symbol-description": "error"
|
|
126
699
|
}
|
|
127
700
|
});
|
|
@@ -148,22 +721,243 @@ const importXConfig = defineConfig([{
|
|
|
148
721
|
extends: [importX.flatConfigs.recommended],
|
|
149
722
|
settings: { "import-x/resolver-next": [createNodeResolver()] },
|
|
150
723
|
rules: {
|
|
724
|
+
/**
|
|
725
|
+
* Forbid imported names marked with @deprecated documentation tag.
|
|
726
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-deprecated.md}
|
|
727
|
+
*/
|
|
728
|
+
/**
|
|
729
|
+
* Forbid empty named import blocks.
|
|
730
|
+
* @fixable
|
|
731
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-empty-named-blocks.md}
|
|
732
|
+
*/
|
|
151
733
|
"import-x/no-empty-named-blocks": "error",
|
|
734
|
+
/**
|
|
735
|
+
* Forbid the use of extraneous packages.
|
|
736
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-extraneous-dependencies.md}
|
|
737
|
+
*/
|
|
738
|
+
/**
|
|
739
|
+
* Forbid the use of mutable exports with var or let.
|
|
740
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-mutable-exports.md}
|
|
741
|
+
*/
|
|
152
742
|
"import-x/no-mutable-exports": "error",
|
|
743
|
+
/**
|
|
744
|
+
* Forbid importing a default export by a different name.
|
|
745
|
+
* @config warnings
|
|
746
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-rename-default.md}
|
|
747
|
+
*/
|
|
153
748
|
"import-x/no-rename-default": "off",
|
|
749
|
+
/**
|
|
750
|
+
* Forbid modules without exports, or exports without matching import in another module.
|
|
751
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-unused-modules.md}
|
|
752
|
+
*/
|
|
154
753
|
"import-x/no-unused-modules": "error",
|
|
754
|
+
/**
|
|
755
|
+
* Forbid AMD require and define calls.
|
|
756
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-amd.md}
|
|
757
|
+
*/
|
|
758
|
+
/**
|
|
759
|
+
* Forbid CommonJS require calls and module.exports or exports.*.
|
|
760
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-commonjs.md}
|
|
761
|
+
*/
|
|
762
|
+
/**
|
|
763
|
+
* Forbid import statements with CommonJS module.exports.
|
|
764
|
+
* @fixable
|
|
765
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-import-module-exports.md}
|
|
766
|
+
*/
|
|
767
|
+
/**
|
|
768
|
+
* Forbid Node.js builtin modules.
|
|
769
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-nodejs-modules.md}
|
|
770
|
+
*/
|
|
771
|
+
/**
|
|
772
|
+
* Forbid potentially ambiguous parse goal (script vs. module).
|
|
773
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/unambiguous.md}
|
|
774
|
+
*/
|
|
775
|
+
/**
|
|
776
|
+
* Forbid import of modules using absolute paths.
|
|
777
|
+
* @fixable
|
|
778
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-absolute-path.md}
|
|
779
|
+
*/
|
|
155
780
|
"import-x/no-absolute-path": "error",
|
|
781
|
+
/**
|
|
782
|
+
* Forbid a module from importing a module with a dependency path back to itself.
|
|
783
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-cycle.md}
|
|
784
|
+
*/
|
|
156
785
|
"import-x/no-cycle": "error",
|
|
786
|
+
/**
|
|
787
|
+
* Forbid require() calls with expressions.
|
|
788
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-dynamic-require.md}
|
|
789
|
+
*/
|
|
790
|
+
/**
|
|
791
|
+
* Forbid importing the submodules of other modules.
|
|
792
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-internal-modules.md}
|
|
793
|
+
*/
|
|
794
|
+
/**
|
|
795
|
+
* Forbid importing packages through relative paths.
|
|
796
|
+
* @fixable
|
|
797
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-relative-packages.md}
|
|
798
|
+
*/
|
|
157
799
|
"import-x/no-relative-packages": "error",
|
|
800
|
+
/**
|
|
801
|
+
* Forbid importing modules from parent directories.
|
|
802
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-relative-parent-imports.md}
|
|
803
|
+
*/
|
|
804
|
+
/**
|
|
805
|
+
* Enforce which files can be imported in a given folder.
|
|
806
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-restricted-paths.md}
|
|
807
|
+
*/
|
|
808
|
+
/**
|
|
809
|
+
* Forbid a module from importing itself.
|
|
810
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-self-import.md}
|
|
811
|
+
*/
|
|
158
812
|
"import-x/no-self-import": "error",
|
|
813
|
+
/**
|
|
814
|
+
* Forbid unnecessary path segments in import and require statements.
|
|
815
|
+
* @fixable
|
|
816
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-useless-path-segments.md}
|
|
817
|
+
*/
|
|
159
818
|
"import-x/no-useless-path-segments": "error",
|
|
819
|
+
/**
|
|
820
|
+
* Forbid webpack loader syntax in imports.
|
|
821
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-webpack-loader-syntax.md}
|
|
822
|
+
*/
|
|
823
|
+
/**
|
|
824
|
+
* Enforce or ban the use of inline type-only markers for named imports.
|
|
825
|
+
* @fixable
|
|
826
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/consistent-type-specifier-style.md}
|
|
827
|
+
*/
|
|
160
828
|
"import-x/consistent-type-specifier-style": ["error", "prefer-top-level"],
|
|
829
|
+
/**
|
|
830
|
+
* Enforce a leading comment with the webpackChunkName for dynamic imports.
|
|
831
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/dynamic-import-chunkname.md}
|
|
832
|
+
*/
|
|
833
|
+
/**
|
|
834
|
+
* Ensure all exports appear after other statements.
|
|
835
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/exports-last.md}
|
|
836
|
+
*/
|
|
837
|
+
/**
|
|
838
|
+
* Ensure consistent use of file extension within the import path.
|
|
839
|
+
* @fixable
|
|
840
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/extensions.md}
|
|
841
|
+
*/
|
|
842
|
+
/**
|
|
843
|
+
* Ensure all imports appear before other statements.
|
|
844
|
+
* @fixable
|
|
845
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/first.md}
|
|
846
|
+
*/
|
|
161
847
|
"import-x/first": "error",
|
|
848
|
+
/**
|
|
849
|
+
* Prefer named exports to be grouped together in a single export declaration.
|
|
850
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/group-exports.md}
|
|
851
|
+
*/
|
|
852
|
+
/**
|
|
853
|
+
* Replaced by import-x/first.
|
|
854
|
+
* @fixable
|
|
855
|
+
* @deprecated
|
|
856
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/imports-first.md}
|
|
857
|
+
*/
|
|
858
|
+
/**
|
|
859
|
+
* Enforce the maximum number of dependencies a module can have.
|
|
860
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/max-dependencies.md}
|
|
861
|
+
*/
|
|
862
|
+
/**
|
|
863
|
+
* Enforce a newline after import statements.
|
|
864
|
+
* @fixable
|
|
865
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/newline-after-import.md}
|
|
866
|
+
*/
|
|
162
867
|
"import-x/newline-after-import": "error",
|
|
868
|
+
/**
|
|
869
|
+
* Forbid anonymous values as default exports.
|
|
870
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-anonymous-default-export.md}
|
|
871
|
+
*/
|
|
872
|
+
/**
|
|
873
|
+
* Forbid default exports.
|
|
874
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-default-export.md}
|
|
875
|
+
*/
|
|
876
|
+
/**
|
|
877
|
+
* Forbid named default exports.
|
|
878
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-named-default.md}
|
|
879
|
+
*/
|
|
880
|
+
/**
|
|
881
|
+
* Forbid named exports.
|
|
882
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-named-export.md}
|
|
883
|
+
*/
|
|
884
|
+
/**
|
|
885
|
+
* Forbid namespace (a.k.a. "wildcard" *) imports.
|
|
886
|
+
* @fixable
|
|
887
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-namespace.md}
|
|
888
|
+
*/
|
|
889
|
+
/**
|
|
890
|
+
* Forbid unassigned imports.
|
|
891
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-unassigned-import.md}
|
|
892
|
+
*/
|
|
893
|
+
/**
|
|
894
|
+
* Enforce a convention in module import order.
|
|
895
|
+
* @fixable
|
|
896
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/order.md}
|
|
897
|
+
*/
|
|
898
|
+
/**
|
|
899
|
+
* Prefer a default export if module exports a single name or multiple names.
|
|
900
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/prefer-default-export.md}
|
|
901
|
+
*/
|
|
902
|
+
/**
|
|
903
|
+
* Enforce using namespace imports for specific modules, like react/react-dom, etc.
|
|
904
|
+
* @fixable
|
|
905
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/prefer-namespace-import.md}
|
|
906
|
+
*/
|
|
907
|
+
/**
|
|
908
|
+
* Forbid any invalid exports, i.e. re-export of the same name.
|
|
909
|
+
* @config recommended
|
|
910
|
+
* @config errors
|
|
911
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/export.md}
|
|
912
|
+
*/
|
|
913
|
+
/**
|
|
914
|
+
* Forbid use of exported name as identifier of default export.
|
|
915
|
+
* @config recommended
|
|
916
|
+
* @config warnings
|
|
917
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-named-as-default.md}
|
|
918
|
+
*/
|
|
163
919
|
"import-x/no-named-as-default": "off",
|
|
920
|
+
/**
|
|
921
|
+
* Forbid use of exported name as property of default export.
|
|
922
|
+
* @config recommended
|
|
923
|
+
* @config warnings
|
|
924
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-named-as-default-member.md}
|
|
925
|
+
*/
|
|
164
926
|
"import-x/no-named-as-default-member": "off",
|
|
927
|
+
/**
|
|
928
|
+
* Ensure a default export is present, given a default import.
|
|
929
|
+
* @config recommended
|
|
930
|
+
* @config errors
|
|
931
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/default.md}
|
|
932
|
+
*/
|
|
165
933
|
"import-x/default": "off",
|
|
934
|
+
/**
|
|
935
|
+
* Ensure named imports correspond to a named export in the remote file.
|
|
936
|
+
* @config recommended
|
|
937
|
+
* @config typescript
|
|
938
|
+
* @config errors
|
|
939
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/named.md}
|
|
940
|
+
*/
|
|
941
|
+
/**
|
|
942
|
+
* Ensure imported namespaces contain dereferenced properties as they are dereferenced.
|
|
943
|
+
* @config recommended
|
|
944
|
+
* @config errors
|
|
945
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/namespace.md}
|
|
946
|
+
*/
|
|
947
|
+
/**
|
|
948
|
+
* Ensure imports point to a file/module that can be resolved.
|
|
949
|
+
* @config recommended
|
|
950
|
+
* @config errors
|
|
951
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-unresolved.md}
|
|
952
|
+
*/
|
|
166
953
|
"import-x/no-unresolved": "off",
|
|
954
|
+
/**
|
|
955
|
+
* Forbid repeated import of the same module in multiple places.
|
|
956
|
+
* @config recommended
|
|
957
|
+
* @config warnings
|
|
958
|
+
* @fixable
|
|
959
|
+
* @see {@link https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-duplicates.md}
|
|
960
|
+
*/
|
|
167
961
|
"no-duplicate-imports": "off"
|
|
168
962
|
}
|
|
169
963
|
}, {
|
|
@@ -193,8 +987,33 @@ const perfectionistConfig = defineConfig({
|
|
|
193
987
|
name: "perfectionist-config",
|
|
194
988
|
plugins: { perfectionist },
|
|
195
989
|
rules: {
|
|
990
|
+
/**
|
|
991
|
+
* Enforce sorted arrays before include method.
|
|
992
|
+
* @fixable
|
|
993
|
+
* @see {@link https://perfectionist.dev/rules/sort-array-includes}
|
|
994
|
+
*/
|
|
196
995
|
"perfectionist/sort-array-includes": "error",
|
|
996
|
+
/**
|
|
997
|
+
* Enforce sorted classes.
|
|
998
|
+
* @fixable
|
|
999
|
+
* @see {@link https://perfectionist.dev/rules/sort-classes}
|
|
1000
|
+
*/
|
|
1001
|
+
/**
|
|
1002
|
+
* Enforce sorted decorators.
|
|
1003
|
+
* @fixable
|
|
1004
|
+
* @see {@link https://perfectionist.dev/rules/sort-decorators}
|
|
1005
|
+
*/
|
|
197
1006
|
"perfectionist/sort-decorators": "error",
|
|
1007
|
+
/**
|
|
1008
|
+
* Enforce sorted TypeScript enums.
|
|
1009
|
+
* @fixable
|
|
1010
|
+
* @see {@link https://perfectionist.dev/rules/sort-enums}
|
|
1011
|
+
*/
|
|
1012
|
+
/**
|
|
1013
|
+
* Enforce sorted exports.
|
|
1014
|
+
* @fixable
|
|
1015
|
+
* @see {@link https://perfectionist.dev/rules/sort-exports}
|
|
1016
|
+
*/
|
|
198
1017
|
"perfectionist/sort-exports": ["error", {
|
|
199
1018
|
type: "natural",
|
|
200
1019
|
order: "asc",
|
|
@@ -205,7 +1024,17 @@ const perfectionistConfig = defineConfig({
|
|
|
205
1024
|
newlinesBetween: 1,
|
|
206
1025
|
groups: [["type-export", "export"]]
|
|
207
1026
|
}],
|
|
1027
|
+
/**
|
|
1028
|
+
* Enforce sorted heritage clauses.
|
|
1029
|
+
* @fixable
|
|
1030
|
+
* @see {@link https://perfectionist.dev/rules/sort-heritage-clauses}
|
|
1031
|
+
*/
|
|
208
1032
|
"perfectionist/sort-heritage-clauses": "error",
|
|
1033
|
+
/**
|
|
1034
|
+
* Enforce sorted imports.
|
|
1035
|
+
* @fixable
|
|
1036
|
+
* @see {@link https://perfectionist.dev/rules/sort-imports}
|
|
1037
|
+
*/
|
|
209
1038
|
"sort-imports": "off",
|
|
210
1039
|
"perfectionist/sort-imports": ["error", {
|
|
211
1040
|
type: "natural",
|
|
@@ -257,42 +1086,239 @@ const reactConfig = defineConfig({
|
|
|
257
1086
|
extends: [react.configs.flat["recommended"], react.configs.flat["jsx-runtime"]],
|
|
258
1087
|
settings: { react: { version: "detect" } },
|
|
259
1088
|
rules: {
|
|
1089
|
+
/**
|
|
1090
|
+
* Enforces consistent naming for boolean props.
|
|
1091
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/boolean-prop-naming.md}
|
|
1092
|
+
*/
|
|
260
1093
|
"react/boolean-prop-naming": ["error", {
|
|
261
1094
|
rule: "^(is|has|can|should|as)[A-Z][A-Za-z0-9]*",
|
|
262
1095
|
validateNested: true
|
|
263
1096
|
}],
|
|
1097
|
+
/**
|
|
1098
|
+
* Disallow usage of button elements without an explicit type attribute.
|
|
1099
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/button-has-type.md}
|
|
1100
|
+
*/
|
|
264
1101
|
"react/button-has-type": "error",
|
|
1102
|
+
/**
|
|
1103
|
+
* Enforce using onChange or readonly attribute when checked is used.
|
|
1104
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/checked-requires-onchange-or-readonly.md}
|
|
1105
|
+
*/
|
|
265
1106
|
"react/checked-requires-onchange-or-readonly": "error",
|
|
1107
|
+
/**
|
|
1108
|
+
* Enforce all defaultProps have a corresponding non-required PropType.
|
|
1109
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/default-props-match-prop-types.md}
|
|
1110
|
+
*/
|
|
1111
|
+
/**
|
|
1112
|
+
* Enforce consistent usage of destructuring assignment of props, state, and context.
|
|
1113
|
+
* @fixable
|
|
1114
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/destructuring-assignment.md}
|
|
1115
|
+
*/
|
|
266
1116
|
"react/destructuring-assignment": "error",
|
|
1117
|
+
/**
|
|
1118
|
+
* Disallow certain props on components.
|
|
1119
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/forbid-component-props.md}
|
|
1120
|
+
*/
|
|
1121
|
+
/**
|
|
1122
|
+
* Disallow certain props on DOM Nodes.
|
|
1123
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/forbid-dom-props.md}
|
|
1124
|
+
*/
|
|
1125
|
+
/**
|
|
1126
|
+
* Disallow certain elements.
|
|
1127
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/forbid-elements.md}
|
|
1128
|
+
*/
|
|
1129
|
+
/**
|
|
1130
|
+
* Disallow using another component's propTypes.
|
|
1131
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/forbid-foreign-prop-types.md}
|
|
1132
|
+
*/
|
|
1133
|
+
/**
|
|
1134
|
+
* Disallow certain propTypes.
|
|
1135
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/forbid-prop-types.md}
|
|
1136
|
+
*/
|
|
1137
|
+
/**
|
|
1138
|
+
* Require all forwardRef components include a ref parameter.
|
|
1139
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/forward-ref-uses-ref.md}
|
|
1140
|
+
*/
|
|
267
1141
|
"react/forward-ref-uses-ref": "error",
|
|
1142
|
+
/**
|
|
1143
|
+
* Enforce a specific function type for function components.
|
|
1144
|
+
* @fixable
|
|
1145
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/function-component-definition.md}
|
|
1146
|
+
*/
|
|
268
1147
|
"react/function-component-definition": ["error", {
|
|
269
1148
|
namedComponents: "arrow-function",
|
|
270
1149
|
unnamedComponents: "arrow-function"
|
|
271
1150
|
}],
|
|
1151
|
+
/**
|
|
1152
|
+
* Ensure destructuring and symmetric naming of useState hook value and setter variables.
|
|
1153
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/hook-use-state.md}
|
|
1154
|
+
*/
|
|
272
1155
|
"react/hook-use-state": "error",
|
|
1156
|
+
/**
|
|
1157
|
+
* Enforce sandbox attribute on iframe elements.
|
|
1158
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/iframe-missing-sandbox.md}
|
|
1159
|
+
*/
|
|
273
1160
|
"react/iframe-missing-sandbox": "error",
|
|
1161
|
+
/**
|
|
1162
|
+
* Enforce boolean attributes notation in JSX.
|
|
1163
|
+
* @fixable
|
|
1164
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-boolean-value.md}
|
|
1165
|
+
*/
|
|
274
1166
|
"react/jsx-boolean-value": ["error", "never"],
|
|
1167
|
+
/**
|
|
1168
|
+
* Enforce or disallow spaces inside of curly braces in JSX attributes and expressions.
|
|
1169
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-child-element-spacing.md}
|
|
1170
|
+
*/
|
|
275
1171
|
"react/jsx-child-element-spacing": "error",
|
|
1172
|
+
/**
|
|
1173
|
+
* Enforce closing bracket location in JSX.
|
|
1174
|
+
* @fixable
|
|
1175
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-closing-bracket-location.md}
|
|
1176
|
+
*/
|
|
276
1177
|
"react/jsx-closing-bracket-location": "error",
|
|
1178
|
+
/**
|
|
1179
|
+
* Enforce closing tag location for multiline JSX.
|
|
1180
|
+
* @fixable
|
|
1181
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-closing-tag-location.md}
|
|
1182
|
+
*/
|
|
277
1183
|
"react/jsx-closing-tag-location": "error",
|
|
1184
|
+
/**
|
|
1185
|
+
* Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes.
|
|
1186
|
+
* @fixable
|
|
1187
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-curly-brace-presence.md}
|
|
1188
|
+
*/
|
|
278
1189
|
"react/jsx-curly-brace-presence": ["error", "never"],
|
|
1190
|
+
/**
|
|
1191
|
+
* Enforce consistent linebreaks in curly braces in JSX attributes and expressions.
|
|
1192
|
+
* @fixable
|
|
1193
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-curly-newline.md}
|
|
1194
|
+
*/
|
|
279
1195
|
"react/jsx-curly-newline": "error",
|
|
1196
|
+
/**
|
|
1197
|
+
* Enforce or disallow spaces inside of curly braces in JSX attributes and expressions.
|
|
1198
|
+
* @fixable
|
|
1199
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-curly-spacing.md}
|
|
1200
|
+
*/
|
|
280
1201
|
"react/jsx-curly-spacing": "error",
|
|
1202
|
+
/**
|
|
1203
|
+
* Enforce or disallow spaces around equal signs in JSX attributes.
|
|
1204
|
+
* @fixable
|
|
1205
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-equals-spacing.md}
|
|
1206
|
+
*/
|
|
281
1207
|
"react/jsx-equals-spacing": "error",
|
|
1208
|
+
/**
|
|
1209
|
+
* Disallow file extensions that may contain JSX.
|
|
1210
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-filename-extension.md}
|
|
1211
|
+
*/
|
|
1212
|
+
/**
|
|
1213
|
+
* Enforce proper position of the first property in JSX.
|
|
1214
|
+
* @fixable
|
|
1215
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-first-prop-new-line.md}
|
|
1216
|
+
*/
|
|
282
1217
|
"react/jsx-first-prop-new-line": "error",
|
|
1218
|
+
/**
|
|
1219
|
+
* Enforce shorthand or standard form for React fragments.
|
|
1220
|
+
* @fixable
|
|
1221
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-fragments.md}
|
|
1222
|
+
*/
|
|
283
1223
|
"react/jsx-fragments": "error",
|
|
1224
|
+
/**
|
|
1225
|
+
* Enforce event handler naming conventions in JSX.
|
|
1226
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-handler-names.md}
|
|
1227
|
+
*/
|
|
284
1228
|
"react/jsx-handler-names": "error",
|
|
1229
|
+
/**
|
|
1230
|
+
* Enforce JSX indentation.
|
|
1231
|
+
* @fixable
|
|
1232
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-indent.md}
|
|
1233
|
+
*/
|
|
285
1234
|
"react/jsx-indent": "error",
|
|
1235
|
+
/**
|
|
1236
|
+
* Enforce props indentation in JSX.
|
|
1237
|
+
* @fixable
|
|
1238
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-indent-props.md}
|
|
1239
|
+
*/
|
|
286
1240
|
"react/jsx-indent-props": "error",
|
|
1241
|
+
/**
|
|
1242
|
+
* Enforce JSX maximum depth.
|
|
1243
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-max-depth.md}
|
|
1244
|
+
*/
|
|
1245
|
+
/**
|
|
1246
|
+
* Enforce maximum of props on a single line in JSX.
|
|
1247
|
+
* @fixable
|
|
1248
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-max-props-per-line.md}
|
|
1249
|
+
*/
|
|
1250
|
+
/**
|
|
1251
|
+
* Require or prevent a new line after jsx elements and expressions.
|
|
1252
|
+
* @fixable
|
|
1253
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-newline.md}
|
|
1254
|
+
*/
|
|
1255
|
+
/**
|
|
1256
|
+
* Disallow .bind() or arrow functions in JSX props.
|
|
1257
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-bind.md}
|
|
1258
|
+
*/
|
|
287
1259
|
"react/jsx-no-bind": "error",
|
|
1260
|
+
/**
|
|
1261
|
+
* Disallows JSX context provider values from taking values that will cause needless rerenders.
|
|
1262
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-constructed-context-values.md}
|
|
1263
|
+
*/
|
|
288
1264
|
"react/jsx-no-constructed-context-values": "error",
|
|
1265
|
+
/**
|
|
1266
|
+
* Disallow problematic leaked values from being rendered.
|
|
1267
|
+
* @fixable
|
|
1268
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-leaked-render.md}
|
|
1269
|
+
*/
|
|
289
1270
|
"react/jsx-no-leaked-render": "error",
|
|
1271
|
+
/**
|
|
1272
|
+
* Disallow usage of string literals in JSX.
|
|
1273
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-literals.md}
|
|
1274
|
+
*/
|
|
1275
|
+
/**
|
|
1276
|
+
* Disallow usage of javascript: URLs.
|
|
1277
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-script-url.md}
|
|
1278
|
+
*/
|
|
290
1279
|
"react/jsx-no-script-url": "error",
|
|
1280
|
+
/**
|
|
1281
|
+
* Disallow unnecessary fragments.
|
|
1282
|
+
* @fixable
|
|
1283
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-no-useless-fragment.md}
|
|
1284
|
+
*/
|
|
291
1285
|
"react/jsx-no-useless-fragment": "error",
|
|
1286
|
+
/**
|
|
1287
|
+
* Require one JSX element per line.
|
|
1288
|
+
* @fixable
|
|
1289
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-one-expression-per-line.md}
|
|
1290
|
+
*/
|
|
292
1291
|
"react/jsx-one-expression-per-line": "error",
|
|
1292
|
+
/**
|
|
1293
|
+
* Enforce PascalCase for user-defined JSX components.
|
|
1294
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-pascal-case.md}
|
|
1295
|
+
*/
|
|
293
1296
|
"react/jsx-pascal-case": "error",
|
|
1297
|
+
/**
|
|
1298
|
+
* Disallow multiple spaces between inline JSX props.
|
|
1299
|
+
* @fixable
|
|
1300
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-props-no-multi-spaces.md}
|
|
1301
|
+
*/
|
|
294
1302
|
"react/jsx-props-no-multi-spaces": "error",
|
|
1303
|
+
/**
|
|
1304
|
+
* Disallow JSX prop spreading the same identifier multiple times.
|
|
1305
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-props-no-spread-multi.md}
|
|
1306
|
+
*/
|
|
295
1307
|
"react/jsx-props-no-spread-multi": "error",
|
|
1308
|
+
/**
|
|
1309
|
+
* Disallow JSX prop spreading.
|
|
1310
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-props-no-spreading.md}
|
|
1311
|
+
*/
|
|
1312
|
+
/**
|
|
1313
|
+
* Enforce defaultProps declarations alphabetical sorting.
|
|
1314
|
+
* @deprecated
|
|
1315
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-sort-default-props.md}
|
|
1316
|
+
*/
|
|
1317
|
+
/**
|
|
1318
|
+
* Enforce props alphabetical sorting.
|
|
1319
|
+
* @fixable
|
|
1320
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-sort-props.md}
|
|
1321
|
+
*/
|
|
296
1322
|
"react/jsx-sort-props": ["error", {
|
|
297
1323
|
callbacksLast: true,
|
|
298
1324
|
shorthandLast: true,
|
|
@@ -301,38 +1327,194 @@ const reactConfig = defineConfig({
|
|
|
301
1327
|
noSortAlphabetically: false,
|
|
302
1328
|
reservedFirst: true
|
|
303
1329
|
}],
|
|
1330
|
+
/**
|
|
1331
|
+
* Enforce spacing before closing bracket in JSX.
|
|
1332
|
+
* @fixable
|
|
1333
|
+
* @deprecated
|
|
1334
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-space-before-closing.md}
|
|
1335
|
+
*/
|
|
1336
|
+
/**
|
|
1337
|
+
* Enforce whitespace in and around the JSX opening and closing brackets.
|
|
1338
|
+
* @fixable
|
|
1339
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-tag-spacing.md}
|
|
1340
|
+
*/
|
|
304
1341
|
"react/jsx-tag-spacing": "error",
|
|
1342
|
+
/**
|
|
1343
|
+
* Disallow missing parentheses around multiline JSX.
|
|
1344
|
+
* @fixable
|
|
1345
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-wrap-multilines.md}
|
|
1346
|
+
*/
|
|
305
1347
|
"react/jsx-wrap-multilines": "error",
|
|
1348
|
+
/**
|
|
1349
|
+
* Disallow when this.state is accessed within setState.
|
|
1350
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-access-state-in-setstate.md}
|
|
1351
|
+
*/
|
|
306
1352
|
"react/no-access-state-in-setstate": "error",
|
|
1353
|
+
/**
|
|
1354
|
+
* Disallow adjacent inline elements not separated by whitespace.
|
|
1355
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-adjacent-inline-elements.md}
|
|
1356
|
+
*/
|
|
307
1357
|
"react/no-adjacent-inline-elements": "error",
|
|
1358
|
+
/**
|
|
1359
|
+
* Disallow usage of Array index in keys.
|
|
1360
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-array-index-key.md}
|
|
1361
|
+
*/
|
|
308
1362
|
"react/no-array-index-key": "error",
|
|
1363
|
+
/**
|
|
1364
|
+
* Lifecycle methods should be methods on the prototype, not class fields.
|
|
1365
|
+
* @fixable
|
|
1366
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-arrow-function-lifecycle.md}
|
|
1367
|
+
*/
|
|
309
1368
|
"react/no-arrow-function-lifecycle": "error",
|
|
1369
|
+
/**
|
|
1370
|
+
* Disallow usage of dangerous JSX properties.
|
|
1371
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-danger.md}
|
|
1372
|
+
*/
|
|
310
1373
|
"react/no-danger": "error",
|
|
1374
|
+
/**
|
|
1375
|
+
* Disallow usage of setState in componentDidMount.
|
|
1376
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-did-mount-set-state.md}
|
|
1377
|
+
*/
|
|
311
1378
|
"react/no-did-mount-set-state": "error",
|
|
1379
|
+
/**
|
|
1380
|
+
* Disallow usage of setState in componentDidUpdate.
|
|
1381
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-did-update-set-state.md}
|
|
1382
|
+
*/
|
|
312
1383
|
"react/no-did-update-set-state": "error",
|
|
1384
|
+
/**
|
|
1385
|
+
* Disallow usage of invalid attributes.
|
|
1386
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-invalid-html-attribute.md}
|
|
1387
|
+
*/
|
|
313
1388
|
"react/no-invalid-html-attribute": "error",
|
|
1389
|
+
/**
|
|
1390
|
+
* Disallow multiple component definition per file.
|
|
1391
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-multi-comp.md}
|
|
1392
|
+
*/
|
|
1393
|
+
/**
|
|
1394
|
+
* Enforce that namespaces are not used in React elements.
|
|
1395
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-namespace.md}
|
|
1396
|
+
*/
|
|
314
1397
|
"react/no-namespace": "error",
|
|
1398
|
+
/**
|
|
1399
|
+
* Disallow usage of referential-type variables as default param in functional component.
|
|
1400
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-object-type-as-default-prop.md}
|
|
1401
|
+
*/
|
|
315
1402
|
"react/no-object-type-as-default-prop": "error",
|
|
1403
|
+
/**
|
|
1404
|
+
* Disallow usage of shouldComponentUpdate when extending React.PureComponent.
|
|
1405
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-redundant-should-component-update.md}
|
|
1406
|
+
*/
|
|
316
1407
|
"react/no-redundant-should-component-update": "error",
|
|
1408
|
+
/**
|
|
1409
|
+
* Disallow usage of setState.
|
|
1410
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-set-state.md}
|
|
1411
|
+
*/
|
|
317
1412
|
"react/no-set-state": "error",
|
|
1413
|
+
/**
|
|
1414
|
+
* Disallow this from being used in stateless functional components.
|
|
1415
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-this-in-sfc.md}
|
|
1416
|
+
*/
|
|
318
1417
|
"react/no-this-in-sfc": "error",
|
|
1418
|
+
/**
|
|
1419
|
+
* Disallow common typos.
|
|
1420
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-typos.md}
|
|
1421
|
+
*/
|
|
319
1422
|
"react/no-typos": "error",
|
|
1423
|
+
/**
|
|
1424
|
+
* Disallow creating unstable components inside components.
|
|
1425
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unstable-nested-components.md}
|
|
1426
|
+
*/
|
|
320
1427
|
"react/no-unstable-nested-components": "error",
|
|
1428
|
+
/**
|
|
1429
|
+
* Disallow declaring unused methods of component class.
|
|
1430
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unused-class-component-methods.md}
|
|
1431
|
+
*/
|
|
321
1432
|
"react/no-unused-class-component-methods": "error",
|
|
1433
|
+
/**
|
|
1434
|
+
* Disallow definitions of unused propTypes.
|
|
1435
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unused-prop-types.md}
|
|
1436
|
+
*/
|
|
322
1437
|
"react/no-unused-prop-types": "error",
|
|
1438
|
+
/**
|
|
1439
|
+
* Disallow definitions of unused state.
|
|
1440
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unused-state.md}
|
|
1441
|
+
*/
|
|
323
1442
|
"react/no-unused-state": "error",
|
|
1443
|
+
/**
|
|
1444
|
+
* Disallow usage of setState in componentWillUpdate.
|
|
1445
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-will-update-set-state.md}
|
|
1446
|
+
*/
|
|
324
1447
|
"react/no-will-update-set-state": "error",
|
|
1448
|
+
/**
|
|
1449
|
+
* Enforce ES5 or ES6 class for React Components.
|
|
1450
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/prefer-es6-class.md}
|
|
1451
|
+
*/
|
|
325
1452
|
"react/prefer-es6-class": "error",
|
|
1453
|
+
/**
|
|
1454
|
+
* Prefer exact proptype definitions.
|
|
1455
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/prefer-exact-props.md}
|
|
1456
|
+
*/
|
|
326
1457
|
"react/prefer-exact-props": "error",
|
|
1458
|
+
/**
|
|
1459
|
+
* Enforce that props are read-only.
|
|
1460
|
+
* @fixable
|
|
1461
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/prefer-read-only-props.md}
|
|
1462
|
+
*/
|
|
327
1463
|
"react/prefer-read-only-props": "error",
|
|
1464
|
+
/**
|
|
1465
|
+
* Enforce stateless components to be written as a pure function.
|
|
1466
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/prefer-stateless-function.md}
|
|
1467
|
+
*/
|
|
328
1468
|
"react/prefer-stateless-function": "error",
|
|
1469
|
+
/**
|
|
1470
|
+
* Enforce a defaultProps definition for every prop that is not a required prop.
|
|
1471
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/require-default-props.md}
|
|
1472
|
+
*/
|
|
1473
|
+
/**
|
|
1474
|
+
* Enforce React components to have a shouldComponentUpdate method.
|
|
1475
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/require-optimization.md}
|
|
1476
|
+
*/
|
|
329
1477
|
"react/require-optimization": "error",
|
|
1478
|
+
/**
|
|
1479
|
+
* Disallow extra closing tags for components without children.
|
|
1480
|
+
* @fixable
|
|
1481
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/self-closing-comp.md}
|
|
1482
|
+
*/
|
|
330
1483
|
"react/self-closing-comp": "error",
|
|
1484
|
+
/**
|
|
1485
|
+
* Enforce component methods order.
|
|
1486
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/sort-comp.md}
|
|
1487
|
+
*/
|
|
331
1488
|
"react/sort-comp": "error",
|
|
1489
|
+
/**
|
|
1490
|
+
* Enforce defaultProps declarations alphabetical sorting.
|
|
1491
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/sort-default-props.md}
|
|
1492
|
+
*/
|
|
332
1493
|
"react/sort-default-props": "error",
|
|
1494
|
+
/**
|
|
1495
|
+
* Enforce propTypes declarations alphabetical sorting.
|
|
1496
|
+
* @fixable
|
|
1497
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/sort-prop-types.md}
|
|
1498
|
+
*/
|
|
333
1499
|
"react/sort-prop-types": "error",
|
|
1500
|
+
/**
|
|
1501
|
+
* Enforce class component state initialization style.
|
|
1502
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/state-in-constructor.md}
|
|
1503
|
+
*/
|
|
334
1504
|
"react/state-in-constructor": "error",
|
|
1505
|
+
/**
|
|
1506
|
+
* Enforces where React component static properties should be positioned.
|
|
1507
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/static-property-placement.md}
|
|
1508
|
+
*/
|
|
335
1509
|
"react/static-property-placement": "error",
|
|
1510
|
+
/**
|
|
1511
|
+
* Enforce style prop value is an object.
|
|
1512
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/style-prop-object.md}
|
|
1513
|
+
*/
|
|
1514
|
+
/**
|
|
1515
|
+
* Disallow void DOM elements (e.g. <img />, <br />) from receiving children.
|
|
1516
|
+
* @see {@link https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/void-dom-elements-no-children.md}
|
|
1517
|
+
*/
|
|
336
1518
|
"react/void-dom-elements-no-children": "error"
|
|
337
1519
|
}
|
|
338
1520
|
});
|
|
@@ -355,7 +1537,435 @@ const reactHooksConfig = defineConfig({
|
|
|
355
1537
|
const stylisticConfig = defineConfig({
|
|
356
1538
|
name: "stylistic-config",
|
|
357
1539
|
plugins: { "@stylistic": stylistic },
|
|
358
|
-
rules: {
|
|
1540
|
+
rules: {
|
|
1541
|
+
/**
|
|
1542
|
+
* Enforce linebreaks after opening and before closing array brackets.
|
|
1543
|
+
* @fixable
|
|
1544
|
+
* @see {@link https://eslint.style/rules/array-bracket-newline}
|
|
1545
|
+
*/
|
|
1546
|
+
/**
|
|
1547
|
+
* Enforce consistent spacing inside array brackets.
|
|
1548
|
+
* @config recommended
|
|
1549
|
+
* @fixable
|
|
1550
|
+
* @see {@link https://eslint.style/rules/array-bracket-spacing}
|
|
1551
|
+
*/
|
|
1552
|
+
/**
|
|
1553
|
+
* Enforce line breaks after each array element.
|
|
1554
|
+
* @fixable
|
|
1555
|
+
* @see {@link https://eslint.style/rules/array-element-newline}
|
|
1556
|
+
*/
|
|
1557
|
+
/**
|
|
1558
|
+
* Require parentheses around arrow function arguments.
|
|
1559
|
+
* @config recommended
|
|
1560
|
+
* @fixable
|
|
1561
|
+
* @see {@link https://eslint.style/rules/arrow-parens}
|
|
1562
|
+
*/
|
|
1563
|
+
/**
|
|
1564
|
+
* Enforce consistent spacing before and after the arrow in arrow functions.
|
|
1565
|
+
* @config recommended
|
|
1566
|
+
* @fixable
|
|
1567
|
+
* @see {@link https://eslint.style/rules/arrow-spacing}
|
|
1568
|
+
*/
|
|
1569
|
+
/**
|
|
1570
|
+
* Disallow or enforce spaces inside of blocks after opening block and before closing block.
|
|
1571
|
+
* @config recommended
|
|
1572
|
+
* @fixable
|
|
1573
|
+
* @see {@link https://eslint.style/rules/block-spacing}
|
|
1574
|
+
*/
|
|
1575
|
+
/**
|
|
1576
|
+
* Enforce consistent brace style for blocks.
|
|
1577
|
+
* @config recommended
|
|
1578
|
+
* @fixable
|
|
1579
|
+
* @see {@link https://eslint.style/rules/brace-style}
|
|
1580
|
+
*/
|
|
1581
|
+
/**
|
|
1582
|
+
* Require or disallow trailing commas.
|
|
1583
|
+
* @config recommended
|
|
1584
|
+
* @fixable
|
|
1585
|
+
* @see {@link https://eslint.style/rules/comma-dangle}
|
|
1586
|
+
*/
|
|
1587
|
+
/**
|
|
1588
|
+
* Enforce consistent spacing before and after commas.
|
|
1589
|
+
* @config recommended
|
|
1590
|
+
* @fixable
|
|
1591
|
+
* @see {@link https://eslint.style/rules/comma-spacing}
|
|
1592
|
+
*/
|
|
1593
|
+
/**
|
|
1594
|
+
* Enforce consistent comma style.
|
|
1595
|
+
* @config recommended
|
|
1596
|
+
* @fixable
|
|
1597
|
+
* @see {@link https://eslint.style/rules/comma-style}
|
|
1598
|
+
*/
|
|
1599
|
+
/**
|
|
1600
|
+
* Enforce consistent spacing inside computed property brackets.
|
|
1601
|
+
* @config recommended
|
|
1602
|
+
* @fixable
|
|
1603
|
+
* @see {@link https://eslint.style/rules/computed-property-spacing}
|
|
1604
|
+
*/
|
|
1605
|
+
/**
|
|
1606
|
+
* Enforce consistent line breaks after opening and before closing braces.
|
|
1607
|
+
* @fixable
|
|
1608
|
+
* @see {@link https://eslint.style/rules/curly-newline}
|
|
1609
|
+
*/
|
|
1610
|
+
/**
|
|
1611
|
+
* Enforce consistent newlines before and after dots.
|
|
1612
|
+
* @config recommended
|
|
1613
|
+
* @fixable
|
|
1614
|
+
* @see {@link https://eslint.style/rules/dot-location}
|
|
1615
|
+
*/
|
|
1616
|
+
/**
|
|
1617
|
+
* Require or disallow newline at the end of files.
|
|
1618
|
+
* @config recommended
|
|
1619
|
+
* @fixable
|
|
1620
|
+
* @see {@link https://eslint.style/rules/eol-last}
|
|
1621
|
+
*/
|
|
1622
|
+
/**
|
|
1623
|
+
* Enforce line breaks between arguments of a function call.
|
|
1624
|
+
* @fixable
|
|
1625
|
+
* @see {@link https://eslint.style/rules/function-call-argument-newline}
|
|
1626
|
+
*/
|
|
1627
|
+
/**
|
|
1628
|
+
* Require or disallow spacing between function identifiers and their invocations.
|
|
1629
|
+
* @fixable
|
|
1630
|
+
* @see {@link https://eslint.style/rules/function-call-spacing}
|
|
1631
|
+
*/
|
|
1632
|
+
/**
|
|
1633
|
+
* Enforce consistent line breaks inside function parentheses.
|
|
1634
|
+
* @fixable
|
|
1635
|
+
* @see {@link https://eslint.style/rules/function-paren-newline}
|
|
1636
|
+
*/
|
|
1637
|
+
/**
|
|
1638
|
+
* Enforce consistent spacing around `*` operators in generator functions.
|
|
1639
|
+
* @config recommended
|
|
1640
|
+
* @fixable
|
|
1641
|
+
* @see {@link https://eslint.style/rules/generator-star-spacing}
|
|
1642
|
+
*/
|
|
1643
|
+
/**
|
|
1644
|
+
* Enforce the location of arrow function bodies.
|
|
1645
|
+
* @fixable
|
|
1646
|
+
* @see {@link https://eslint.style/rules/implicit-arrow-linebreak}
|
|
1647
|
+
*/
|
|
1648
|
+
/**
|
|
1649
|
+
* Enforce consistent indentation.
|
|
1650
|
+
* @config recommended
|
|
1651
|
+
* @fixable
|
|
1652
|
+
* @see {@link https://eslint.style/rules/indent}
|
|
1653
|
+
*/
|
|
1654
|
+
/**
|
|
1655
|
+
* Indentation for binary operators.
|
|
1656
|
+
* @config recommended
|
|
1657
|
+
* @fixable
|
|
1658
|
+
* @see {@link https://eslint.style/rules/indent-binary-ops}
|
|
1659
|
+
*/
|
|
1660
|
+
/**
|
|
1661
|
+
* Enforce or disallow spaces inside of curly braces in JSX attributes and expressions.
|
|
1662
|
+
* @see {@link https://eslint.style/rules/jsx-child-element-spacing}
|
|
1663
|
+
*/
|
|
1664
|
+
/**
|
|
1665
|
+
* Enforce closing bracket location in JSX.
|
|
1666
|
+
* @config recommended
|
|
1667
|
+
* @fixable
|
|
1668
|
+
* @see {@link https://eslint.style/rules/jsx-closing-bracket-location}
|
|
1669
|
+
*/
|
|
1670
|
+
/**
|
|
1671
|
+
* Enforce closing tag location for multiline JSX.
|
|
1672
|
+
* @config recommended
|
|
1673
|
+
* @fixable
|
|
1674
|
+
* @see {@link https://eslint.style/rules/jsx-closing-tag-location}
|
|
1675
|
+
*/
|
|
1676
|
+
/**
|
|
1677
|
+
* Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes.
|
|
1678
|
+
* @config recommended
|
|
1679
|
+
* @fixable
|
|
1680
|
+
* @see {@link https://eslint.style/rules/jsx-curly-brace-presence}
|
|
1681
|
+
*/
|
|
1682
|
+
/**
|
|
1683
|
+
* Enforce consistent linebreaks in curly braces in JSX attributes and expressions.
|
|
1684
|
+
* @config recommended
|
|
1685
|
+
* @fixable
|
|
1686
|
+
* @see {@link https://eslint.style/rules/jsx-curly-newline}
|
|
1687
|
+
*/
|
|
1688
|
+
/**
|
|
1689
|
+
* Enforce or disallow spaces inside of curly braces in JSX attributes and expressions.
|
|
1690
|
+
* @config recommended
|
|
1691
|
+
* @fixable
|
|
1692
|
+
* @see {@link https://eslint.style/rules/jsx-curly-spacing}
|
|
1693
|
+
*/
|
|
1694
|
+
/**
|
|
1695
|
+
* Enforce or disallow spaces around equal signs in JSX attributes.
|
|
1696
|
+
* @config recommended
|
|
1697
|
+
* @fixable
|
|
1698
|
+
* @see {@link https://eslint.style/rules/jsx-equals-spacing}
|
|
1699
|
+
*/
|
|
1700
|
+
/**
|
|
1701
|
+
* Enforce proper position of the first property in JSX.
|
|
1702
|
+
* @config recommended
|
|
1703
|
+
* @fixable
|
|
1704
|
+
* @see {@link https://eslint.style/rules/jsx-first-prop-new-line}
|
|
1705
|
+
*/
|
|
1706
|
+
/**
|
|
1707
|
+
* Enforce line breaks before and after JSX elements when they are used as arguments to a function.
|
|
1708
|
+
* @config recommended
|
|
1709
|
+
* @fixable
|
|
1710
|
+
* @see {@link https://eslint.style/rules/jsx-function-call-newline}
|
|
1711
|
+
*/
|
|
1712
|
+
/**
|
|
1713
|
+
* Enforce JSX indentation. Deprecated, use `indent` rule instead.
|
|
1714
|
+
* @fixable
|
|
1715
|
+
* @see {@link https://eslint.style/rules/jsx-indent}
|
|
1716
|
+
*/
|
|
1717
|
+
/**
|
|
1718
|
+
* Enforce props indentation in JSX.
|
|
1719
|
+
* @config recommended
|
|
1720
|
+
* @fixable
|
|
1721
|
+
* @see {@link https://eslint.style/rules/jsx-indent-props}
|
|
1722
|
+
*/
|
|
1723
|
+
/**
|
|
1724
|
+
* Enforce maximum of props on a single line in JSX.
|
|
1725
|
+
* @config recommended
|
|
1726
|
+
* @fixable
|
|
1727
|
+
* @see {@link https://eslint.style/rules/jsx-max-props-per-line}
|
|
1728
|
+
*/
|
|
1729
|
+
/**
|
|
1730
|
+
* Require or prevent a new line after jsx elements and expressions.
|
|
1731
|
+
* @fixable
|
|
1732
|
+
* @see {@link https://eslint.style/rules/jsx-newline}
|
|
1733
|
+
*/
|
|
1734
|
+
/**
|
|
1735
|
+
* Require one JSX element per line.
|
|
1736
|
+
* @config recommended
|
|
1737
|
+
* @fixable
|
|
1738
|
+
* @see {@link https://eslint.style/rules/jsx-one-expression-per-line}
|
|
1739
|
+
*/
|
|
1740
|
+
/**
|
|
1741
|
+
* Enforce PascalCase for user-defined JSX components.
|
|
1742
|
+
* @see {@link https://eslint.style/rules/jsx-pascal-case}
|
|
1743
|
+
*/
|
|
1744
|
+
/**
|
|
1745
|
+
* Disallow multiple spaces between inline JSX props. Deprecated, use `no-multi-spaces` rule instead.
|
|
1746
|
+
* @fixable
|
|
1747
|
+
* @see {@link https://eslint.style/rules/jsx-props-no-multi-spaces}
|
|
1748
|
+
*/
|
|
1749
|
+
/**
|
|
1750
|
+
* Enforce the consistent use of either double or single quotes in JSX attributes.
|
|
1751
|
+
* @config recommended
|
|
1752
|
+
* @fixable
|
|
1753
|
+
* @see {@link https://eslint.style/rules/jsx-quotes}
|
|
1754
|
+
*/
|
|
1755
|
+
/**
|
|
1756
|
+
* Disallow extra closing tags for components without children.
|
|
1757
|
+
* @fixable
|
|
1758
|
+
* @see {@link https://eslint.style/rules/jsx-self-closing-comp}
|
|
1759
|
+
*/
|
|
1760
|
+
/**
|
|
1761
|
+
* Enforce props alphabetical sorting.
|
|
1762
|
+
* @fixable
|
|
1763
|
+
* @see {@link https://eslint.style/rules/jsx-sort-props}
|
|
1764
|
+
*/
|
|
1765
|
+
/**
|
|
1766
|
+
* Enforce whitespace in and around the JSX opening and closing brackets.
|
|
1767
|
+
* @config recommended
|
|
1768
|
+
* @fixable
|
|
1769
|
+
* @see {@link https://eslint.style/rules/jsx-tag-spacing}
|
|
1770
|
+
*/
|
|
1771
|
+
/**
|
|
1772
|
+
* Disallow missing parentheses around multiline JSX.
|
|
1773
|
+
* @config recommended
|
|
1774
|
+
* @fixable
|
|
1775
|
+
* @see {@link https://eslint.style/rules/jsx-wrap-multilines}
|
|
1776
|
+
*/
|
|
1777
|
+
/**
|
|
1778
|
+
* Enforce consistent spacing between property names and type annotations in types and interfaces.
|
|
1779
|
+
* @config recommended
|
|
1780
|
+
* @fixable
|
|
1781
|
+
* @see {@link https://eslint.style/rules/key-spacing}
|
|
1782
|
+
*/
|
|
1783
|
+
/**
|
|
1784
|
+
* Enforce consistent spacing before and after keywords.
|
|
1785
|
+
* @config recommended
|
|
1786
|
+
* @fixable
|
|
1787
|
+
* @see {@link https://eslint.style/rules/keyword-spacing}
|
|
1788
|
+
*/
|
|
1789
|
+
/**
|
|
1790
|
+
* Enforce position of line comments.
|
|
1791
|
+
* @see {@link https://eslint.style/rules/line-comment-position}
|
|
1792
|
+
*/
|
|
1793
|
+
/**
|
|
1794
|
+
* Enforce consistent linebreak style.
|
|
1795
|
+
* @fixable
|
|
1796
|
+
* @see {@link https://eslint.style/rules/linebreak-style}
|
|
1797
|
+
*/
|
|
1798
|
+
/**
|
|
1799
|
+
* Require empty lines around comments.
|
|
1800
|
+
* @fixable
|
|
1801
|
+
* @see {@link https://eslint.style/rules/lines-around-comment}
|
|
1802
|
+
*/
|
|
1803
|
+
/**
|
|
1804
|
+
* Require or disallow an empty line between class members.
|
|
1805
|
+
* @config recommended
|
|
1806
|
+
* @fixable
|
|
1807
|
+
* @see {@link https://eslint.style/rules/lines-between-class-members}
|
|
1808
|
+
*/
|
|
1809
|
+
/**
|
|
1810
|
+
* Enforce consistent spacing and line break styles inside brackets.
|
|
1811
|
+
* @fixable
|
|
1812
|
+
* @experimental
|
|
1813
|
+
* @see {@link https://eslint.style/rules/list-style}
|
|
1814
|
+
*/
|
|
1815
|
+
/**
|
|
1816
|
+
* Enforce a maximum line length.
|
|
1817
|
+
* @see {@link https://eslint.style/rules/max-len}
|
|
1818
|
+
*/
|
|
1819
|
+
/**
|
|
1820
|
+
* Enforce a maximum number of statements allowed per line.
|
|
1821
|
+
* @config recommended
|
|
1822
|
+
* @see {@link https://eslint.style/rules/max-statements-per-line}
|
|
1823
|
+
*/
|
|
1824
|
+
/**
|
|
1825
|
+
* Require a specific member delimiter style for interfaces and type literals.
|
|
1826
|
+
* @config recommended
|
|
1827
|
+
* @fixable
|
|
1828
|
+
* @see {@link https://eslint.style/rules/member-delimiter-style}
|
|
1829
|
+
*/
|
|
1830
|
+
/**
|
|
1831
|
+
* Enforce a particular style for multiline comments.
|
|
1832
|
+
* @fixable
|
|
1833
|
+
* @see {@link https://eslint.style/rules/multiline-comment-style}
|
|
1834
|
+
*/
|
|
1835
|
+
/**
|
|
1836
|
+
* Enforce newlines between operands of ternary expressions.
|
|
1837
|
+
* @config recommended
|
|
1838
|
+
* @fixable
|
|
1839
|
+
* @see {@link https://eslint.style/rules/multiline-ternary}
|
|
1840
|
+
*/
|
|
1841
|
+
/**
|
|
1842
|
+
* Enforce or disallow parentheses when invoking a constructor with no arguments.
|
|
1843
|
+
* @config recommended
|
|
1844
|
+
* @fixable
|
|
1845
|
+
* @see {@link https://eslint.style/rules/new-parens}
|
|
1846
|
+
*/
|
|
1847
|
+
/**
|
|
1848
|
+
* Require a newline after each call in a method chain.
|
|
1849
|
+
* @fixable
|
|
1850
|
+
* @see {@link https://eslint.style/rules/newline-per-chained-call}
|
|
1851
|
+
*/
|
|
1852
|
+
/**
|
|
1853
|
+
* Disallow arrow functions where they could be confused with comparisons.
|
|
1854
|
+
* @fixable
|
|
1855
|
+
* @see {@link https://eslint.style/rules/no-confusing-arrow}
|
|
1856
|
+
*/
|
|
1857
|
+
/**
|
|
1858
|
+
* Disallow unnecessary parentheses.
|
|
1859
|
+
* @config recommended
|
|
1860
|
+
* @fixable
|
|
1861
|
+
* @see {@link https://eslint.style/rules/no-extra-parens}
|
|
1862
|
+
*/
|
|
1863
|
+
/**
|
|
1864
|
+
* Disallow unnecessary semicolons.
|
|
1865
|
+
* @fixable
|
|
1866
|
+
* @see {@link https://eslint.style/rules/no-extra-semi}
|
|
1867
|
+
*/
|
|
1868
|
+
/**
|
|
1869
|
+
* Disallow leading or trailing decimal points in numeric literals.
|
|
1870
|
+
* @config recommended
|
|
1871
|
+
* @fixable
|
|
1872
|
+
* @see {@link https://eslint.style/rules/no-floating-decimal}
|
|
1873
|
+
*/
|
|
1874
|
+
/**
|
|
1875
|
+
* Disallow mixed binary operators.
|
|
1876
|
+
* @config recommended
|
|
1877
|
+
* @see {@link https://eslint.style/rules/no-mixed-operators}
|
|
1878
|
+
*/
|
|
1879
|
+
/**
|
|
1880
|
+
* Disallow mixed spaces and tabs for indentation.
|
|
1881
|
+
* @config recommended
|
|
1882
|
+
* @see {@link https://eslint.style/rules/no-mixed-spaces-and-tabs}
|
|
1883
|
+
*/
|
|
1884
|
+
/**
|
|
1885
|
+
* Disallow multiple spaces.
|
|
1886
|
+
* @config recommended
|
|
1887
|
+
* @fixable
|
|
1888
|
+
* @see {@link https://eslint.style/rules/no-multi-spaces}
|
|
1889
|
+
*/
|
|
1890
|
+
/**
|
|
1891
|
+
* Disallow multiple empty lines.
|
|
1892
|
+
* @config recommended
|
|
1893
|
+
* @fixable
|
|
1894
|
+
* @see {@link https://eslint.style/rules/no-multiple-empty-lines}
|
|
1895
|
+
*/
|
|
1896
|
+
/**
|
|
1897
|
+
* Disallow all tabs.
|
|
1898
|
+
* @config recommended
|
|
1899
|
+
* @see {@link https://eslint.style/rules/no-tabs}
|
|
1900
|
+
*/
|
|
1901
|
+
/**
|
|
1902
|
+
* Disallow trailing whitespace at the end of lines.
|
|
1903
|
+
* @config recommended
|
|
1904
|
+
* @fixable
|
|
1905
|
+
* @see {@link https://eslint.style/rules/no-trailing-spaces}
|
|
1906
|
+
*/
|
|
1907
|
+
/**
|
|
1908
|
+
* Disallow whitespace before properties.
|
|
1909
|
+
* @config recommended
|
|
1910
|
+
* @fixable
|
|
1911
|
+
* @see {@link https://eslint.style/rules/no-whitespace-before-property}
|
|
1912
|
+
*/
|
|
1913
|
+
/**
|
|
1914
|
+
* Enforce the location of single-line statements.
|
|
1915
|
+
* @fixable
|
|
1916
|
+
* @see {@link https://eslint.style/rules/nonblock-statement-body-position}
|
|
1917
|
+
*/
|
|
1918
|
+
/**
|
|
1919
|
+
* Enforce consistent line breaks after opening and before closing braces.
|
|
1920
|
+
* @fixable
|
|
1921
|
+
* @see {@link https://eslint.style/rules/object-curly-newline}
|
|
1922
|
+
*/
|
|
1923
|
+
/**
|
|
1924
|
+
* Enforce consistent spacing inside braces.
|
|
1925
|
+
* @config recommended
|
|
1926
|
+
* @fixable
|
|
1927
|
+
* @see {@link https://eslint.style/rules/object-curly-spacing}
|
|
1928
|
+
*/
|
|
1929
|
+
/**
|
|
1930
|
+
* Enforce placing object properties on separate lines.
|
|
1931
|
+
* @fixable
|
|
1932
|
+
* @see {@link https://eslint.style/rules/object-property-newline}
|
|
1933
|
+
*/
|
|
1934
|
+
/**
|
|
1935
|
+
* Require or disallow newlines around variable declarations.
|
|
1936
|
+
* @fixable
|
|
1937
|
+
* @see {@link https://eslint.style/rules/one-var-declaration-per-line}
|
|
1938
|
+
*/
|
|
1939
|
+
/**
|
|
1940
|
+
* Enforce consistent linebreak style for operators.
|
|
1941
|
+
* @config recommended
|
|
1942
|
+
* @fixable
|
|
1943
|
+
* @see {@link https://eslint.style/rules/operator-linebreak}
|
|
1944
|
+
*/
|
|
1945
|
+
/**
|
|
1946
|
+
* Require or disallow padding within blocks.
|
|
1947
|
+
* @config recommended
|
|
1948
|
+
* @fixable
|
|
1949
|
+
* @see {@link https://eslint.style/rules/padded-blocks}
|
|
1950
|
+
*/
|
|
1951
|
+
/**
|
|
1952
|
+
* Require or disallow padding lines between statements.
|
|
1953
|
+
* @fixable
|
|
1954
|
+
* @see {@link https://eslint.style/rules/padding-line-between-statements}
|
|
1955
|
+
*/
|
|
1956
|
+
/**
|
|
1957
|
+
* Require quotes around object literal, type literal, interfaces and enums property names.
|
|
1958
|
+
* @config recommended
|
|
1959
|
+
* @fixable
|
|
1960
|
+
* @see {@link https://eslint.style/rules/quote-props}
|
|
1961
|
+
*/
|
|
1962
|
+
/**
|
|
1963
|
+
* Enforce the consistent use of either backticks, double, or single quotes.
|
|
1964
|
+
* @config recommended
|
|
1965
|
+
* @fixable
|
|
1966
|
+
* @see {@link https://eslint.style/rules/quotes}
|
|
1967
|
+
*/
|
|
1968
|
+
"@stylistic/quotes": [
|
|
359
1969
|
"error",
|
|
360
1970
|
"single",
|
|
361
1971
|
{
|
|
@@ -376,10 +1986,46 @@ const typescriptConfig = defineConfig([{
|
|
|
376
1986
|
extends: [tseslint.configs.strictTypeChecked, tseslint.configs.stylisticTypeChecked],
|
|
377
1987
|
languageOptions: { parserOptions: { projectService: true } },
|
|
378
1988
|
rules: {
|
|
1989
|
+
/**
|
|
1990
|
+
* Enforce that class methods utilize this.
|
|
1991
|
+
* @extension
|
|
1992
|
+
* @see {@link https://typescript-eslint.io/rules/class-methods-use-this}
|
|
1993
|
+
*/
|
|
1994
|
+
/**
|
|
1995
|
+
* Require return statements to either always or never specify values.
|
|
1996
|
+
* @typeChecked
|
|
1997
|
+
* @extension
|
|
1998
|
+
* @see {@link https://typescript-eslint.io/rules/consistent-return}
|
|
1999
|
+
*/
|
|
2000
|
+
/**
|
|
2001
|
+
* Enforce consistent usage of type exports.
|
|
2002
|
+
* @fixable
|
|
2003
|
+
* @typeChecked
|
|
2004
|
+
* @see {@link https://typescript-eslint.io/rules/consistent-type-exports}
|
|
2005
|
+
*/
|
|
379
2006
|
"@typescript-eslint/consistent-type-exports": "error",
|
|
2007
|
+
/**
|
|
2008
|
+
* Enforce consistent usage of type imports.
|
|
2009
|
+
* @fixable
|
|
2010
|
+
* @see {@link https://typescript-eslint.io/rules/consistent-type-imports}
|
|
2011
|
+
*/
|
|
380
2012
|
"@typescript-eslint/consistent-type-imports": "error",
|
|
2013
|
+
/**
|
|
2014
|
+
* Enforce default parameters to be last.
|
|
2015
|
+
* @extension
|
|
2016
|
+
* @see {@link https://typescript-eslint.io/rules/default-param-last}
|
|
2017
|
+
*/
|
|
381
2018
|
"default-param-last": "off",
|
|
382
2019
|
"@typescript-eslint/default-param-last": "error",
|
|
2020
|
+
/**
|
|
2021
|
+
* Require explicit return types on functions and class methods.
|
|
2022
|
+
* @see {@link https://typescript-eslint.io/rules/explicit-function-return-type}
|
|
2023
|
+
*/
|
|
2024
|
+
/**
|
|
2025
|
+
* Require explicit accessibility modifiers on class properties and methods.
|
|
2026
|
+
* @fixable
|
|
2027
|
+
* @see {@link https://typescript-eslint.io/rules/explicit-member-accessibility}
|
|
2028
|
+
*/
|
|
383
2029
|
"@typescript-eslint/explicit-member-accessibility": ["error", {
|
|
384
2030
|
accessibility: "explicit",
|
|
385
2031
|
overrides: {
|
|
@@ -390,6 +2036,24 @@ const typescriptConfig = defineConfig([{
|
|
|
390
2036
|
parameterProperties: "no-public"
|
|
391
2037
|
}
|
|
392
2038
|
}],
|
|
2039
|
+
/**
|
|
2040
|
+
* Require explicit return and argument types on exported functions' and classes' public class methods.
|
|
2041
|
+
* @see {@link https://typescript-eslint.io/rules/explicit-module-boundary-types}
|
|
2042
|
+
*/
|
|
2043
|
+
/**
|
|
2044
|
+
* Require or disallow initialization in variable declarations.
|
|
2045
|
+
* @extension
|
|
2046
|
+
* @see {@link https://typescript-eslint.io/rules/init-declarations}
|
|
2047
|
+
*/
|
|
2048
|
+
/**
|
|
2049
|
+
* Enforce a maximum number of parameters in function definitions.
|
|
2050
|
+
* @extension
|
|
2051
|
+
* @see {@link https://typescript-eslint.io/rules/max-params}
|
|
2052
|
+
*/
|
|
2053
|
+
/**
|
|
2054
|
+
* Require a consistent member declaration order.
|
|
2055
|
+
* @see {@link https://typescript-eslint.io/rules/member-ordering}
|
|
2056
|
+
*/
|
|
393
2057
|
"@typescript-eslint/member-ordering": ["error", { default: [
|
|
394
2058
|
"signature",
|
|
395
2059
|
"call-signature",
|
|
@@ -470,7 +2134,17 @@ const typescriptConfig = defineConfig([{
|
|
|
470
2134
|
"abstract-method",
|
|
471
2135
|
"method"
|
|
472
2136
|
] }],
|
|
2137
|
+
/**
|
|
2138
|
+
* Enforce using a particular method signature syntax.
|
|
2139
|
+
* @fixable
|
|
2140
|
+
* @see {@link https://typescript-eslint.io/rules/method-signature-style}
|
|
2141
|
+
*/
|
|
473
2142
|
"@typescript-eslint/method-signature-style": "error",
|
|
2143
|
+
/**
|
|
2144
|
+
* Enforce naming conventions for everything across a codebase.
|
|
2145
|
+
* @typeChecked
|
|
2146
|
+
* @see {@link https://typescript-eslint.io/rules/naming-convention}
|
|
2147
|
+
*/
|
|
474
2148
|
"@typescript-eslint/naming-convention": [
|
|
475
2149
|
"error",
|
|
476
2150
|
{
|
|
@@ -498,34 +2172,554 @@ const typescriptConfig = defineConfig([{
|
|
|
498
2172
|
format: ["PascalCase"]
|
|
499
2173
|
}
|
|
500
2174
|
],
|
|
2175
|
+
/**
|
|
2176
|
+
* Disallow duplicate class members.
|
|
2177
|
+
* @extension
|
|
2178
|
+
* @see {@link https://typescript-eslint.io/rules/no-dupe-class-members}
|
|
2179
|
+
*/
|
|
2180
|
+
/**
|
|
2181
|
+
* Disallow the declaration of empty interfaces.
|
|
2182
|
+
* @fixable
|
|
2183
|
+
* @deprecated
|
|
2184
|
+
* @see {@link https://typescript-eslint.io/rules/no-empty-interface}
|
|
2185
|
+
*/
|
|
2186
|
+
/**
|
|
2187
|
+
* Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers.
|
|
2188
|
+
* @fixable
|
|
2189
|
+
* @see {@link https://typescript-eslint.io/rules/no-import-type-side-effects}
|
|
2190
|
+
*/
|
|
501
2191
|
"@typescript-eslint/no-import-type-side-effects": "error",
|
|
2192
|
+
/**
|
|
2193
|
+
* Disallow.
|
|
2194
|
+
* @extension
|
|
2195
|
+
* @see {@link https://typescript-eslint.io/rules/no-invalid-this}
|
|
2196
|
+
*/
|
|
502
2197
|
"no-invalid-this": "off",
|
|
503
2198
|
"@typescript-eslint/no-invalid-this": "error",
|
|
2199
|
+
/**
|
|
2200
|
+
* Disallow function declarations that contain unsafe references inside loop statements.
|
|
2201
|
+
* @extension
|
|
2202
|
+
* @see {@link https://typescript-eslint.io/rules/no-loop-func}
|
|
2203
|
+
*/
|
|
504
2204
|
"no-loop-func": "off",
|
|
505
2205
|
"@typescript-eslint/no-loop-func": "error",
|
|
2206
|
+
/**
|
|
2207
|
+
* Disallow literal numbers that lose precision.
|
|
2208
|
+
* @extension
|
|
2209
|
+
* @deprecated
|
|
2210
|
+
* @see {@link https://typescript-eslint.io/rules/no-loss-of-precision}
|
|
2211
|
+
*/
|
|
2212
|
+
/**
|
|
2213
|
+
* Disallow magic numbers.
|
|
2214
|
+
* @extension
|
|
2215
|
+
* @see {@link https://typescript-eslint.io/rules/no-magic-numbers}
|
|
2216
|
+
*/
|
|
2217
|
+
/**
|
|
2218
|
+
* Disallow variable redeclaration.
|
|
2219
|
+
* @extension
|
|
2220
|
+
* @see {@link https://typescript-eslint.io/rules/no-redeclare}
|
|
2221
|
+
*/
|
|
2222
|
+
/**
|
|
2223
|
+
* Disallow specified modules when loaded by.
|
|
2224
|
+
* @extension
|
|
2225
|
+
* @see {@link https://typescript-eslint.io/rules/no-restricted-imports}
|
|
2226
|
+
*/
|
|
2227
|
+
/**
|
|
2228
|
+
* Disallow certain types.
|
|
2229
|
+
* @fixable
|
|
2230
|
+
* @see {@link https://typescript-eslint.io/rules/no-restricted-types}
|
|
2231
|
+
*/
|
|
2232
|
+
/**
|
|
2233
|
+
* Disallow variable declarations from shadowing variables declared in the outer scope.
|
|
2234
|
+
* @extension
|
|
2235
|
+
* @see {@link https://typescript-eslint.io/rules/no-shadow}
|
|
2236
|
+
*/
|
|
506
2237
|
"no-shadow": "off",
|
|
507
2238
|
"@typescript-eslint/no-shadow": "error",
|
|
2239
|
+
/**
|
|
2240
|
+
* Disallow type aliases.
|
|
2241
|
+
* @deprecated
|
|
2242
|
+
* @see {@link https://typescript-eslint.io/rules/no-type-alias}
|
|
2243
|
+
*/
|
|
2244
|
+
/**
|
|
2245
|
+
* Disallow unnecessary assignment of constructor property parameter.
|
|
2246
|
+
* @see {@link https://typescript-eslint.io/rules/no-unnecessary-parameter-property-assignment}
|
|
2247
|
+
*/
|
|
508
2248
|
"@typescript-eslint/no-unnecessary-parameter-property-assignment": "error",
|
|
2249
|
+
/**
|
|
2250
|
+
* Disallow unnecessary namespace qualifiers.
|
|
2251
|
+
* @fixable
|
|
2252
|
+
* @typeChecked
|
|
2253
|
+
* @see {@link https://typescript-eslint.io/rules/no-unnecessary-qualifier}
|
|
2254
|
+
*/
|
|
509
2255
|
"@typescript-eslint/no-unnecessary-qualifier": "error",
|
|
2256
|
+
/**
|
|
2257
|
+
* Disallow type assertions that narrow a type.
|
|
2258
|
+
* @typeChecked
|
|
2259
|
+
* @see {@link https://typescript-eslint.io/rules/no-unsafe-type-assertion}
|
|
2260
|
+
*/
|
|
2261
|
+
/**
|
|
2262
|
+
* Disallow unused private class members.
|
|
2263
|
+
* @extension
|
|
2264
|
+
* @see {@link https://typescript-eslint.io/rules/no-unused-private-class-members}
|
|
2265
|
+
*/
|
|
2266
|
+
/**
|
|
2267
|
+
* Disallow the use of variables before they are defined.
|
|
2268
|
+
* @extension
|
|
2269
|
+
* @see {@link https://typescript-eslint.io/rules/no-use-before-define}
|
|
2270
|
+
*/
|
|
510
2271
|
"no-use-before-define": "off",
|
|
511
2272
|
"@typescript-eslint/no-use-before-define": "error",
|
|
2273
|
+
/**
|
|
2274
|
+
* Disallow empty exports that don't change anything in a module file.
|
|
2275
|
+
* @fixable
|
|
2276
|
+
* @see {@link https://typescript-eslint.io/rules/no-useless-empty-export}
|
|
2277
|
+
*/
|
|
512
2278
|
"@typescript-eslint/no-useless-empty-export": "error",
|
|
2279
|
+
/**
|
|
2280
|
+
* Disallow.
|
|
2281
|
+
* @deprecated
|
|
2282
|
+
* @see {@link https://typescript-eslint.io/rules/no-var-requires}
|
|
2283
|
+
*/
|
|
2284
|
+
/**
|
|
2285
|
+
* Require or disallow parameter properties in class constructors.
|
|
2286
|
+
* @see {@link https://typescript-eslint.io/rules/parameter-properties}
|
|
2287
|
+
*/
|
|
513
2288
|
"@typescript-eslint/parameter-properties": "error",
|
|
2289
|
+
/**
|
|
2290
|
+
* Require destructuring from arrays and/or objects.
|
|
2291
|
+
* @fixable
|
|
2292
|
+
* @typeChecked
|
|
2293
|
+
* @extension
|
|
2294
|
+
* @see {@link https://typescript-eslint.io/rules/prefer-destructuring}
|
|
2295
|
+
*/
|
|
514
2296
|
"prefer-destructuring": "off",
|
|
515
2297
|
"@typescript-eslint/prefer-destructuring": "error",
|
|
2298
|
+
/**
|
|
2299
|
+
* Require each enum member value to be explicitly initialized.
|
|
2300
|
+
* @see {@link https://typescript-eslint.io/rules/prefer-enum-initializers}
|
|
2301
|
+
*/
|
|
516
2302
|
"@typescript-eslint/prefer-enum-initializers": "error",
|
|
2303
|
+
/**
|
|
2304
|
+
* Require private members to be marked as readonly if they're never modified outside of the constructor.
|
|
2305
|
+
* @fixable
|
|
2306
|
+
* @typeChecked
|
|
2307
|
+
* @see {@link https://typescript-eslint.io/rules/prefer-readonly}
|
|
2308
|
+
*/
|
|
517
2309
|
"@typescript-eslint/prefer-readonly": "error",
|
|
2310
|
+
/**
|
|
2311
|
+
* Require function parameters to be typed as readonly to prevent accidental mutation of inputs.
|
|
2312
|
+
* @typeChecked
|
|
2313
|
+
* @see {@link https://typescript-eslint.io/rules/prefer-readonly-parameter-types}
|
|
2314
|
+
*/
|
|
2315
|
+
/**
|
|
2316
|
+
* Enforce using.
|
|
2317
|
+
* @fixable
|
|
2318
|
+
* @deprecated
|
|
2319
|
+
* @see {@link https://typescript-eslint.io/rules/prefer-ts-expect-error}
|
|
2320
|
+
*/
|
|
2321
|
+
/**
|
|
2322
|
+
* Require any function or method that returns a Promise to be marked async.
|
|
2323
|
+
* @fixable
|
|
2324
|
+
* @typeChecked
|
|
2325
|
+
* @see {@link https://typescript-eslint.io/rules/promise-function-async}
|
|
2326
|
+
*/
|
|
518
2327
|
"@typescript-eslint/promise-function-async": "error",
|
|
2328
|
+
/**
|
|
2329
|
+
* Require Array#sort and Array#toSorted calls to always provide a compareFunction.
|
|
2330
|
+
* @typeChecked
|
|
2331
|
+
* @see {@link https://typescript-eslint.io/rules/require-array-sort-compare}
|
|
2332
|
+
*/
|
|
519
2333
|
"@typescript-eslint/require-array-sort-compare": "error",
|
|
2334
|
+
/**
|
|
2335
|
+
* Enforce constituents of a type union/intersection to be sorted alphabetically.
|
|
2336
|
+
* @fixable
|
|
2337
|
+
* @deprecated
|
|
2338
|
+
* @see {@link https://typescript-eslint.io/rules/sort-type-constituents}
|
|
2339
|
+
*/
|
|
2340
|
+
/**
|
|
2341
|
+
* Disallow certain types in boolean expressions.
|
|
2342
|
+
* @typeChecked
|
|
2343
|
+
* @see {@link https://typescript-eslint.io/rules/strict-boolean-expressions}
|
|
2344
|
+
*/
|
|
2345
|
+
/**
|
|
2346
|
+
* Require switch-case statements to be exhaustive.
|
|
2347
|
+
* @typeChecked
|
|
2348
|
+
* @see {@link https://typescript-eslint.io/rules/switch-exhaustiveness-check}
|
|
2349
|
+
*/
|
|
2350
|
+
/**
|
|
2351
|
+
* Require type annotations in certain places.
|
|
2352
|
+
* @deprecated
|
|
2353
|
+
* @see {@link https://typescript-eslint.io/rules/typedef}
|
|
2354
|
+
*/
|
|
2355
|
+
/**
|
|
2356
|
+
* Require that function overload signatures be consecutive.
|
|
2357
|
+
* @config stylistic
|
|
2358
|
+
* @see {@link https://typescript-eslint.io/rules/adjacent-overload-signatures}
|
|
2359
|
+
*/
|
|
2360
|
+
/**
|
|
2361
|
+
* Require consistently using either.
|
|
2362
|
+
* @config stylistic
|
|
2363
|
+
* @fixable
|
|
2364
|
+
* @see {@link https://typescript-eslint.io/rules/array-type}
|
|
2365
|
+
*/
|
|
2366
|
+
/**
|
|
2367
|
+
* Disallow awaiting a value that is not a Thenable.
|
|
2368
|
+
* @config recommended
|
|
2369
|
+
* @typeChecked
|
|
2370
|
+
* @see {@link https://typescript-eslint.io/rules/await-thenable}
|
|
2371
|
+
*/
|
|
2372
|
+
/**
|
|
2373
|
+
* Disallow.
|
|
2374
|
+
* @config recommended
|
|
2375
|
+
* @see {@link https://typescript-eslint.io/rules/ban-ts-comment}
|
|
2376
|
+
*/
|
|
2377
|
+
/**
|
|
2378
|
+
* Disallow.
|
|
2379
|
+
* @config stylistic
|
|
2380
|
+
* @fixable
|
|
2381
|
+
* @see {@link https://typescript-eslint.io/rules/ban-tslint-comment}
|
|
2382
|
+
*/
|
|
2383
|
+
/**
|
|
2384
|
+
* Enforce that literals on classes are exposed in a consistent style.
|
|
2385
|
+
* @config stylistic
|
|
2386
|
+
* @see {@link https://typescript-eslint.io/rules/class-literal-property-style}
|
|
2387
|
+
*/
|
|
2388
|
+
/**
|
|
2389
|
+
* Enforce specifying generic type arguments on type annotation or constructor name of a constructor call.
|
|
2390
|
+
* @config stylistic
|
|
2391
|
+
* @fixable
|
|
2392
|
+
* @see {@link https://typescript-eslint.io/rules/consistent-generic-constructors}
|
|
2393
|
+
*/
|
|
2394
|
+
/**
|
|
2395
|
+
* Require or disallow the.
|
|
2396
|
+
* @config stylistic
|
|
2397
|
+
* @fixable
|
|
2398
|
+
* @see {@link https://typescript-eslint.io/rules/consistent-indexed-object-style}
|
|
2399
|
+
*/
|
|
2400
|
+
/**
|
|
2401
|
+
* Enforce consistent usage of type assertions.
|
|
2402
|
+
* @config stylistic
|
|
2403
|
+
* @fixable
|
|
2404
|
+
* @see {@link https://typescript-eslint.io/rules/consistent-type-assertions}
|
|
2405
|
+
*/
|
|
2406
|
+
/**
|
|
2407
|
+
* Enforce type definitions to consistently use either.
|
|
2408
|
+
* @config stylistic
|
|
2409
|
+
* @fixable
|
|
2410
|
+
* @see {@link https://typescript-eslint.io/rules/consistent-type-definitions}
|
|
2411
|
+
*/
|
|
520
2412
|
"@typescript-eslint/consistent-type-definitions": ["error", "type"],
|
|
2413
|
+
/**
|
|
2414
|
+
* Enforce dot notation whenever possible.
|
|
2415
|
+
* @config stylistic
|
|
2416
|
+
* @fixable
|
|
2417
|
+
* @typeChecked
|
|
2418
|
+
* @extension
|
|
2419
|
+
* @see {@link https://typescript-eslint.io/rules/dot-notation}
|
|
2420
|
+
*/
|
|
2421
|
+
/**
|
|
2422
|
+
* Disallow generic.
|
|
2423
|
+
* @config recommended
|
|
2424
|
+
* @fixable
|
|
2425
|
+
* @extension
|
|
2426
|
+
* @see {@link https://typescript-eslint.io/rules/no-array-constructor}
|
|
2427
|
+
*/
|
|
2428
|
+
/**
|
|
2429
|
+
* Disallow using the.
|
|
2430
|
+
* @config recommended
|
|
2431
|
+
* @typeChecked
|
|
2432
|
+
* @see {@link https://typescript-eslint.io/rules/no-array-delete}
|
|
2433
|
+
*/
|
|
2434
|
+
/**
|
|
2435
|
+
* Require.
|
|
2436
|
+
* @config recommended
|
|
2437
|
+
* @typeChecked
|
|
2438
|
+
* @see {@link https://typescript-eslint.io/rules/no-base-to-string}
|
|
2439
|
+
*/
|
|
2440
|
+
/**
|
|
2441
|
+
* Disallow non-null assertion in locations that may be confusing.
|
|
2442
|
+
* @config stylistic
|
|
2443
|
+
* @see {@link https://typescript-eslint.io/rules/no-confusing-non-null-assertion}
|
|
2444
|
+
*/
|
|
2445
|
+
/**
|
|
2446
|
+
* Require expressions of type void to appear in statement position.
|
|
2447
|
+
* @config strict
|
|
2448
|
+
* @fixable
|
|
2449
|
+
* @typeChecked
|
|
2450
|
+
* @see {@link https://typescript-eslint.io/rules/no-confusing-void-expression}
|
|
2451
|
+
*/
|
|
521
2452
|
"@typescript-eslint/no-confusing-void-expression": ["error", {
|
|
522
2453
|
ignoreVoidOperator: true,
|
|
523
2454
|
ignoreVoidReturningFunctions: true
|
|
524
2455
|
}],
|
|
2456
|
+
/**
|
|
2457
|
+
* Disallow using code marked as.
|
|
2458
|
+
* @config strict
|
|
2459
|
+
* @typeChecked
|
|
2460
|
+
* @see {@link https://typescript-eslint.io/rules/no-deprecated}
|
|
2461
|
+
*/
|
|
2462
|
+
/**
|
|
2463
|
+
* Disallow duplicate enum member values.
|
|
2464
|
+
* @config recommended
|
|
2465
|
+
* @see {@link https://typescript-eslint.io/rules/no-duplicate-enum-values}
|
|
2466
|
+
*/
|
|
2467
|
+
/**
|
|
2468
|
+
* Disallow duplicate constituents of union or intersection types.
|
|
2469
|
+
* @config recommended
|
|
2470
|
+
* @fixable
|
|
2471
|
+
* @typeChecked
|
|
2472
|
+
* @see {@link https://typescript-eslint.io/rules/no-duplicate-type-constituents}
|
|
2473
|
+
*/
|
|
2474
|
+
/**
|
|
2475
|
+
* Disallow using the.
|
|
2476
|
+
* @config strict
|
|
2477
|
+
* @fixable
|
|
2478
|
+
* @see {@link https://typescript-eslint.io/rules/no-dynamic-delete}
|
|
2479
|
+
*/
|
|
2480
|
+
/**
|
|
2481
|
+
* Disallow empty functions.
|
|
2482
|
+
* @config stylistic
|
|
2483
|
+
* @extension
|
|
2484
|
+
* @see {@link https://typescript-eslint.io/rules/no-empty-function}
|
|
2485
|
+
*/
|
|
2486
|
+
/**
|
|
2487
|
+
* Disallow accidentally using the "empty object" type.
|
|
2488
|
+
* @config recommended
|
|
2489
|
+
* @see {@link https://typescript-eslint.io/rules/no-empty-object-type}
|
|
2490
|
+
*/
|
|
2491
|
+
/**
|
|
2492
|
+
* Disallow the.
|
|
2493
|
+
* @config recommended
|
|
2494
|
+
* @fixable
|
|
2495
|
+
* @see {@link https://typescript-eslint.io/rules/no-explicit-any}
|
|
2496
|
+
*/
|
|
525
2497
|
"@typescript-eslint/no-explicit-any": ["error", { ignoreRestArgs: true }],
|
|
2498
|
+
/**
|
|
2499
|
+
* Disallow extra non-null assertions.
|
|
2500
|
+
* @config recommended
|
|
2501
|
+
* @fixable
|
|
2502
|
+
* @see {@link https://typescript-eslint.io/rules/no-extra-non-null-assertion}
|
|
2503
|
+
*/
|
|
2504
|
+
/**
|
|
2505
|
+
* Disallow classes used as namespaces.
|
|
2506
|
+
* @config strict
|
|
2507
|
+
* @see {@link https://typescript-eslint.io/rules/no-extraneous-class}
|
|
2508
|
+
*/
|
|
526
2509
|
"@typescript-eslint/no-extraneous-class": "off",
|
|
2510
|
+
/**
|
|
2511
|
+
* Require Promise-like statements to be handled appropriately.
|
|
2512
|
+
* @config recommended
|
|
2513
|
+
* @typeChecked
|
|
2514
|
+
* @see {@link https://typescript-eslint.io/rules/no-floating-promises}
|
|
2515
|
+
*/
|
|
2516
|
+
/**
|
|
2517
|
+
* Disallow iterating over an array with a for-in loop.
|
|
2518
|
+
* @config recommended
|
|
2519
|
+
* @typeChecked
|
|
2520
|
+
* @see {@link https://typescript-eslint.io/rules/no-for-in-array}
|
|
2521
|
+
*/
|
|
2522
|
+
/**
|
|
2523
|
+
* Disallow the use of.
|
|
2524
|
+
* @config recommended
|
|
2525
|
+
* @typeChecked
|
|
2526
|
+
* @extension
|
|
2527
|
+
* @see {@link https://typescript-eslint.io/rules/no-implied-eval}
|
|
2528
|
+
*/
|
|
2529
|
+
/**
|
|
2530
|
+
* Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean.
|
|
2531
|
+
* @config stylistic
|
|
2532
|
+
* @fixable
|
|
2533
|
+
* @see {@link https://typescript-eslint.io/rules/no-inferrable-types}
|
|
2534
|
+
*/
|
|
2535
|
+
/**
|
|
2536
|
+
* Disallow void type outside of generic or return types.
|
|
2537
|
+
* @config strict
|
|
2538
|
+
* @see {@link https://typescript-eslint.io/rules/no-invalid-void-type}
|
|
2539
|
+
*/
|
|
2540
|
+
/**
|
|
2541
|
+
* Disallow the void operator except when used to discard a value.
|
|
2542
|
+
* @config strict
|
|
2543
|
+
* @fixable
|
|
2544
|
+
* @typeChecked
|
|
2545
|
+
* @see {@link https://typescript-eslint.io/rules/no-meaningless-void-operator}
|
|
2546
|
+
*/
|
|
527
2547
|
"@typescript-eslint/no-meaningless-void-operator": "off",
|
|
2548
|
+
/**
|
|
2549
|
+
* Enforce valid definition of.
|
|
2550
|
+
* @config recommended
|
|
2551
|
+
* @see {@link https://typescript-eslint.io/rules/no-misused-new}
|
|
2552
|
+
*/
|
|
2553
|
+
/**
|
|
2554
|
+
* Disallow Promises in places not designed to handle them.
|
|
2555
|
+
* @config recommended
|
|
2556
|
+
* @typeChecked
|
|
2557
|
+
* @see {@link https://typescript-eslint.io/rules/no-misused-promises}
|
|
2558
|
+
*/
|
|
2559
|
+
/**
|
|
2560
|
+
* Disallow using the spread operator when it might cause unexpected behavior.
|
|
2561
|
+
* @config strict
|
|
2562
|
+
* @typeChecked
|
|
2563
|
+
* @see {@link https://typescript-eslint.io/rules/no-misused-spread}
|
|
2564
|
+
*/
|
|
2565
|
+
/**
|
|
2566
|
+
* Disallow enums from having both number and string members.
|
|
2567
|
+
* @config strict
|
|
2568
|
+
* @typeChecked
|
|
2569
|
+
* @see {@link https://typescript-eslint.io/rules/no-mixed-enums}
|
|
2570
|
+
*/
|
|
2571
|
+
/**
|
|
2572
|
+
* Disallow TypeScript namespaces.
|
|
2573
|
+
* @config recommended
|
|
2574
|
+
* @see {@link https://typescript-eslint.io/rules/no-namespace}
|
|
2575
|
+
*/
|
|
2576
|
+
/**
|
|
2577
|
+
* Disallow non-null assertions in the left operand of a nullish coalescing operator.
|
|
2578
|
+
* @config strict
|
|
2579
|
+
* @see {@link https://typescript-eslint.io/rules/no-non-null-asserted-nullish-coalescing}
|
|
2580
|
+
*/
|
|
2581
|
+
/**
|
|
2582
|
+
* Disallow non-null assertions after an optional chain expression.
|
|
2583
|
+
* @config recommended
|
|
2584
|
+
* @see {@link https://typescript-eslint.io/rules/no-non-null-asserted-optional-chain}
|
|
2585
|
+
*/
|
|
2586
|
+
/**
|
|
2587
|
+
* Disallow non-null assertions using the.
|
|
2588
|
+
* @config strict
|
|
2589
|
+
* @see {@link https://typescript-eslint.io/rules/no-non-null-assertion}
|
|
2590
|
+
*/
|
|
528
2591
|
"@typescript-eslint/no-non-null-assertion": "off",
|
|
2592
|
+
/**
|
|
2593
|
+
* Disallow members of unions and intersections that do nothing or override type information.
|
|
2594
|
+
* @config recommended
|
|
2595
|
+
* @typeChecked
|
|
2596
|
+
* @see {@link https://typescript-eslint.io/rules/no-redundant-type-constituents}
|
|
2597
|
+
*/
|
|
2598
|
+
/**
|
|
2599
|
+
* Disallow invocation of.
|
|
2600
|
+
* @config recommended
|
|
2601
|
+
* @see {@link https://typescript-eslint.io/rules/no-require-imports}
|
|
2602
|
+
*/
|
|
2603
|
+
/**
|
|
2604
|
+
* Disallow aliasing.
|
|
2605
|
+
* @config recommended
|
|
2606
|
+
* @see {@link https://typescript-eslint.io/rules/no-this-alias}
|
|
2607
|
+
*/
|
|
2608
|
+
/**
|
|
2609
|
+
* Disallow unnecessary equality comparisons against boolean literals.
|
|
2610
|
+
* @config strict
|
|
2611
|
+
* @fixable
|
|
2612
|
+
* @typeChecked
|
|
2613
|
+
* @see {@link https://typescript-eslint.io/rules/no-unnecessary-boolean-literal-compare}
|
|
2614
|
+
*/
|
|
2615
|
+
/**
|
|
2616
|
+
* Disallow conditionals where the type is always truthy or always falsy.
|
|
2617
|
+
* @config strict
|
|
2618
|
+
* @typeChecked
|
|
2619
|
+
* @see {@link https://typescript-eslint.io/rules/no-unnecessary-condition}
|
|
2620
|
+
*/
|
|
2621
|
+
/**
|
|
2622
|
+
* Disallow unnecessary template expressions.
|
|
2623
|
+
* @config strict
|
|
2624
|
+
* @fixable
|
|
2625
|
+
* @typeChecked
|
|
2626
|
+
* @see {@link https://typescript-eslint.io/rules/no-unnecessary-template-expression}
|
|
2627
|
+
*/
|
|
2628
|
+
/**
|
|
2629
|
+
* Disallow type arguments that are equal to the default.
|
|
2630
|
+
* @config strict
|
|
2631
|
+
* @fixable
|
|
2632
|
+
* @typeChecked
|
|
2633
|
+
* @see {@link https://typescript-eslint.io/rules/no-unnecessary-type-arguments}
|
|
2634
|
+
*/
|
|
2635
|
+
/**
|
|
2636
|
+
* Disallow type assertions that do not change the type of an expression.
|
|
2637
|
+
* @config recommended
|
|
2638
|
+
* @fixable
|
|
2639
|
+
* @typeChecked
|
|
2640
|
+
* @see {@link https://typescript-eslint.io/rules/no-unnecessary-type-assertion}
|
|
2641
|
+
*/
|
|
2642
|
+
/**
|
|
2643
|
+
* Disallow unnecessary constraints on generic types.
|
|
2644
|
+
* @config recommended
|
|
2645
|
+
* @see {@link https://typescript-eslint.io/rules/no-unnecessary-type-constraint}
|
|
2646
|
+
*/
|
|
2647
|
+
/**
|
|
2648
|
+
* Disallow conversion idioms when they do not change the type or value of the expression.
|
|
2649
|
+
* @config strict
|
|
2650
|
+
* @typeChecked
|
|
2651
|
+
* @see {@link https://typescript-eslint.io/rules/no-unnecessary-type-conversion}
|
|
2652
|
+
*/
|
|
2653
|
+
/**
|
|
2654
|
+
* Disallow type parameters that aren't used multiple times.
|
|
2655
|
+
* @config strict
|
|
2656
|
+
* @typeChecked
|
|
2657
|
+
* @see {@link https://typescript-eslint.io/rules/no-unnecessary-type-parameters}
|
|
2658
|
+
*/
|
|
2659
|
+
/**
|
|
2660
|
+
* Disallow calling a function with a value with type.
|
|
2661
|
+
* @config recommended
|
|
2662
|
+
* @typeChecked
|
|
2663
|
+
* @see {@link https://typescript-eslint.io/rules/no-unsafe-argument}
|
|
2664
|
+
*/
|
|
2665
|
+
/**
|
|
2666
|
+
* Disallow assigning a value with type.
|
|
2667
|
+
* @config recommended
|
|
2668
|
+
* @typeChecked
|
|
2669
|
+
* @see {@link https://typescript-eslint.io/rules/no-unsafe-assignment}
|
|
2670
|
+
*/
|
|
2671
|
+
/**
|
|
2672
|
+
* Disallow calling a value with type.
|
|
2673
|
+
* @config recommended
|
|
2674
|
+
* @typeChecked
|
|
2675
|
+
* @see {@link https://typescript-eslint.io/rules/no-unsafe-call}
|
|
2676
|
+
*/
|
|
2677
|
+
/**
|
|
2678
|
+
* Disallow unsafe declaration merging.
|
|
2679
|
+
* @config recommended
|
|
2680
|
+
* @see {@link https://typescript-eslint.io/rules/no-unsafe-declaration-merging}
|
|
2681
|
+
*/
|
|
2682
|
+
/**
|
|
2683
|
+
* Disallow comparing an enum value with a non-enum value.
|
|
2684
|
+
* @config recommended
|
|
2685
|
+
* @typeChecked
|
|
2686
|
+
* @see {@link https://typescript-eslint.io/rules/no-unsafe-enum-comparison}
|
|
2687
|
+
*/
|
|
2688
|
+
/**
|
|
2689
|
+
* Disallow using the unsafe built-in Function type.
|
|
2690
|
+
* @config recommended
|
|
2691
|
+
* @see {@link https://typescript-eslint.io/rules/no-unsafe-function-type}
|
|
2692
|
+
*/
|
|
2693
|
+
/**
|
|
2694
|
+
* Disallow member access on a value with type.
|
|
2695
|
+
* @config recommended
|
|
2696
|
+
* @typeChecked
|
|
2697
|
+
* @see {@link https://typescript-eslint.io/rules/no-unsafe-member-access}
|
|
2698
|
+
*/
|
|
2699
|
+
/**
|
|
2700
|
+
* Disallow returning a value with type.
|
|
2701
|
+
* @config recommended
|
|
2702
|
+
* @typeChecked
|
|
2703
|
+
* @see {@link https://typescript-eslint.io/rules/no-unsafe-return}
|
|
2704
|
+
*/
|
|
2705
|
+
/**
|
|
2706
|
+
* Require unary negation to take a number.
|
|
2707
|
+
* @config recommended
|
|
2708
|
+
* @typeChecked
|
|
2709
|
+
* @see {@link https://typescript-eslint.io/rules/no-unsafe-unary-minus}
|
|
2710
|
+
*/
|
|
2711
|
+
/**
|
|
2712
|
+
* Disallow unused expressions.
|
|
2713
|
+
* @config recommended
|
|
2714
|
+
* @extension
|
|
2715
|
+
* @see {@link https://typescript-eslint.io/rules/no-unused-expressions}
|
|
2716
|
+
*/
|
|
2717
|
+
/**
|
|
2718
|
+
* Disallow unused variables.
|
|
2719
|
+
* @config recommended
|
|
2720
|
+
* @extension
|
|
2721
|
+
* @see {@link https://typescript-eslint.io/rules/no-unused-vars}
|
|
2722
|
+
*/
|
|
529
2723
|
"@typescript-eslint/no-unused-vars": ["error", {
|
|
530
2724
|
args: "all",
|
|
531
2725
|
argsIgnorePattern: "^_",
|
|
@@ -535,7 +2729,165 @@ const typescriptConfig = defineConfig([{
|
|
|
535
2729
|
varsIgnorePattern: "^_",
|
|
536
2730
|
ignoreRestSiblings: true
|
|
537
2731
|
}],
|
|
2732
|
+
/**
|
|
2733
|
+
* Disallow unnecessary constructors.
|
|
2734
|
+
* @config strict
|
|
2735
|
+
* @extension
|
|
2736
|
+
* @see {@link https://typescript-eslint.io/rules/no-useless-constructor}
|
|
2737
|
+
*/
|
|
2738
|
+
/**
|
|
2739
|
+
* Disallow using confusing built-in primitive class wrappers.
|
|
2740
|
+
* @config recommended
|
|
2741
|
+
* @fixable
|
|
2742
|
+
* @see {@link https://typescript-eslint.io/rules/no-wrapper-object-types}
|
|
2743
|
+
*/
|
|
2744
|
+
/**
|
|
2745
|
+
* Enforce non-null assertions over explicit type assertions.
|
|
2746
|
+
* @config stylistic
|
|
2747
|
+
* @fixable
|
|
2748
|
+
* @typeChecked
|
|
2749
|
+
* @see {@link https://typescript-eslint.io/rules/non-nullable-type-assertion-style}
|
|
2750
|
+
*/
|
|
2751
|
+
/**
|
|
2752
|
+
* Disallow throwing non-.
|
|
2753
|
+
* @config recommended
|
|
2754
|
+
* @typeChecked
|
|
2755
|
+
* @extension
|
|
2756
|
+
* @see {@link https://typescript-eslint.io/rules/only-throw-error}
|
|
2757
|
+
*/
|
|
2758
|
+
/**
|
|
2759
|
+
* Enforce the use of.
|
|
2760
|
+
* @config recommended
|
|
2761
|
+
* @fixable
|
|
2762
|
+
* @see {@link https://typescript-eslint.io/rules/prefer-as-const}
|
|
2763
|
+
*/
|
|
2764
|
+
/**
|
|
2765
|
+
* Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result.
|
|
2766
|
+
* @config stylistic
|
|
2767
|
+
* @typeChecked
|
|
2768
|
+
* @see {@link https://typescript-eslint.io/rules/prefer-find}
|
|
2769
|
+
*/
|
|
2770
|
+
/**
|
|
2771
|
+
* Enforce the use of.
|
|
2772
|
+
* @config stylistic
|
|
2773
|
+
* @see {@link https://typescript-eslint.io/rules/prefer-for-of}
|
|
2774
|
+
*/
|
|
2775
|
+
/**
|
|
2776
|
+
* Enforce using function types instead of interfaces with call signatures.
|
|
2777
|
+
* @config stylistic
|
|
2778
|
+
* @fixable
|
|
2779
|
+
* @see {@link https://typescript-eslint.io/rules/prefer-function-type}
|
|
2780
|
+
*/
|
|
2781
|
+
/**
|
|
2782
|
+
* Enforce.
|
|
2783
|
+
* @config stylistic
|
|
2784
|
+
* @fixable
|
|
2785
|
+
* @typeChecked
|
|
2786
|
+
* @see {@link https://typescript-eslint.io/rules/prefer-includes}
|
|
2787
|
+
*/
|
|
2788
|
+
/**
|
|
2789
|
+
* Require all enum members to be literal values.
|
|
2790
|
+
* @config strict
|
|
2791
|
+
* @see {@link https://typescript-eslint.io/rules/prefer-literal-enum-member}
|
|
2792
|
+
*/
|
|
2793
|
+
/**
|
|
2794
|
+
* Require using.
|
|
2795
|
+
* @config recommended
|
|
2796
|
+
* @fixable
|
|
2797
|
+
* @see {@link https://typescript-eslint.io/rules/prefer-namespace-keyword}
|
|
2798
|
+
*/
|
|
2799
|
+
/**
|
|
2800
|
+
* Enforce using the nullish coalescing operator instead of logical assignments or chaining.
|
|
2801
|
+
* @config stylistic
|
|
2802
|
+
* @typeChecked
|
|
2803
|
+
* @see {@link https://typescript-eslint.io/rules/prefer-nullish-coalescing}
|
|
2804
|
+
*/
|
|
2805
|
+
/**
|
|
2806
|
+
* Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects.
|
|
2807
|
+
* @config stylistic
|
|
2808
|
+
* @fixable
|
|
2809
|
+
* @typeChecked
|
|
2810
|
+
* @see {@link https://typescript-eslint.io/rules/prefer-optional-chain}
|
|
2811
|
+
*/
|
|
2812
|
+
/**
|
|
2813
|
+
* Require using Error objects as Promise rejection reasons.
|
|
2814
|
+
* @config recommended
|
|
2815
|
+
* @typeChecked
|
|
2816
|
+
* @extension
|
|
2817
|
+
* @see {@link https://typescript-eslint.io/rules/prefer-promise-reject-errors}
|
|
2818
|
+
*/
|
|
2819
|
+
/**
|
|
2820
|
+
* Enforce using type parameter when calling.
|
|
2821
|
+
* @config strict
|
|
2822
|
+
* @fixable
|
|
2823
|
+
* @typeChecked
|
|
2824
|
+
* @see {@link https://typescript-eslint.io/rules/prefer-reduce-type-parameter}
|
|
2825
|
+
*/
|
|
2826
|
+
/**
|
|
2827
|
+
* Enforce RegExp#exec over String#match if no global flag is provided.
|
|
2828
|
+
* @config stylistic
|
|
2829
|
+
* @fixable
|
|
2830
|
+
* @typeChecked
|
|
2831
|
+
* @see {@link https://typescript-eslint.io/rules/prefer-regexp-exec}
|
|
2832
|
+
*/
|
|
2833
|
+
/**
|
|
2834
|
+
* Enforce that this is used when only this type is returned.
|
|
2835
|
+
* @config strict
|
|
2836
|
+
* @fixable
|
|
2837
|
+
* @typeChecked
|
|
2838
|
+
* @see {@link https://typescript-eslint.io/rules/prefer-return-this-type}
|
|
2839
|
+
*/
|
|
2840
|
+
/**
|
|
2841
|
+
* Enforce using String#startsWith and String#endsWith over other equivalent methods of checking substrings.
|
|
2842
|
+
* @config stylistic
|
|
2843
|
+
* @fixable
|
|
2844
|
+
* @typeChecked
|
|
2845
|
+
* @see {@link https://typescript-eslint.io/rules/prefer-string-starts-ends-with}
|
|
2846
|
+
*/
|
|
2847
|
+
/**
|
|
2848
|
+
* Enforce that get() types should be assignable to their equivalent set() type.
|
|
2849
|
+
* @config strict
|
|
2850
|
+
* @typeChecked
|
|
2851
|
+
* @see {@link https://typescript-eslint.io/rules/related-getter-setter-pairs}
|
|
2852
|
+
*/
|
|
2853
|
+
/**
|
|
2854
|
+
* Disallow async functions which do not return promises and have no await expression.
|
|
2855
|
+
* @config recommended
|
|
2856
|
+
* @typeChecked
|
|
2857
|
+
* @extension
|
|
2858
|
+
* @see {@link https://typescript-eslint.io/rules/require-await}
|
|
2859
|
+
*/
|
|
2860
|
+
/**
|
|
2861
|
+
* Require both operands of addition to be the same type and be bigint, number, or string.
|
|
2862
|
+
* @config recommended
|
|
2863
|
+
* @typeChecked
|
|
2864
|
+
* @see {@link https://typescript-eslint.io/rules/restrict-plus-operands}
|
|
2865
|
+
*/
|
|
2866
|
+
/**
|
|
2867
|
+
* Enforce template literal expressions to be of string type.
|
|
2868
|
+
* @config recommended
|
|
2869
|
+
* @typeChecked
|
|
2870
|
+
* @see {@link https://typescript-eslint.io/rules/restrict-template-expressions}
|
|
2871
|
+
*/
|
|
538
2872
|
"@typescript-eslint/restrict-template-expressions": "off",
|
|
2873
|
+
/**
|
|
2874
|
+
* Enforce consistent awaiting of returned promises.
|
|
2875
|
+
* @config strict
|
|
2876
|
+
* @fixable
|
|
2877
|
+
* @typeChecked
|
|
2878
|
+
* @see {@link https://typescript-eslint.io/rules/return-await}
|
|
2879
|
+
*/
|
|
2880
|
+
/**
|
|
2881
|
+
* Disallow certain triple slash directives in favor of ES6-style import declarations.
|
|
2882
|
+
* @config recommended
|
|
2883
|
+
* @see {@link https://typescript-eslint.io/rules/triple-slash-reference}
|
|
2884
|
+
*/
|
|
2885
|
+
/**
|
|
2886
|
+
* Enforce unbound methods are called with their expected scope.
|
|
2887
|
+
* @config recommended
|
|
2888
|
+
* @typeChecked
|
|
2889
|
+
* @see {@link https://typescript-eslint.io/rules/unbound-method}
|
|
2890
|
+
*/
|
|
539
2891
|
"@typescript-eslint/unbound-method": ["error", { ignoreStatic: true }]
|
|
540
2892
|
}
|
|
541
2893
|
}, {
|
|
@@ -556,7 +2908,697 @@ const unicornConfig = defineConfig({
|
|
|
556
2908
|
name: "unicorn-config",
|
|
557
2909
|
plugins: { unicorn },
|
|
558
2910
|
rules: {
|
|
2911
|
+
/**
|
|
2912
|
+
* Improve regexes by making them shorter, consistent, and safer.
|
|
2913
|
+
* @fixable
|
|
2914
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/better-regex.md}
|
|
2915
|
+
*/
|
|
2916
|
+
/**
|
|
2917
|
+
* Enforce a specific parameter name in catch clauses.
|
|
2918
|
+
* @config recommended
|
|
2919
|
+
* @fixable
|
|
2920
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/catch-error-name.md}
|
|
2921
|
+
*/
|
|
2922
|
+
/**
|
|
2923
|
+
* Enforce consistent assertion style with node:assert.
|
|
2924
|
+
* @config recommended
|
|
2925
|
+
* @fixable
|
|
2926
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-assert.md}
|
|
2927
|
+
*/
|
|
2928
|
+
/**
|
|
2929
|
+
* Prefer passing Date directly to the constructor when cloning.
|
|
2930
|
+
* @config recommended
|
|
2931
|
+
* @config unopinionated
|
|
2932
|
+
* @fixable
|
|
2933
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-date-clone.md}
|
|
2934
|
+
*/
|
|
2935
|
+
/**
|
|
2936
|
+
* Use destructured variables over properties.
|
|
2937
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-destructuring.md}
|
|
2938
|
+
*/
|
|
2939
|
+
/**
|
|
2940
|
+
* Prefer consistent types when spreading a ternary in an array literal.
|
|
2941
|
+
* @config recommended
|
|
2942
|
+
* @fixable
|
|
2943
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-empty-array-spread.md}
|
|
2944
|
+
*/
|
|
2945
|
+
/**
|
|
2946
|
+
* Enforce consistent style for element existence checks with indexOf(), lastIndexOf(), findIndex(), and findLastIndex().
|
|
2947
|
+
* @config recommended
|
|
2948
|
+
* @config unopinionated
|
|
2949
|
+
* @fixable
|
|
2950
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-existence-index-check.md}
|
|
2951
|
+
*/
|
|
2952
|
+
/**
|
|
2953
|
+
* Move function definitions to the highest possible scope.
|
|
2954
|
+
* @config recommended
|
|
2955
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-function-scoping.md}
|
|
2956
|
+
*/
|
|
2957
|
+
/**
|
|
2958
|
+
* Enforce correct Error subclassing.
|
|
2959
|
+
* @fixable
|
|
2960
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/custom-error-definition.md}
|
|
2961
|
+
*/
|
|
2962
|
+
/**
|
|
2963
|
+
* Enforce no spaces between braces.
|
|
2964
|
+
* @config recommended
|
|
2965
|
+
* @fixable
|
|
2966
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/empty-brace-spaces.md}
|
|
2967
|
+
*/
|
|
2968
|
+
/**
|
|
2969
|
+
* Enforce passing a message value when creating a built-in error.
|
|
2970
|
+
* @config recommended
|
|
2971
|
+
* @config unopinionated
|
|
2972
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/error-message.md}
|
|
2973
|
+
*/
|
|
2974
|
+
/**
|
|
2975
|
+
* Require escape sequences to use uppercase or lowercase values.
|
|
2976
|
+
* @config recommended
|
|
2977
|
+
* @config unopinionated
|
|
2978
|
+
* @fixable
|
|
2979
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/escape-case.md}
|
|
2980
|
+
*/
|
|
2981
|
+
/**
|
|
2982
|
+
* Add expiration conditions to TODO comments.
|
|
2983
|
+
* @config recommended
|
|
2984
|
+
* @config unopinionated
|
|
2985
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/expiring-todo-comments.md}
|
|
2986
|
+
*/
|
|
2987
|
+
/**
|
|
2988
|
+
* Enforce explicitly comparing the length or size property of a value.
|
|
2989
|
+
* @config recommended
|
|
2990
|
+
* @fixable
|
|
2991
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/explicit-length-check.md}
|
|
2992
|
+
*/
|
|
2993
|
+
/**
|
|
2994
|
+
* Enforce a case style for filenames.
|
|
2995
|
+
* @config recommended
|
|
2996
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/filename-case.md}
|
|
2997
|
+
*/
|
|
559
2998
|
"unicorn/filename-case": ["error", { case: "kebabCase" }],
|
|
2999
|
+
/**
|
|
3000
|
+
* Enforce specific import styles per module.
|
|
3001
|
+
* @config recommended
|
|
3002
|
+
* @config unopinionated
|
|
3003
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/import-style.md}
|
|
3004
|
+
*/
|
|
3005
|
+
/**
|
|
3006
|
+
* Prevent usage of variables from outside the scope of isolated functions.
|
|
3007
|
+
* @config recommended
|
|
3008
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/isolated-functions.md}
|
|
3009
|
+
*/
|
|
3010
|
+
/**
|
|
3011
|
+
* Enforce the use of new for all builtins, except String, Number, Boolean, Symbol and BigInt.
|
|
3012
|
+
* @config recommended
|
|
3013
|
+
* @config unopinionated
|
|
3014
|
+
* @fixable
|
|
3015
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/new-for-builtins.md}
|
|
3016
|
+
*/
|
|
3017
|
+
/**
|
|
3018
|
+
* Enforce specifying rules to disable in eslint-disable comments.
|
|
3019
|
+
* @config recommended
|
|
3020
|
+
* @config unopinionated
|
|
3021
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-abusive-eslint-disable.md}
|
|
3022
|
+
*/
|
|
3023
|
+
/**
|
|
3024
|
+
* Disallow recursive access to this within getters and setters.
|
|
3025
|
+
* @config recommended
|
|
3026
|
+
* @config unopinionated
|
|
3027
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-accessor-recursion.md}
|
|
3028
|
+
*/
|
|
3029
|
+
/**
|
|
3030
|
+
* Disallow anonymous functions and classes as the default export.
|
|
3031
|
+
* @config recommended
|
|
3032
|
+
* @config unopinionated
|
|
3033
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-anonymous-default-export.md}
|
|
3034
|
+
*/
|
|
3035
|
+
/**
|
|
3036
|
+
* Prevent passing a function reference directly to iterator methods.
|
|
3037
|
+
* @config recommended
|
|
3038
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-array-callback-reference.md}
|
|
3039
|
+
*/
|
|
3040
|
+
/**
|
|
3041
|
+
* Prefer for…of over the forEach method.
|
|
3042
|
+
* @config recommended
|
|
3043
|
+
* @config unopinionated
|
|
3044
|
+
* @fixable
|
|
3045
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-array-for-each.md}
|
|
3046
|
+
*/
|
|
3047
|
+
/**
|
|
3048
|
+
* Disallow using the this argument in array methods.
|
|
3049
|
+
* @config recommended
|
|
3050
|
+
* @config unopinionated
|
|
3051
|
+
* @fixable
|
|
3052
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-array-method-this-argument.md}
|
|
3053
|
+
*/
|
|
3054
|
+
/**
|
|
3055
|
+
* Disallow Array#reduce() and Array#reduceRight().
|
|
3056
|
+
* @config recommended
|
|
3057
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-array-reduce.md}
|
|
3058
|
+
*/
|
|
3059
|
+
/**
|
|
3060
|
+
* Prefer Array#toReversed() over Array#reverse().
|
|
3061
|
+
* @config recommended
|
|
3062
|
+
* @config unopinionated
|
|
3063
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-array-reverse.md}
|
|
3064
|
+
*/
|
|
3065
|
+
/**
|
|
3066
|
+
* Prefer Array#toSorted() over Array#sort().
|
|
3067
|
+
* @config recommended
|
|
3068
|
+
* @config unopinionated
|
|
3069
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-array-sort.md}
|
|
3070
|
+
*/
|
|
3071
|
+
/**
|
|
3072
|
+
* Disallow member access from await expression.
|
|
3073
|
+
* @config recommended
|
|
3074
|
+
* @fixable
|
|
3075
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-await-expression-member.md}
|
|
3076
|
+
*/
|
|
3077
|
+
/**
|
|
3078
|
+
* Disallow using await in Promise method parameters.
|
|
3079
|
+
* @config recommended
|
|
3080
|
+
* @config unopinionated
|
|
3081
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-await-in-promise-methods.md}
|
|
3082
|
+
*/
|
|
3083
|
+
/**
|
|
3084
|
+
* Do not use leading/trailing space between console.log parameters.
|
|
3085
|
+
* @config recommended
|
|
3086
|
+
* @config unopinionated
|
|
3087
|
+
* @fixable
|
|
3088
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-console-spaces.md}
|
|
3089
|
+
*/
|
|
3090
|
+
/**
|
|
3091
|
+
* Do not use document.cookie directly.
|
|
3092
|
+
* @config recommended
|
|
3093
|
+
* @config unopinionated
|
|
3094
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-document-cookie.md}
|
|
3095
|
+
*/
|
|
3096
|
+
/**
|
|
3097
|
+
* Disallow empty files.
|
|
3098
|
+
* @config recommended
|
|
3099
|
+
* @config unopinionated
|
|
3100
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-empty-file.md}
|
|
3101
|
+
*/
|
|
3102
|
+
/**
|
|
3103
|
+
* Do not use a for loop that can be replaced with a for-of loop.
|
|
3104
|
+
* @config recommended
|
|
3105
|
+
* @fixable
|
|
3106
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-for-loop.md}
|
|
3107
|
+
*/
|
|
3108
|
+
/**
|
|
3109
|
+
* Enforce the use of Unicode escapes instead of hexadecimal escapes.
|
|
3110
|
+
* @config recommended
|
|
3111
|
+
* @config unopinionated
|
|
3112
|
+
* @fixable
|
|
3113
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-hex-escape.md}
|
|
3114
|
+
*/
|
|
3115
|
+
/**
|
|
3116
|
+
* Disallow immediate mutation after variable assignment.
|
|
3117
|
+
* @config recommended
|
|
3118
|
+
* @fixable
|
|
3119
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-immediate-mutation.md}
|
|
3120
|
+
*/
|
|
3121
|
+
/**
|
|
3122
|
+
* Disallow instanceof with built-in objects.
|
|
3123
|
+
* @config recommended
|
|
3124
|
+
* @config unopinionated
|
|
3125
|
+
* @fixable
|
|
3126
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-instanceof-builtins.md}
|
|
3127
|
+
*/
|
|
3128
|
+
/**
|
|
3129
|
+
* Disallow invalid options in fetch() and new Request().
|
|
3130
|
+
* @config recommended
|
|
3131
|
+
* @config unopinionated
|
|
3132
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-fetch-options.md}
|
|
3133
|
+
*/
|
|
3134
|
+
/**
|
|
3135
|
+
* Prevent calling EventTarget#removeEventListener() with the result of an expression.
|
|
3136
|
+
* @config recommended
|
|
3137
|
+
* @config unopinionated
|
|
3138
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-remove-event-listener.md}
|
|
3139
|
+
*/
|
|
3140
|
+
/**
|
|
3141
|
+
* Disallow identifiers starting with new or class.
|
|
3142
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-keyword-prefix.md}
|
|
3143
|
+
*/
|
|
3144
|
+
/**
|
|
3145
|
+
* Disallow if statements as the only statement in if blocks without else.
|
|
3146
|
+
* @config recommended
|
|
3147
|
+
* @config unopinionated
|
|
3148
|
+
* @fixable
|
|
3149
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-lonely-if.md}
|
|
3150
|
+
*/
|
|
3151
|
+
/**
|
|
3152
|
+
* Disallow a magic number as the depth argument in Array#flat(…).
|
|
3153
|
+
* @config recommended
|
|
3154
|
+
* @config unopinionated
|
|
3155
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-magic-array-flat-depth.md}
|
|
3156
|
+
*/
|
|
3157
|
+
/**
|
|
3158
|
+
* Disallow named usage of default import and export.
|
|
3159
|
+
* @config recommended
|
|
3160
|
+
* @config unopinionated
|
|
3161
|
+
* @fixable
|
|
3162
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-named-default.md}
|
|
3163
|
+
*/
|
|
3164
|
+
/**
|
|
3165
|
+
* Disallow negated conditions.
|
|
3166
|
+
* @config recommended
|
|
3167
|
+
* @config unopinionated
|
|
3168
|
+
* @fixable
|
|
3169
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negated-condition.md}
|
|
3170
|
+
*/
|
|
3171
|
+
/**
|
|
3172
|
+
* Disallow negated expression in equality check.
|
|
3173
|
+
* @config recommended
|
|
3174
|
+
* @config unopinionated
|
|
3175
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negation-in-equality-check.md}
|
|
3176
|
+
*/
|
|
3177
|
+
/**
|
|
3178
|
+
* Disallow nested ternary expressions.
|
|
3179
|
+
* @config recommended
|
|
3180
|
+
* @fixable
|
|
3181
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-nested-ternary.md}
|
|
3182
|
+
*/
|
|
3183
|
+
/**
|
|
3184
|
+
* Disallow new Array().
|
|
3185
|
+
* @config recommended
|
|
3186
|
+
* @config unopinionated
|
|
3187
|
+
* @fixable
|
|
3188
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-new-array.md}
|
|
3189
|
+
*/
|
|
3190
|
+
/**
|
|
3191
|
+
* Enforce the use of Buffer.from() and Buffer.alloc() instead of the deprecated new Buffer().
|
|
3192
|
+
* @config recommended
|
|
3193
|
+
* @config unopinionated
|
|
3194
|
+
* @fixable
|
|
3195
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-new-buffer.md}
|
|
3196
|
+
*/
|
|
3197
|
+
/**
|
|
3198
|
+
* Disallow the use of the null literal.
|
|
3199
|
+
* @config recommended
|
|
3200
|
+
* @fixable
|
|
3201
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-null.md}
|
|
3202
|
+
*/
|
|
3203
|
+
/**
|
|
3204
|
+
* Disallow the use of objects as default parameters.
|
|
3205
|
+
* @config recommended
|
|
3206
|
+
* @config unopinionated
|
|
3207
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-object-as-default-parameter.md}
|
|
3208
|
+
*/
|
|
3209
|
+
/**
|
|
3210
|
+
* Disallow process.exit().
|
|
3211
|
+
* @config recommended
|
|
3212
|
+
* @config unopinionated
|
|
3213
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-process-exit.md}
|
|
3214
|
+
*/
|
|
3215
|
+
/**
|
|
3216
|
+
* Disallow passing single-element arrays to Promise methods.
|
|
3217
|
+
* @config recommended
|
|
3218
|
+
* @config unopinionated
|
|
3219
|
+
* @fixable
|
|
3220
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-single-promise-in-promise-methods.md}
|
|
3221
|
+
*/
|
|
3222
|
+
/**
|
|
3223
|
+
* Disallow classes that only have static members.
|
|
3224
|
+
* @config recommended
|
|
3225
|
+
* @config unopinionated
|
|
3226
|
+
* @fixable
|
|
3227
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-static-only-class.md}
|
|
3228
|
+
*/
|
|
3229
|
+
/**
|
|
3230
|
+
* Disallow then property.
|
|
3231
|
+
* @config recommended
|
|
3232
|
+
* @config unopinionated
|
|
3233
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-thenable.md}
|
|
3234
|
+
*/
|
|
3235
|
+
/**
|
|
3236
|
+
* Disallow assigning this to a variable.
|
|
3237
|
+
* @config recommended
|
|
3238
|
+
* @config unopinionated
|
|
3239
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-this-assignment.md}
|
|
3240
|
+
*/
|
|
3241
|
+
/**
|
|
3242
|
+
* Disallow comparing undefined using typeof.
|
|
3243
|
+
* @config recommended
|
|
3244
|
+
* @config unopinionated
|
|
3245
|
+
* @fixable
|
|
3246
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-typeof-undefined.md}
|
|
3247
|
+
*/
|
|
3248
|
+
/**
|
|
3249
|
+
* Disallow using 1 as the depth argument of Array#flat().
|
|
3250
|
+
* @config recommended
|
|
3251
|
+
* @config unopinionated
|
|
3252
|
+
* @fixable
|
|
3253
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-array-flat-depth.md}
|
|
3254
|
+
*/
|
|
3255
|
+
/**
|
|
3256
|
+
* Disallow using .length or Infinity as the deleteCount or skipCount argument of Array#{splice,toSpliced}().
|
|
3257
|
+
* @config recommended
|
|
3258
|
+
* @config unopinionated
|
|
3259
|
+
* @fixable
|
|
3260
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-array-splice-count.md}
|
|
3261
|
+
*/
|
|
3262
|
+
/**
|
|
3263
|
+
* Disallow awaiting non-promise values.
|
|
3264
|
+
* @config recommended
|
|
3265
|
+
* @config unopinionated
|
|
3266
|
+
* @fixable
|
|
3267
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-await.md}
|
|
3268
|
+
*/
|
|
3269
|
+
/**
|
|
3270
|
+
* Enforce the use of built-in methods instead of unnecessary polyfills.
|
|
3271
|
+
* @config recommended
|
|
3272
|
+
* @config unopinionated
|
|
3273
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-polyfills.md}
|
|
3274
|
+
*/
|
|
3275
|
+
/**
|
|
3276
|
+
* Disallow using .length or Infinity as the end argument of {Array,String,TypedArray}#slice().
|
|
3277
|
+
* @config recommended
|
|
3278
|
+
* @config unopinionated
|
|
3279
|
+
* @fixable
|
|
3280
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-slice-end.md}
|
|
3281
|
+
*/
|
|
3282
|
+
/**
|
|
3283
|
+
* Disallow unreadable array destructuring.
|
|
3284
|
+
* @config recommended
|
|
3285
|
+
* @config unopinionated
|
|
3286
|
+
* @fixable
|
|
3287
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unreadable-array-destructuring.md}
|
|
3288
|
+
*/
|
|
3289
|
+
/**
|
|
3290
|
+
* Disallow unreadable IIFEs.
|
|
3291
|
+
* @config recommended
|
|
3292
|
+
* @config unopinionated
|
|
3293
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unreadable-iife.md}
|
|
3294
|
+
*/
|
|
3295
|
+
/**
|
|
3296
|
+
* Disallow unused object properties.
|
|
3297
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unused-properties.md}
|
|
3298
|
+
*/
|
|
3299
|
+
/**
|
|
3300
|
+
* Disallow useless values or fallbacks in Set, Map, WeakSet, or WeakMap.
|
|
3301
|
+
* @config recommended
|
|
3302
|
+
* @config unopinionated
|
|
3303
|
+
* @fixable
|
|
3304
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-collection-argument.md}
|
|
3305
|
+
*/
|
|
3306
|
+
/**
|
|
3307
|
+
* Disallow unnecessary Error.captureStackTrace(…).
|
|
3308
|
+
* @config recommended
|
|
3309
|
+
* @config unopinionated
|
|
3310
|
+
* @fixable
|
|
3311
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-error-capture-stack-trace.md}
|
|
3312
|
+
*/
|
|
3313
|
+
/**
|
|
3314
|
+
* Disallow useless fallback when spreading in object literals.
|
|
3315
|
+
* @config recommended
|
|
3316
|
+
* @config unopinionated
|
|
3317
|
+
* @fixable
|
|
3318
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-fallback-in-spread.md}
|
|
3319
|
+
*/
|
|
3320
|
+
/**
|
|
3321
|
+
* Disallow useless array length check.
|
|
3322
|
+
* @config recommended
|
|
3323
|
+
* @config unopinionated
|
|
3324
|
+
* @fixable
|
|
3325
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-length-check.md}
|
|
3326
|
+
*/
|
|
3327
|
+
/**
|
|
3328
|
+
* Disallow returning/yielding Promise.resolve/reject() in async functions or promise callbacks.
|
|
3329
|
+
* @config recommended
|
|
3330
|
+
* @config unopinionated
|
|
3331
|
+
* @fixable
|
|
3332
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-promise-resolve-reject.md}
|
|
3333
|
+
*/
|
|
3334
|
+
/**
|
|
3335
|
+
* Disallow unnecessary spread.
|
|
3336
|
+
* @config recommended
|
|
3337
|
+
* @config unopinionated
|
|
3338
|
+
* @fixable
|
|
3339
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-spread.md}
|
|
3340
|
+
*/
|
|
3341
|
+
/**
|
|
3342
|
+
* Disallow useless case in switch statements.
|
|
3343
|
+
* @config recommended
|
|
3344
|
+
* @config unopinionated
|
|
3345
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-switch-case.md}
|
|
3346
|
+
*/
|
|
3347
|
+
/**
|
|
3348
|
+
* Disallow useless undefined.
|
|
3349
|
+
* @config recommended
|
|
3350
|
+
* @config unopinionated
|
|
3351
|
+
* @fixable
|
|
3352
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-undefined.md}
|
|
3353
|
+
*/
|
|
3354
|
+
/**
|
|
3355
|
+
* Disallow number literals with zero fractions or dangling dots.
|
|
3356
|
+
* @config recommended
|
|
3357
|
+
* @config unopinionated
|
|
3358
|
+
* @fixable
|
|
3359
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-zero-fractions.md}
|
|
3360
|
+
*/
|
|
3361
|
+
/**
|
|
3362
|
+
* Enforce proper case for numeric literals.
|
|
3363
|
+
* @config recommended
|
|
3364
|
+
* @config unopinionated
|
|
3365
|
+
* @fixable
|
|
3366
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/number-literal-case.md}
|
|
3367
|
+
*/
|
|
3368
|
+
/**
|
|
3369
|
+
* Enforce the style of numeric separators by correctly grouping digits.
|
|
3370
|
+
* @config recommended
|
|
3371
|
+
* @config unopinionated
|
|
3372
|
+
* @fixable
|
|
3373
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/numeric-separators-style.md}
|
|
3374
|
+
*/
|
|
3375
|
+
/**
|
|
3376
|
+
* Prefer .addEventListener() and .removeEventListener() over on-functions.
|
|
3377
|
+
* @config recommended
|
|
3378
|
+
* @config unopinionated
|
|
3379
|
+
* @fixable
|
|
3380
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-add-event-listener.md}
|
|
3381
|
+
*/
|
|
3382
|
+
/**
|
|
3383
|
+
* Prefer .find(…) and .findLast(…) over the first or last element from .filter(…).
|
|
3384
|
+
* @config recommended
|
|
3385
|
+
* @config unopinionated
|
|
3386
|
+
* @fixable
|
|
3387
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-find.md}
|
|
3388
|
+
*/
|
|
3389
|
+
/**
|
|
3390
|
+
* Prefer Array#flat() over legacy techniques to flatten arrays.
|
|
3391
|
+
* @config recommended
|
|
3392
|
+
* @config unopinionated
|
|
3393
|
+
* @fixable
|
|
3394
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-flat.md}
|
|
3395
|
+
*/
|
|
3396
|
+
/**
|
|
3397
|
+
* Prefer .flatMap(…) over .map(…).flat().
|
|
3398
|
+
* @config recommended
|
|
3399
|
+
* @config unopinionated
|
|
3400
|
+
* @fixable
|
|
3401
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-flat-map.md}
|
|
3402
|
+
*/
|
|
3403
|
+
/**
|
|
3404
|
+
* Prefer Array#{indexOf,lastIndexOf}() over Array#{findIndex,findLastIndex}() when looking for the index of an item.
|
|
3405
|
+
* @config recommended
|
|
3406
|
+
* @config unopinionated
|
|
3407
|
+
* @fixable
|
|
3408
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-index-of.md}
|
|
3409
|
+
*/
|
|
3410
|
+
/**
|
|
3411
|
+
* Prefer .some(…) over .filter(…).length check and .{find,findLast,findIndex,findLastIndex}(…).
|
|
3412
|
+
* @config recommended
|
|
3413
|
+
* @config unopinionated
|
|
3414
|
+
* @fixable
|
|
3415
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-some.md}
|
|
3416
|
+
*/
|
|
3417
|
+
/**
|
|
3418
|
+
* Prefer .at() method for index access and String#charAt().
|
|
3419
|
+
* @config recommended
|
|
3420
|
+
* @config unopinionated
|
|
3421
|
+
* @fixable
|
|
3422
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-at.md}
|
|
3423
|
+
*/
|
|
3424
|
+
/**
|
|
3425
|
+
* Prefer BigInt literals over the constructor.
|
|
3426
|
+
* @config recommended
|
|
3427
|
+
* @config unopinionated
|
|
3428
|
+
* @fixable
|
|
3429
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-bigint-literals.md}
|
|
3430
|
+
*/
|
|
3431
|
+
/**
|
|
3432
|
+
* Prefer Blob#arrayBuffer() over FileReader#readAsArrayBuffer(…) and Blob#text() over FileReader#readAsText(…).
|
|
3433
|
+
* @config recommended
|
|
3434
|
+
* @config unopinionated
|
|
3435
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-blob-reading-methods.md}
|
|
3436
|
+
*/
|
|
3437
|
+
/**
|
|
3438
|
+
* Prefer class field declarations over this assignments in constructors.
|
|
3439
|
+
* @config recommended
|
|
3440
|
+
* @config unopinionated
|
|
3441
|
+
* @fixable
|
|
3442
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-class-fields.md}
|
|
3443
|
+
*/
|
|
3444
|
+
/**
|
|
3445
|
+
* Prefer using Element#classList.toggle() to toggle class names.
|
|
3446
|
+
* @config recommended
|
|
3447
|
+
* @config unopinionated
|
|
3448
|
+
* @fixable
|
|
3449
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-classlist-toggle.md}
|
|
3450
|
+
*/
|
|
3451
|
+
/**
|
|
3452
|
+
* Prefer String#codePointAt(…) over String#charCodeAt(…) and String.fromCodePoint(…) over String.fromCharCode(…).
|
|
3453
|
+
* @config recommended
|
|
3454
|
+
* @config unopinionated
|
|
3455
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-code-point.md}
|
|
3456
|
+
*/
|
|
3457
|
+
/**
|
|
3458
|
+
* Prefer Date.now() to get the number of milliseconds since the Unix Epoch.
|
|
3459
|
+
* @config recommended
|
|
3460
|
+
* @config unopinionated
|
|
3461
|
+
* @fixable
|
|
3462
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-date-now.md}
|
|
3463
|
+
*/
|
|
3464
|
+
/**
|
|
3465
|
+
* Prefer default parameters over reassignment.
|
|
3466
|
+
* @config recommended
|
|
3467
|
+
* @config unopinionated
|
|
3468
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-default-parameters.md}
|
|
3469
|
+
*/
|
|
3470
|
+
/**
|
|
3471
|
+
* Prefer Node#append() over Node#appendChild().
|
|
3472
|
+
* @config recommended
|
|
3473
|
+
* @config unopinionated
|
|
3474
|
+
* @fixable
|
|
3475
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-dom-node-append.md}
|
|
3476
|
+
*/
|
|
3477
|
+
/**
|
|
3478
|
+
* Prefer using .dataset on DOM elements over calling attribute methods.
|
|
3479
|
+
* @config recommended
|
|
3480
|
+
* @config unopinionated
|
|
3481
|
+
* @fixable
|
|
3482
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-dom-node-dataset.md}
|
|
3483
|
+
*/
|
|
3484
|
+
/**
|
|
3485
|
+
* Prefer childNode.remove() over parentNode.removeChild(childNode).
|
|
3486
|
+
* @config recommended
|
|
3487
|
+
* @config unopinionated
|
|
3488
|
+
* @fixable
|
|
3489
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-dom-node-remove.md}
|
|
3490
|
+
*/
|
|
3491
|
+
/**
|
|
3492
|
+
* Prefer .textContent over .innerText.
|
|
3493
|
+
* @config recommended
|
|
3494
|
+
* @config unopinionated
|
|
3495
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-dom-node-text-content.md}
|
|
3496
|
+
*/
|
|
3497
|
+
/**
|
|
3498
|
+
* Prefer EventTarget over EventEmitter.
|
|
3499
|
+
* @config recommended
|
|
3500
|
+
* @config unopinionated
|
|
3501
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-event-target.md}
|
|
3502
|
+
*/
|
|
3503
|
+
/**
|
|
3504
|
+
* Prefer export…from when re-exporting.
|
|
3505
|
+
* @config recommended
|
|
3506
|
+
* @fixable
|
|
3507
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-export-from.md}
|
|
3508
|
+
*/
|
|
3509
|
+
/**
|
|
3510
|
+
* Prefer globalThis over window, self, and global.
|
|
3511
|
+
* @config recommended
|
|
3512
|
+
* @config unopinionated
|
|
3513
|
+
* @fixable
|
|
3514
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-global-this.md}
|
|
3515
|
+
*/
|
|
3516
|
+
/**
|
|
3517
|
+
* Prefer import.meta.{dirname,filename} over legacy techniques for getting file paths.
|
|
3518
|
+
* @fixable
|
|
3519
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-import-meta-properties.md}
|
|
3520
|
+
*/
|
|
3521
|
+
/**
|
|
3522
|
+
* Prefer .includes() over .indexOf(), .lastIndexOf(), and Array#some() when checking for existence or non-existence.
|
|
3523
|
+
* @config recommended
|
|
3524
|
+
* @config unopinionated
|
|
3525
|
+
* @fixable
|
|
3526
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-includes.md}
|
|
3527
|
+
*/
|
|
3528
|
+
/**
|
|
3529
|
+
* Prefer reading a JSON file as a buffer.
|
|
3530
|
+
* @fixable
|
|
3531
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-json-parse-buffer.md}
|
|
3532
|
+
*/
|
|
3533
|
+
/**
|
|
3534
|
+
* Prefer KeyboardEvent#key over KeyboardEvent#keyCode.
|
|
3535
|
+
* @config recommended
|
|
3536
|
+
* @config unopinionated
|
|
3537
|
+
* @fixable
|
|
3538
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-keyboard-event-key.md}
|
|
3539
|
+
*/
|
|
3540
|
+
/**
|
|
3541
|
+
* Prefer using a logical operator over a ternary.
|
|
3542
|
+
* @config recommended
|
|
3543
|
+
* @config unopinionated
|
|
3544
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-logical-operator-over-ternary.md}
|
|
3545
|
+
*/
|
|
3546
|
+
/**
|
|
3547
|
+
* Prefer Math.min() and Math.max() over ternaries for simple comparisons.
|
|
3548
|
+
* @config recommended
|
|
3549
|
+
* @config unopinionated
|
|
3550
|
+
* @fixable
|
|
3551
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-math-min-max.md}
|
|
3552
|
+
*/
|
|
3553
|
+
/**
|
|
3554
|
+
* Enforce the use of Math.trunc instead of bitwise operators.
|
|
3555
|
+
* @config recommended
|
|
3556
|
+
* @config unopinionated
|
|
3557
|
+
* @fixable
|
|
3558
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-math-trunc.md}
|
|
3559
|
+
*/
|
|
3560
|
+
/**
|
|
3561
|
+
* Prefer .before() over .insertBefore(), .replaceWith() over .replaceChild(), prefer one of .before(), .after(), .append() or .prepend() over insertAdjacentText() and insertAdjacentElement().
|
|
3562
|
+
* @config recommended
|
|
3563
|
+
* @config unopinionated
|
|
3564
|
+
* @fixable
|
|
3565
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-modern-dom-apis.md}
|
|
3566
|
+
*/
|
|
3567
|
+
/**
|
|
3568
|
+
* Prefer modern Math APIs over legacy patterns.
|
|
3569
|
+
* @config recommended
|
|
3570
|
+
* @config unopinionated
|
|
3571
|
+
* @fixable
|
|
3572
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-modern-math-apis.md}
|
|
3573
|
+
*/
|
|
3574
|
+
/**
|
|
3575
|
+
* Prefer JavaScript modules (ESM) over CommonJS.
|
|
3576
|
+
* @config recommended
|
|
3577
|
+
* @config unopinionated
|
|
3578
|
+
* @fixable
|
|
3579
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-module.md}
|
|
3580
|
+
*/
|
|
3581
|
+
/**
|
|
3582
|
+
* Prefer using String, Number, BigInt, Boolean, and Symbol directly.
|
|
3583
|
+
* @config recommended
|
|
3584
|
+
* @config unopinionated
|
|
3585
|
+
* @fixable
|
|
3586
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-native-coercion-functions.md}
|
|
3587
|
+
*/
|
|
3588
|
+
/**
|
|
3589
|
+
* Prefer negative index over .length - index when possible.
|
|
3590
|
+
* @config recommended
|
|
3591
|
+
* @config unopinionated
|
|
3592
|
+
* @fixable
|
|
3593
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-negative-index.md}
|
|
3594
|
+
*/
|
|
3595
|
+
/**
|
|
3596
|
+
* Prefer using the node: protocol when importing Node.js builtin modules.
|
|
3597
|
+
* @config recommended
|
|
3598
|
+
* @config unopinionated
|
|
3599
|
+
* @fixable
|
|
3600
|
+
* @see {@link https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-node-protocol.md}
|
|
3601
|
+
*/
|
|
560
3602
|
"unicorn/prefer-node-protocol": "error"
|
|
561
3603
|
}
|
|
562
3604
|
});
|
|
@@ -573,28 +3615,384 @@ const vitestConfig = defineConfig({
|
|
|
573
3615
|
settings: { vitest: { typecheck: true } },
|
|
574
3616
|
languageOptions: { globals: { ...vitest.environments.env.globals } },
|
|
575
3617
|
rules: {
|
|
3618
|
+
/**
|
|
3619
|
+
* Require test file pattern.
|
|
3620
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md}
|
|
3621
|
+
*/
|
|
3622
|
+
/**
|
|
3623
|
+
* Enforce using test or it but not both.
|
|
3624
|
+
* @fixable
|
|
3625
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-it.md}
|
|
3626
|
+
*/
|
|
576
3627
|
"vitest/consistent-test-it": ["error", { fn: "it" }],
|
|
3628
|
+
/**
|
|
3629
|
+
* Enforce using vitest or vi but not both.
|
|
3630
|
+
* @fixable
|
|
3631
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-vitest-vi.md}
|
|
3632
|
+
*/
|
|
3633
|
+
/**
|
|
3634
|
+
* Enforce hoisted APIs to be on top of the file.
|
|
3635
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/hoisted-apis-on-top.md}
|
|
3636
|
+
*/
|
|
3637
|
+
/**
|
|
3638
|
+
* Enforce a maximum number of expect per test.
|
|
3639
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-expects.md}
|
|
3640
|
+
*/
|
|
3641
|
+
/**
|
|
3642
|
+
* Require describe block to be less than set max value or default value.
|
|
3643
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-nested-describe.md}
|
|
3644
|
+
*/
|
|
3645
|
+
/**
|
|
3646
|
+
* Disallow alias methods.
|
|
3647
|
+
* @fixable
|
|
3648
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-alias-methods.md}
|
|
3649
|
+
*/
|
|
3650
|
+
/**
|
|
3651
|
+
* Disallow conditional expects.
|
|
3652
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md}
|
|
3653
|
+
*/
|
|
3654
|
+
/**
|
|
3655
|
+
* Disallow conditional tests.
|
|
3656
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-in-test.md}
|
|
3657
|
+
*/
|
|
577
3658
|
"vitest/no-conditional-in-test": "error",
|
|
3659
|
+
/**
|
|
3660
|
+
* Disallow conditional tests.
|
|
3661
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-tests.md}
|
|
3662
|
+
*/
|
|
3663
|
+
/**
|
|
3664
|
+
* Disallow disabled tests.
|
|
3665
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-disabled-tests.md}
|
|
3666
|
+
*/
|
|
3667
|
+
/**
|
|
3668
|
+
* Disallow using a callback in asynchronous tests and hooks.
|
|
3669
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-done-callback.md}
|
|
3670
|
+
*/
|
|
3671
|
+
/**
|
|
3672
|
+
* Disallow duplicate hooks and teardown hooks.
|
|
3673
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-duplicate-hooks.md}
|
|
3674
|
+
*/
|
|
578
3675
|
"vitest/no-duplicate-hooks": "error",
|
|
3676
|
+
/**
|
|
3677
|
+
* Disallow focused tests.
|
|
3678
|
+
* @fixable
|
|
3679
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-focused-tests.md}
|
|
3680
|
+
*/
|
|
3681
|
+
/**
|
|
3682
|
+
* Disallow setup and teardown hooks.
|
|
3683
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-hooks.md}
|
|
3684
|
+
*/
|
|
3685
|
+
/**
|
|
3686
|
+
* Disallow importing Vitest globals.
|
|
3687
|
+
* @fixable
|
|
3688
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-importing-vitest-globals.md}
|
|
3689
|
+
*/
|
|
3690
|
+
/**
|
|
3691
|
+
* Disallow string interpolation in snapshots.
|
|
3692
|
+
* @fixable
|
|
3693
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-interpolation-in-snapshots.md}
|
|
3694
|
+
*/
|
|
3695
|
+
/**
|
|
3696
|
+
* Disallow large snapshots.
|
|
3697
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-large-snapshots.md}
|
|
3698
|
+
*/
|
|
3699
|
+
/**
|
|
3700
|
+
* Disallow importing from mocks directory.
|
|
3701
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-mocks-import.md}
|
|
3702
|
+
*/
|
|
3703
|
+
/**
|
|
3704
|
+
* Disallow the use of certain matchers.
|
|
3705
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-matchers.md}
|
|
3706
|
+
*/
|
|
3707
|
+
/**
|
|
3708
|
+
* Disallow specific vi. methods.
|
|
3709
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-vi-methods.md}
|
|
3710
|
+
*/
|
|
3711
|
+
/**
|
|
3712
|
+
* Disallow using expect outside of it or test blocks.
|
|
3713
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-standalone-expect.md}
|
|
3714
|
+
*/
|
|
3715
|
+
/**
|
|
3716
|
+
* Disallow using the f and x prefixes in favour of .only and .skip.
|
|
3717
|
+
* @fixable
|
|
3718
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-prefixes.md}
|
|
3719
|
+
*/
|
|
3720
|
+
/**
|
|
3721
|
+
* Disallow return statements in tests.
|
|
3722
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-return-statement.md}
|
|
3723
|
+
*/
|
|
579
3724
|
"vitest/no-test-return-statement": "error",
|
|
3725
|
+
/**
|
|
3726
|
+
* Enforce padding around afterAll blocks.
|
|
3727
|
+
* @fixable
|
|
3728
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-after-all-blocks.md}
|
|
3729
|
+
*/
|
|
3730
|
+
/**
|
|
3731
|
+
* Enforce padding around afterEach blocks.
|
|
3732
|
+
* @fixable
|
|
3733
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-after-each-blocks.md}
|
|
3734
|
+
*/
|
|
3735
|
+
/**
|
|
3736
|
+
* Enforce padding around vitest functions.
|
|
3737
|
+
* @fixable
|
|
3738
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-all.md}
|
|
3739
|
+
*/
|
|
580
3740
|
"vitest/padding-around-all": "error",
|
|
3741
|
+
/**
|
|
3742
|
+
* Enforce padding around beforeAll blocks.
|
|
3743
|
+
* @fixable
|
|
3744
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-before-all-blocks.md}
|
|
3745
|
+
*/
|
|
3746
|
+
/**
|
|
3747
|
+
* Enforce padding around beforeEach blocks.
|
|
3748
|
+
* @fixable
|
|
3749
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-before-each-blocks.md}
|
|
3750
|
+
*/
|
|
3751
|
+
/**
|
|
3752
|
+
* Enforce padding around describe blocks.
|
|
3753
|
+
* @fixable
|
|
3754
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-describe-blocks.md}
|
|
3755
|
+
*/
|
|
3756
|
+
/**
|
|
3757
|
+
* Enforce padding around expect groups.
|
|
3758
|
+
* @fixable
|
|
3759
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-expect-groups.md}
|
|
3760
|
+
*/
|
|
3761
|
+
/**
|
|
3762
|
+
* Enforce padding around test blocks.
|
|
3763
|
+
* @fixable
|
|
3764
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-test-blocks.md}
|
|
3765
|
+
*/
|
|
3766
|
+
/**
|
|
3767
|
+
* Enforce using toBeCalledOnce() or toHaveBeenCalledOnce().
|
|
3768
|
+
* @fixable
|
|
3769
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-once.md}
|
|
3770
|
+
*/
|
|
3771
|
+
/**
|
|
3772
|
+
* Enforce using toBeCalledTimes(1) or toHaveBeenCalledTimes(1).
|
|
3773
|
+
* @fixable
|
|
3774
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-times.md}
|
|
3775
|
+
*/
|
|
3776
|
+
/**
|
|
3777
|
+
* Enforce using toBeCalledWith() or toHaveBeenCalledWith().
|
|
3778
|
+
* @fixable
|
|
3779
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-with.md}
|
|
3780
|
+
*/
|
|
581
3781
|
"vitest/prefer-called-with": "error",
|
|
3782
|
+
/**
|
|
3783
|
+
* Enforce using the built-in comparison matchers.
|
|
3784
|
+
* @fixable
|
|
3785
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-comparison-matcher.md}
|
|
3786
|
+
*/
|
|
582
3787
|
"vitest/prefer-comparison-matcher": "error",
|
|
3788
|
+
/**
|
|
3789
|
+
* Enforce using a function as a describe title over an equivalent string.
|
|
3790
|
+
* @fixable
|
|
3791
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-describe-function-title.md}
|
|
3792
|
+
*/
|
|
3793
|
+
/**
|
|
3794
|
+
* Enforce using each rather than manual loops.
|
|
3795
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-each.md}
|
|
3796
|
+
*/
|
|
583
3797
|
"vitest/prefer-each": "error",
|
|
3798
|
+
/**
|
|
3799
|
+
* Enforce using the built-in quality matchers.
|
|
3800
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-equality-matcher.md}
|
|
3801
|
+
*/
|
|
584
3802
|
"vitest/prefer-equality-matcher": "error",
|
|
3803
|
+
/**
|
|
3804
|
+
* Enforce using expect assertions instead of callbacks.
|
|
3805
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-assertions.md}
|
|
3806
|
+
*/
|
|
585
3807
|
"vitest/prefer-expect-assertions": "error",
|
|
3808
|
+
/**
|
|
3809
|
+
* Enforce using expect().resolves over expect(await ...) syntax.
|
|
3810
|
+
* @fixable
|
|
3811
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-resolves.md}
|
|
3812
|
+
*/
|
|
586
3813
|
"vitest/prefer-expect-resolves": "error",
|
|
3814
|
+
/**
|
|
3815
|
+
* Enforce using expectTypeOf instead of expect(typeof ...).
|
|
3816
|
+
* @fixable
|
|
3817
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-type-of.md}
|
|
3818
|
+
*/
|
|
3819
|
+
/**
|
|
3820
|
+
* Enforce having hooks in consistent order.
|
|
3821
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-in-order.md}
|
|
3822
|
+
*/
|
|
587
3823
|
"vitest/prefer-hooks-in-order": "error",
|
|
3824
|
+
/**
|
|
3825
|
+
* Enforce having hooks before any test cases.
|
|
3826
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-on-top.md}
|
|
3827
|
+
*/
|
|
588
3828
|
"vitest/prefer-hooks-on-top": "error",
|
|
3829
|
+
/**
|
|
3830
|
+
* Prefer dynamic import in mock.
|
|
3831
|
+
* @fixable
|
|
3832
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-import-in-mock.md}
|
|
3833
|
+
*/
|
|
3834
|
+
/**
|
|
3835
|
+
* Enforce importing Vitest globals.
|
|
3836
|
+
* @fixable
|
|
3837
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-importing-vitest-globals.md}
|
|
3838
|
+
*/
|
|
3839
|
+
/**
|
|
3840
|
+
* Enforce lowercase titles.
|
|
3841
|
+
* @fixable
|
|
3842
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-lowercase-title.md}
|
|
3843
|
+
*/
|
|
589
3844
|
"vitest/prefer-lowercase-title": ["error", { ignore: ["describe"] }],
|
|
3845
|
+
/**
|
|
3846
|
+
* Enforce mock resolved/rejected shorthands for promises.
|
|
3847
|
+
* @fixable
|
|
3848
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-mock-promise-shorthand.md}
|
|
3849
|
+
*/
|
|
590
3850
|
"vitest/prefer-mock-promise-shorthand": "error",
|
|
3851
|
+
/**
|
|
3852
|
+
* Enforce including a hint with external snapshots.
|
|
3853
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-snapshot-hint.md}
|
|
3854
|
+
*/
|
|
591
3855
|
"vitest/prefer-snapshot-hint": "error",
|
|
3856
|
+
/**
|
|
3857
|
+
* Enforce using vi.spyOn.
|
|
3858
|
+
* @fixable
|
|
3859
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-spy-on.md}
|
|
3860
|
+
*/
|
|
592
3861
|
"vitest/prefer-spy-on": "error",
|
|
3862
|
+
/**
|
|
3863
|
+
* Enforce using toBe(true) and toBe(false) over matchers that coerce types to boolean.
|
|
3864
|
+
* @fixable
|
|
3865
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-strict-boolean-matchers.md}
|
|
3866
|
+
*/
|
|
3867
|
+
/**
|
|
3868
|
+
* Enforce strict equal over equal.
|
|
3869
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-strict-equal.md}
|
|
3870
|
+
*/
|
|
593
3871
|
"vitest/prefer-strict-equal": "error",
|
|
3872
|
+
/**
|
|
3873
|
+
* Enforce using toBe().
|
|
3874
|
+
* @fixable
|
|
3875
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be.md}
|
|
3876
|
+
*/
|
|
3877
|
+
/**
|
|
3878
|
+
* Enforce using toBeFalsy().
|
|
3879
|
+
* @fixable
|
|
3880
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-falsy.md}
|
|
3881
|
+
*/
|
|
3882
|
+
/**
|
|
3883
|
+
* Enforce using toBeObject().
|
|
3884
|
+
* @fixable
|
|
3885
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-object.md}
|
|
3886
|
+
*/
|
|
3887
|
+
/**
|
|
3888
|
+
* Enforce using toBeTruthy.
|
|
3889
|
+
* @fixable
|
|
3890
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-truthy.md}
|
|
3891
|
+
*/
|
|
3892
|
+
/**
|
|
3893
|
+
* Enforce using toContain().
|
|
3894
|
+
* @fixable
|
|
3895
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-contain.md}
|
|
3896
|
+
*/
|
|
3897
|
+
/**
|
|
3898
|
+
* Enforce using toHaveLength().
|
|
3899
|
+
* @fixable
|
|
3900
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-have-length.md}
|
|
3901
|
+
*/
|
|
3902
|
+
/**
|
|
3903
|
+
* Enforce using test.todo.
|
|
3904
|
+
* @fixable
|
|
3905
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-todo.md}
|
|
3906
|
+
*/
|
|
594
3907
|
"vitest/prefer-todo": "error",
|
|
3908
|
+
/**
|
|
3909
|
+
* Require vi.mocked() over fn as Mock.
|
|
3910
|
+
* @fixable
|
|
3911
|
+
* @typeChecked
|
|
3912
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-vi-mocked.md}
|
|
3913
|
+
*/
|
|
595
3914
|
"vitest/prefer-vi-mocked": "error",
|
|
3915
|
+
/**
|
|
3916
|
+
* Ensure that every expect.poll call is awaited.
|
|
3917
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-awaited-expect-poll.md}
|
|
3918
|
+
*/
|
|
3919
|
+
/**
|
|
3920
|
+
* Require setup and teardown to be within a hook.
|
|
3921
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-hook.md}
|
|
3922
|
+
*/
|
|
3923
|
+
/**
|
|
3924
|
+
* Enforce using type parameters with vitest mock functions.
|
|
3925
|
+
* @fixable
|
|
3926
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-mock-type-parameters.md}
|
|
3927
|
+
*/
|
|
3928
|
+
/**
|
|
3929
|
+
* Require toThrow() to be called with an error message.
|
|
3930
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-to-throw-message.md}
|
|
3931
|
+
*/
|
|
596
3932
|
"vitest/require-to-throw-message": "error",
|
|
3933
|
+
/**
|
|
3934
|
+
* Enforce that all tests are in a top-level describe.
|
|
3935
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-top-level-describe.md}
|
|
3936
|
+
*/
|
|
597
3937
|
"vitest/require-top-level-describe": "error",
|
|
3938
|
+
/**
|
|
3939
|
+
* Require promises that have expectations in their chain to be valid.
|
|
3940
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-expect-in-promise.md}
|
|
3941
|
+
*/
|
|
3942
|
+
/**
|
|
3943
|
+
* Disallow .todo usage.
|
|
3944
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/warn-todo.md}
|
|
3945
|
+
*/
|
|
3946
|
+
/**
|
|
3947
|
+
* Enforce having expectation in test body.
|
|
3948
|
+
* @config recommended
|
|
3949
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md}
|
|
3950
|
+
*/
|
|
3951
|
+
/**
|
|
3952
|
+
* Disallow commented out tests.
|
|
3953
|
+
* @config recommended
|
|
3954
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-commented-out-tests.md}
|
|
3955
|
+
*/
|
|
3956
|
+
/**
|
|
3957
|
+
* Disallow identical titles.
|
|
3958
|
+
* @config recommended
|
|
3959
|
+
* @fixable
|
|
3960
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-identical-title.md}
|
|
3961
|
+
*/
|
|
3962
|
+
/**
|
|
3963
|
+
* Disallow importing node:test.
|
|
3964
|
+
* @config recommended
|
|
3965
|
+
* @fixable
|
|
3966
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-import-node-test.md}
|
|
3967
|
+
*/
|
|
3968
|
+
/**
|
|
3969
|
+
* Prefer toHaveBeenCalledExactlyOnceWith over toHaveBeenCalledOnce and toHaveBeenCalledWith.
|
|
3970
|
+
* @config recommended
|
|
3971
|
+
* @fixable
|
|
3972
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-exactly-once-with.md}
|
|
3973
|
+
*/
|
|
3974
|
+
/**
|
|
3975
|
+
* Require local Test Context for concurrent snapshot tests.
|
|
3976
|
+
* @config recommended
|
|
3977
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-local-test-context-for-concurrent-snapshots.md}
|
|
3978
|
+
*/
|
|
3979
|
+
/**
|
|
3980
|
+
* Enforce valid describe callback.
|
|
3981
|
+
* @config recommended
|
|
3982
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-describe-callback.md}
|
|
3983
|
+
*/
|
|
3984
|
+
/**
|
|
3985
|
+
* Enforce valid expect() usage.
|
|
3986
|
+
* @config recommended
|
|
3987
|
+
* @fixable
|
|
3988
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-expect.md}
|
|
3989
|
+
*/
|
|
3990
|
+
/**
|
|
3991
|
+
* Enforce valid titles.
|
|
3992
|
+
* @config recommended
|
|
3993
|
+
* @fixable
|
|
3994
|
+
* @see {@link https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-title.md}
|
|
3995
|
+
*/
|
|
598
3996
|
"vitest/valid-title": ["error", { mustMatch: { test: "^should" } }]
|
|
599
3997
|
}
|
|
600
3998
|
});
|