@wistia/oxlint-config 0.7.3 → 0.7.5
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/package.json +2 -1
- package/rules/barrel-files.mjs +3 -0
- package/rules/base.mjs +223 -2
- package/rules/import.mjs +100 -38
- package/rules/node.mjs +23 -13
- package/rules/promise.mjs +2 -0
- package/rules/react-a11y.mjs +6 -1
- package/rules/react.mjs +95 -63
- package/rules/typescript.mjs +45 -2
- package/rules/vitest.mjs +84 -82
package/rules/typescript.mjs
CHANGED
|
@@ -16,16 +16,19 @@ export const typescriptRules = {
|
|
|
16
16
|
],
|
|
17
17
|
|
|
18
18
|
// This is redundant with TypeScript's noUnusedLocals/noUnusedParameters compiler options
|
|
19
|
+
// Decision: handled by TypeScript noUnusedLocals/noUnusedParameters
|
|
19
20
|
'eslint/no-unused-vars': 'off',
|
|
20
21
|
|
|
21
22
|
// Recommended to be disabled for TypeScript projects
|
|
22
23
|
// https://github.com/typescript-eslint/typescript-eslint/blob/main/docs/linting/TROUBLESHOOTING.md#i-get-errors-from-the-no-undef-rule-about-global-variables-not-being-defined-even-though-there-are-no-typescript-errors
|
|
24
|
+
// Decision: handled by TypeScript
|
|
23
25
|
'eslint/no-undef': 'off',
|
|
24
26
|
|
|
25
27
|
// Override base no-void to allow void as a statement (common in TS for fire-and-forget promises)
|
|
26
28
|
'eslint/no-void': ['error', { allowAsStatement: true }],
|
|
27
29
|
|
|
28
30
|
// Superseded by `typescript/require-await` below
|
|
31
|
+
// Decision: handled by typescript/require-await
|
|
29
32
|
'eslint/require-await': 'off',
|
|
30
33
|
|
|
31
34
|
// Require that function overload signatures be consecutive
|
|
@@ -70,7 +73,7 @@ export const typescriptRules = {
|
|
|
70
73
|
|
|
71
74
|
// Enforce type definitions to consistently use either interface or type
|
|
72
75
|
// https://oxc.rs/docs/guide/usage/linter/rules/typescript/consistent-type-definitions.html
|
|
73
|
-
//
|
|
76
|
+
// Decision: prefer type to interface for consistency
|
|
74
77
|
'typescript/consistent-type-definitions': ['error', 'type'],
|
|
75
78
|
|
|
76
79
|
// Enforce consistent usage of type exports
|
|
@@ -314,7 +317,7 @@ export const typescriptRules = {
|
|
|
314
317
|
|
|
315
318
|
// Enforce non-null assertions over explicit type casts
|
|
316
319
|
// https://oxc.rs/docs/guide/usage/linter/rules/typescript/non-nullable-type-assertion-style.html
|
|
317
|
-
//
|
|
320
|
+
// Decision: disabled because it conflicts with `no-non-null-assertion` — this rule's autofix
|
|
318
321
|
// rewrites `value as T` to `value!`, which `no-non-null-assertion` then rejects
|
|
319
322
|
'typescript/non-nullable-type-assertion-style': 'off',
|
|
320
323
|
|
|
@@ -441,5 +444,45 @@ export const typescriptRules = {
|
|
|
441
444
|
// Enforce typing arguments in .catch() callbacks as unknown
|
|
442
445
|
// https://oxc.rs/docs/guide/usage/linter/rules/typescript/use-unknown-in-catch-callback-variable.html
|
|
443
446
|
'typescript/use-unknown-in-catch-callback-variable': 'error',
|
|
447
|
+
|
|
448
|
+
// Disallow certain types (deprecated rule)
|
|
449
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/typescript/ban-types.html
|
|
450
|
+
// Decision: deprecated rule
|
|
451
|
+
'typescript/ban-types': 'off',
|
|
452
|
+
|
|
453
|
+
// Require explicit return types on functions and class methods
|
|
454
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/typescript/explicit-function-return-type.html
|
|
455
|
+
// Decision: too opinionated for general use
|
|
456
|
+
'typescript/explicit-function-return-type': 'off',
|
|
457
|
+
|
|
458
|
+
// Require explicit accessibility modifiers on class properties and methods
|
|
459
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/typescript/explicit-member-accessibility.html
|
|
460
|
+
// Decision: too opinionated for general use
|
|
461
|
+
'typescript/explicit-member-accessibility': 'off',
|
|
462
|
+
|
|
463
|
+
// Disallow empty interfaces (deprecated rule)
|
|
464
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-empty-interface.html
|
|
465
|
+
// Decision: deprecated rule
|
|
466
|
+
'typescript/no-empty-interface': 'off',
|
|
467
|
+
|
|
468
|
+
// Disallow require statements except in import statements (deprecated rule)
|
|
469
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-var-requires.html
|
|
470
|
+
// Decision: deprecated rule
|
|
471
|
+
'typescript/no-var-requires': 'off',
|
|
472
|
+
|
|
473
|
+
// Require function parameters to be typed as readonly
|
|
474
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-readonly-parameter-types.html
|
|
475
|
+
// Decision: too opinionated for general use
|
|
476
|
+
'typescript/prefer-readonly-parameter-types': 'off',
|
|
477
|
+
|
|
478
|
+
// Enforce using @ts-expect-error over @ts-ignore (deprecated rule)
|
|
479
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-ts-expect-error.html
|
|
480
|
+
// Decision: deprecated rule
|
|
481
|
+
'typescript/prefer-ts-expect-error': 'off',
|
|
482
|
+
|
|
483
|
+
// Enforce void return type for functions that don't return a value
|
|
484
|
+
// https://oxc.rs/docs/guide/usage/linter/rules/typescript/strict-void-return.html
|
|
485
|
+
// Decision: too opinionated for general use
|
|
486
|
+
'typescript/strict-void-return': 'off',
|
|
444
487
|
},
|
|
445
488
|
};
|
package/rules/vitest.mjs
CHANGED
|
@@ -36,7 +36,7 @@ export const vitestRules = {
|
|
|
36
36
|
|
|
37
37
|
// Prefer toHaveBeenCalledOnce() over toHaveBeenCalledTimes(1)
|
|
38
38
|
// https://oxc.rs/docs/guide/usage/linter/rules/vitest/prefer-called-once.html
|
|
39
|
-
//
|
|
39
|
+
// Decision: conflicts with prefer-called-times (vitest plugin), which is enabled
|
|
40
40
|
'vitest/prefer-called-once': 'off',
|
|
41
41
|
|
|
42
42
|
// Prefer toHaveBeenCalledTimes over multiple assertions
|
|
@@ -53,7 +53,7 @@ export const vitestRules = {
|
|
|
53
53
|
|
|
54
54
|
// Prefer vi.importActual/vi.importMock in vi.mock factories
|
|
55
55
|
// https://oxc.rs/docs/guide/usage/linter/rules/vitest/prefer-import-in-mock.html
|
|
56
|
-
//
|
|
56
|
+
// Decision: potentially helpful but causes too many type errors
|
|
57
57
|
'vitest/prefer-import-in-mock': 'off',
|
|
58
58
|
|
|
59
59
|
// Prefer strict boolean matchers (toBe(true) over toBeTruthy())
|
|
@@ -62,7 +62,7 @@ export const vitestRules = {
|
|
|
62
62
|
|
|
63
63
|
// Suggest using toBeFalsy()
|
|
64
64
|
// https://oxc.rs/docs/guide/usage/linter/rules/vitest/prefer-to-be-falsy.html
|
|
65
|
-
//
|
|
65
|
+
// Decision: not necessary to be prescriptive here
|
|
66
66
|
'vitest/prefer-to-be-falsy': 'off',
|
|
67
67
|
|
|
68
68
|
// Prefer toBeObject()
|
|
@@ -71,7 +71,7 @@ export const vitestRules = {
|
|
|
71
71
|
|
|
72
72
|
// Suggest using toBeTruthy
|
|
73
73
|
// https://oxc.rs/docs/guide/usage/linter/rules/vitest/prefer-to-be-truthy.html
|
|
74
|
-
//
|
|
74
|
+
// Decision: not necessary to be prescriptive here
|
|
75
75
|
'vitest/prefer-to-be-truthy': 'off',
|
|
76
76
|
|
|
77
77
|
// Require type parameters on mock function calls
|
|
@@ -108,12 +108,12 @@ export const vitestRules = {
|
|
|
108
108
|
|
|
109
109
|
// Disallow importing vitest globals
|
|
110
110
|
// https://oxc.rs/docs/guide/usage/linter/rules/vitest/no-importing-vitest-globals.html
|
|
111
|
-
//
|
|
111
|
+
// Decision: prefer-importing-vitest-globals is already enabled, which serves opposite purpose
|
|
112
112
|
'vitest/no-importing-vitest-globals': 'off',
|
|
113
113
|
|
|
114
114
|
// Suggest using expect.assertions
|
|
115
115
|
// https://oxc.rs/docs/guide/usage/linter/rules/vitest/prefer-expect-assertions.html
|
|
116
|
-
//
|
|
116
|
+
// Decision: too strict for general use, matching vitest-js/prefer-expect-assertions
|
|
117
117
|
'vitest/prefer-expect-assertions': 'off',
|
|
118
118
|
|
|
119
119
|
// Prefer toHaveBeenCalledTimes over multiple assertions
|
|
@@ -122,12 +122,12 @@ export const vitestRules = {
|
|
|
122
122
|
|
|
123
123
|
// Require test timeout
|
|
124
124
|
// https://oxc.rs/docs/guide/usage/linter/rules/vitest/require-test-timeout.html
|
|
125
|
-
//
|
|
125
|
+
// Decision: too strict for general use, matching vitest-js/require-test-timeout
|
|
126
126
|
'vitest/require-test-timeout': 'off',
|
|
127
127
|
|
|
128
128
|
// Enforce valid expect in promise
|
|
129
129
|
// https://oxc.rs/docs/guide/usage/linter/rules/vitest/valid-expect-in-promise.html
|
|
130
|
-
//
|
|
130
|
+
// Decision: too strict for general use, matching vitest-js/valid-expect-in-promise
|
|
131
131
|
'vitest/valid-expect-in-promise': 'off',
|
|
132
132
|
|
|
133
133
|
// Prefer test or it but not both
|
|
@@ -160,7 +160,7 @@ export const vitestRules = {
|
|
|
160
160
|
|
|
161
161
|
// Disallow disabled tests
|
|
162
162
|
// https://oxc.rs/docs/guide/usage/linter/rules/vitest/no-disabled-tests.html
|
|
163
|
-
//
|
|
163
|
+
// Decision: it is often useful to be allowed to add a .skip
|
|
164
164
|
'vitest/no-disabled-tests': 'off',
|
|
165
165
|
|
|
166
166
|
// Disallow duplicate hooks and teardown hooks
|
|
@@ -173,6 +173,7 @@ export const vitestRules = {
|
|
|
173
173
|
|
|
174
174
|
// Disallow setup and teardown hooks
|
|
175
175
|
// https://oxc.rs/docs/guide/usage/linter/rules/vitest/no-hooks.html
|
|
176
|
+
// Decision: too opinionated for general use
|
|
176
177
|
'vitest/no-hooks': 'off',
|
|
177
178
|
|
|
178
179
|
// Disallow identical titles
|
|
@@ -241,6 +242,7 @@ export const vitestRules = {
|
|
|
241
242
|
|
|
242
243
|
// Enforce lowercase titles
|
|
243
244
|
// https://oxc.rs/docs/guide/usage/linter/rules/vitest/prefer-lowercase-title.html
|
|
245
|
+
// Decision: too opinionated for general use
|
|
244
246
|
'vitest/prefer-lowercase-title': 'off',
|
|
245
247
|
|
|
246
248
|
// Prefer mock resolved/rejected shorthands for promises
|
|
@@ -297,7 +299,7 @@ export const vitestRules = {
|
|
|
297
299
|
|
|
298
300
|
// Enforce valid titles
|
|
299
301
|
// https://oxc.rs/docs/guide/usage/linter/rules/vitest/valid-title.html
|
|
300
|
-
//
|
|
302
|
+
// Decision: `allowArguments` avoids conflict with `prefer-describe-function-title` rule, which is enabled
|
|
301
303
|
'vitest/valid-title': ['error', { allowArguments: true }],
|
|
302
304
|
|
|
303
305
|
//rules via jsPlugins (@vitest/eslint-plugin + no-only-tests)
|
|
@@ -308,22 +310,22 @@ export const vitestRules = {
|
|
|
308
310
|
|
|
309
311
|
// Disallow the use of certain vi methods
|
|
310
312
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-vi-methods.md
|
|
311
|
-
//
|
|
313
|
+
// Decision: handled by native vitest/no-restricted-vi-methods
|
|
312
314
|
'vitest-js/no-restricted-vi-methods': 'off',
|
|
313
315
|
|
|
314
316
|
// Prefer toHaveBeenCalledExactlyOnceWith over manual assertions
|
|
315
317
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-exactly-once-with.md
|
|
316
|
-
//
|
|
318
|
+
// Decision: handled by native vitest/prefer-called-exactly-once-with
|
|
317
319
|
'vitest-js/prefer-called-exactly-once-with': 'off',
|
|
318
320
|
|
|
319
321
|
// Prefer importing vitest globals
|
|
320
322
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-importing-vitest-globals.md
|
|
321
|
-
//
|
|
323
|
+
// Decision: handled by native vitest/prefer-importing-vitest-globals
|
|
322
324
|
'vitest-js/prefer-importing-vitest-globals': 'off',
|
|
323
325
|
|
|
324
326
|
// Prefer snapshot hint for inline/external snapshots
|
|
325
327
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-snapshot-hint.md
|
|
326
|
-
//
|
|
328
|
+
// Decision: handled by native vitest/prefer-snapshot-hint
|
|
327
329
|
'vitest-js/prefer-snapshot-hint': 'off',
|
|
328
330
|
|
|
329
331
|
// Enforce padding around afterAll blocks
|
|
@@ -352,72 +354,72 @@ export const vitestRules = {
|
|
|
352
354
|
|
|
353
355
|
// Enforce consistent usage of each with for...of
|
|
354
356
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-each-for.md
|
|
355
|
-
//
|
|
357
|
+
// Decision: handled by native vitest/consistent-each-for
|
|
356
358
|
'vitest-js/consistent-each-for': 'off',
|
|
357
359
|
|
|
358
360
|
// Require .test test file pattern
|
|
359
361
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
|
|
360
|
-
//
|
|
362
|
+
// Decision: handled by native vitest/consistent-test-filename
|
|
361
363
|
'vitest-js/consistent-test-filename': 'off',
|
|
362
364
|
|
|
363
365
|
// Prefer test or it but not both
|
|
364
366
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-it.md
|
|
365
|
-
//
|
|
367
|
+
// Decision: handled by native vitest/consistent-test-it
|
|
366
368
|
'vitest-js/consistent-test-it': 'off',
|
|
367
369
|
|
|
368
370
|
// Enforce consistent usage of vi vs vitest
|
|
369
371
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-vitest-vi.md
|
|
370
|
-
//
|
|
372
|
+
// Decision: handled by native vitest/consistent-vitest-vi
|
|
371
373
|
'vitest-js/consistent-vitest-vi': 'off',
|
|
372
374
|
|
|
373
375
|
// Enforce having expectation in test body
|
|
374
376
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
|
|
375
|
-
//
|
|
377
|
+
// Decision: handled by native vitest/expect-expect
|
|
376
378
|
'vitest-js/expect-expect': 'off',
|
|
377
379
|
|
|
378
380
|
// Ensure hoisted APIs (vi.mock, vi.hoisted, etc.) are at the top
|
|
379
381
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/hoisted-apis-on-top.md
|
|
380
|
-
//
|
|
382
|
+
// Decision: handled by native vitest/hoisted-apis-on-top
|
|
381
383
|
'vitest-js/hoisted-apis-on-top': 'off',
|
|
382
384
|
|
|
383
385
|
// Enforce a maximum number of expect per test
|
|
384
386
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-expects.md
|
|
385
|
-
//
|
|
387
|
+
// Decision: handled by native vitest/max-expects
|
|
386
388
|
'vitest-js/max-expects': 'off',
|
|
387
389
|
|
|
388
390
|
// Nested describe block should be less than set max value or default value
|
|
389
391
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-nested-describe.md
|
|
390
|
-
//
|
|
392
|
+
// Decision: handled by native vitest/max-nested-describe
|
|
391
393
|
'vitest-js/max-nested-describe': 'off',
|
|
392
394
|
|
|
393
395
|
// Disallow alias methods
|
|
394
396
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-alias-methods.md
|
|
395
|
-
//
|
|
397
|
+
// Decision: handled by native vitest/no-alias-methods
|
|
396
398
|
'vitest-js/no-alias-methods': 'off',
|
|
397
399
|
|
|
398
400
|
// Disallow commented out tests
|
|
399
401
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-commented-out-tests.md
|
|
400
|
-
//
|
|
402
|
+
// Decision: handled by native vitest/no-commented-out-tests
|
|
401
403
|
'vitest-js/no-commented-out-tests': 'off',
|
|
402
404
|
|
|
403
405
|
// Disallow conditional expects
|
|
404
406
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md
|
|
405
|
-
//
|
|
407
|
+
// Decision: handled by native vitest/no-conditional-expect
|
|
406
408
|
'vitest-js/no-conditional-expect': 'off',
|
|
407
409
|
|
|
408
410
|
// Disallow conditional tests
|
|
409
411
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-in-test.md
|
|
410
|
-
//
|
|
412
|
+
// Decision: handled by native vitest/no-conditional-in-test
|
|
411
413
|
'vitest-js/no-conditional-in-test': 'off',
|
|
412
414
|
|
|
413
415
|
// Disallow conditional tests
|
|
414
416
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-tests.md
|
|
415
|
-
//
|
|
417
|
+
// Decision: handled by native vitest/no-conditional-tests
|
|
416
418
|
'vitest-js/no-conditional-tests': 'off',
|
|
417
419
|
|
|
418
420
|
// Disallow disabled tests
|
|
419
421
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-disabled-tests.md
|
|
420
|
-
//
|
|
422
|
+
// Decision: handled by native vitest/no-disabled-tests
|
|
421
423
|
'vitest-js/no-disabled-tests': 'off',
|
|
422
424
|
|
|
423
425
|
// Disallow done callbacks in tests
|
|
@@ -426,212 +428,212 @@ export const vitestRules = {
|
|
|
426
428
|
|
|
427
429
|
// Disallow duplicate hooks and teardown hooks
|
|
428
430
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-duplicate-hooks.md
|
|
429
|
-
//
|
|
431
|
+
// Decision: handled by native vitest/no-duplicate-hooks
|
|
430
432
|
'vitest-js/no-duplicate-hooks': 'off',
|
|
431
433
|
|
|
432
434
|
// Disallow focused tests
|
|
433
435
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-focused-tests.md
|
|
434
|
-
//
|
|
436
|
+
// Decision: handled by native vitest/no-focused-tests
|
|
435
437
|
'vitest-js/no-focused-tests': 'off',
|
|
436
438
|
|
|
437
439
|
// Disallow setup and teardown hooks
|
|
438
440
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-hooks.md
|
|
439
|
-
//
|
|
441
|
+
// Decision: handled by native vitest/no-hooks
|
|
440
442
|
'vitest-js/no-hooks': 'off',
|
|
441
443
|
|
|
442
444
|
// Disallow identical titles
|
|
443
445
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-identical-title.md
|
|
444
|
-
//
|
|
446
|
+
// Decision: handled by native vitest/no-identical-title
|
|
445
447
|
'vitest-js/no-identical-title': 'off',
|
|
446
448
|
|
|
447
449
|
// Disallow importing node:test
|
|
448
450
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-import-node-test.md
|
|
449
|
-
//
|
|
451
|
+
// Decision: handled by native vitest/no-import-node-test
|
|
450
452
|
'vitest-js/no-import-node-test': 'off',
|
|
451
453
|
|
|
452
454
|
// Disallow importing vitest globals
|
|
453
455
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-importing-vitest-globals.md
|
|
454
|
-
//
|
|
456
|
+
// Decision: handled by native vitest/no-importing-vitest-globals
|
|
455
457
|
'vitest-js/no-importing-vitest-globals': 'off',
|
|
456
458
|
|
|
457
459
|
// Disallow string interpolation in snapshots
|
|
458
460
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-interpolation-in-snapshots.md
|
|
459
|
-
//
|
|
461
|
+
// Decision: handled by native vitest/no-interpolation-in-snapshots
|
|
460
462
|
'vitest-js/no-interpolation-in-snapshots': 'off',
|
|
461
463
|
|
|
462
464
|
// Disallow large snapshots
|
|
463
465
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-large-snapshots.md
|
|
464
|
-
//
|
|
466
|
+
// Decision: handled by native vitest/no-large-snapshots
|
|
465
467
|
'vitest-js/no-large-snapshots': 'off',
|
|
466
468
|
|
|
467
469
|
// Disallow importing from mocks directory
|
|
468
470
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-mocks-import.md
|
|
469
|
-
//
|
|
471
|
+
// Decision: handled by native vitest/no-mocks-import
|
|
470
472
|
'vitest-js/no-mocks-import': 'off',
|
|
471
473
|
|
|
472
474
|
// Disallow the use of certain matchers
|
|
473
475
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-matchers.md
|
|
474
|
-
//
|
|
476
|
+
// Decision: handled by native vitest/no-restricted-matchers
|
|
475
477
|
'vitest-js/no-restricted-matchers': 'off',
|
|
476
478
|
|
|
477
479
|
// Disallow using expect outside of it or test blocks
|
|
478
480
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-standalone-expect.md
|
|
479
|
-
//
|
|
481
|
+
// Decision: handled by native vitest/no-standalone-expect
|
|
480
482
|
'vitest-js/no-standalone-expect': 'off',
|
|
481
483
|
|
|
482
484
|
// Disallow using test as a prefix
|
|
483
485
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-prefixes.md
|
|
484
|
-
//
|
|
486
|
+
// Decision: handled by native vitest/no-test-prefixes
|
|
485
487
|
'vitest-js/no-test-prefixes': 'off',
|
|
486
488
|
|
|
487
489
|
// Disallow return statements in tests
|
|
488
490
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-return-statement.md
|
|
489
|
-
//
|
|
491
|
+
// Decision: handled by native vitest/no-test-return-statement
|
|
490
492
|
'vitest-js/no-test-return-statement': 'off',
|
|
491
493
|
|
|
492
494
|
// Disallow unnecessary async in expect functions
|
|
493
495
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-unneeded-async-expect-function.md
|
|
494
|
-
//
|
|
496
|
+
// Decision: handled by native vitest/no-unneeded-async-expect-function
|
|
495
497
|
'vitest-js/no-unneeded-async-expect-function': 'off',
|
|
496
498
|
|
|
497
499
|
// Enforce padding around all blocks
|
|
498
500
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-all.md
|
|
499
|
-
//
|
|
501
|
+
// Decision: redundant with individual padding rules configured above
|
|
500
502
|
'vitest-js/padding-around-all': 'off',
|
|
501
503
|
|
|
502
504
|
// Enforce padding around test blocks
|
|
503
505
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-test-blocks.md
|
|
504
|
-
//
|
|
506
|
+
// Decision: handled by native vitest/padding-around-test-blocks
|
|
505
507
|
'vitest-js/padding-around-test-blocks': 'off',
|
|
506
508
|
|
|
507
509
|
// Prefer toHaveBeenCalledOnce() over toHaveBeenCalledTimes(1)
|
|
508
510
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-once.md
|
|
509
|
-
//
|
|
511
|
+
// Decision: handled by native vitest/prefer-called-once
|
|
510
512
|
'vitest-js/prefer-called-once': 'off',
|
|
511
513
|
|
|
512
514
|
// Prefer toHaveBeenCalledTimes over multiple assertions
|
|
513
515
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-times.md
|
|
514
|
-
//
|
|
516
|
+
// Decision: handled by native vitest/prefer-called-times
|
|
515
517
|
'vitest-js/prefer-called-times': 'off',
|
|
516
518
|
|
|
517
519
|
// Suggest using toBeCalledWith() or toHaveBeenCalledWith()
|
|
518
520
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-with.md
|
|
519
|
-
//
|
|
521
|
+
// Decision: handled by native vitest/prefer-called-with
|
|
520
522
|
'vitest-js/prefer-called-with': 'off',
|
|
521
523
|
|
|
522
524
|
// Suggest using the built-in comparison matchers
|
|
523
525
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-comparison-matcher.md
|
|
524
|
-
//
|
|
526
|
+
// Decision: handled by native vitest/prefer-comparison-matcher
|
|
525
527
|
'vitest-js/prefer-comparison-matcher': 'off',
|
|
526
528
|
|
|
527
529
|
// Enforce describe titles to match function names
|
|
528
530
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-describe-function-title.md
|
|
529
|
-
//
|
|
531
|
+
// Decision: handled by native vitest/prefer-describe-function-title
|
|
530
532
|
'vitest-js/prefer-describe-function-title': 'off',
|
|
531
533
|
|
|
532
534
|
// Prefer each rather than manual loops
|
|
533
535
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-each.md
|
|
534
|
-
//
|
|
536
|
+
// Decision: handled by native vitest/prefer-each
|
|
535
537
|
'vitest-js/prefer-each': 'off',
|
|
536
538
|
|
|
537
539
|
// Suggest using the built-in equality matchers
|
|
538
540
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-equality-matcher.md
|
|
539
|
-
//
|
|
541
|
+
// Decision: handled by native vitest/prefer-equality-matcher
|
|
540
542
|
'vitest-js/prefer-equality-matcher': 'off',
|
|
541
543
|
|
|
542
544
|
// Suggest using expect.assertions
|
|
543
545
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-assertions.md
|
|
544
|
-
//
|
|
546
|
+
// Decision: too strict for general use
|
|
545
547
|
'vitest-js/prefer-expect-assertions': 'off',
|
|
546
548
|
|
|
547
549
|
// Suggest using expect().resolves over expect(await ...) syntax
|
|
548
550
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-resolves.md
|
|
549
|
-
//
|
|
551
|
+
// Decision: handled by native vitest/prefer-expect-resolves
|
|
550
552
|
'vitest-js/prefer-expect-resolves': 'off',
|
|
551
553
|
|
|
552
554
|
// Prefer expect.typeOf() usage
|
|
553
555
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-type-of.md
|
|
554
|
-
//
|
|
556
|
+
// Decision: handled by native vitest/prefer-expect-type-of
|
|
555
557
|
'vitest-js/prefer-expect-type-of': 'off',
|
|
556
558
|
|
|
557
559
|
// Prefer having hooks in consistent order
|
|
558
560
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-in-order.md
|
|
559
|
-
//
|
|
561
|
+
// Decision: handled by native vitest/prefer-hooks-in-order
|
|
560
562
|
'vitest-js/prefer-hooks-in-order': 'off',
|
|
561
563
|
|
|
562
564
|
// Suggest having hooks before any test cases
|
|
563
565
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-on-top.md
|
|
564
|
-
//
|
|
566
|
+
// Decision: handled by native vitest/prefer-hooks-on-top
|
|
565
567
|
'vitest-js/prefer-hooks-on-top': 'off',
|
|
566
568
|
|
|
567
569
|
// Prefer vi.importActual/vi.importMock in vi.mock factories
|
|
568
570
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-import-in-mock.md
|
|
569
|
-
//
|
|
571
|
+
// Decision: handled by native vitest/prefer-import-in-mock
|
|
570
572
|
'vitest-js/prefer-import-in-mock': 'off',
|
|
571
573
|
|
|
572
574
|
// Enforce lowercase titles
|
|
573
575
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-lowercase-title.md
|
|
574
|
-
//
|
|
576
|
+
// Decision: handled by native vitest/prefer-lowercase-title
|
|
575
577
|
'vitest-js/prefer-lowercase-title': 'off',
|
|
576
578
|
|
|
577
579
|
// Prefer mock resolved/rejected shorthands for promises
|
|
578
580
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-mock-promise-shorthand.md
|
|
579
|
-
//
|
|
581
|
+
// Decision: handled by native vitest/prefer-mock-promise-shorthand
|
|
580
582
|
'vitest-js/prefer-mock-promise-shorthand': 'off',
|
|
581
583
|
|
|
582
584
|
// Suggest using vi.spyOn
|
|
583
585
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-spy-on.md
|
|
584
|
-
//
|
|
586
|
+
// Decision: handled by native vitest/prefer-spy-on
|
|
585
587
|
'vitest-js/prefer-spy-on': 'off',
|
|
586
588
|
|
|
587
589
|
// Prefer strict boolean matchers (toBe(true) over toBeTruthy())
|
|
588
590
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-strict-boolean-matchers.md
|
|
589
|
-
//
|
|
591
|
+
// Decision: handled by native vitest/prefer-strict-boolean-matchers
|
|
590
592
|
'vitest-js/prefer-strict-boolean-matchers': 'off',
|
|
591
593
|
|
|
592
594
|
// Prefer strict equal over equal
|
|
593
595
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-strict-equal.md
|
|
594
|
-
//
|
|
596
|
+
// Decision: handled by native vitest/prefer-strict-equal
|
|
595
597
|
'vitest-js/prefer-strict-equal': 'off',
|
|
596
598
|
|
|
597
599
|
// Suggest using toBe()
|
|
598
600
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be.md
|
|
599
|
-
//
|
|
601
|
+
// Decision: handled by native vitest/prefer-to-be
|
|
600
602
|
'vitest-js/prefer-to-be': 'off',
|
|
601
603
|
|
|
602
604
|
// Suggest using toBeFalsy()
|
|
603
605
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-falsy.md
|
|
604
|
-
//
|
|
606
|
+
// Decision: handled by native vitest/prefer-to-be-falsy
|
|
605
607
|
'vitest-js/prefer-to-be-falsy': 'off',
|
|
606
608
|
|
|
607
609
|
// Prefer toBeObject()
|
|
608
610
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-object.md
|
|
609
|
-
//
|
|
611
|
+
// Decision: handled by native vitest/prefer-to-be-object
|
|
610
612
|
'vitest-js/prefer-to-be-object': 'off',
|
|
611
613
|
|
|
612
614
|
// Suggest using toBeTruthy
|
|
613
615
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-truthy.md
|
|
614
|
-
//
|
|
616
|
+
// Decision: handled by native vitest/prefer-to-be-truthy
|
|
615
617
|
'vitest-js/prefer-to-be-truthy': 'off',
|
|
616
618
|
|
|
617
619
|
// Prefer using toContain()
|
|
618
620
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-contain.md
|
|
619
|
-
//
|
|
621
|
+
// Decision: handled by native vitest/prefer-to-contain
|
|
620
622
|
'vitest-js/prefer-to-contain': 'off',
|
|
621
623
|
|
|
622
624
|
// Prefer toHaveBeenCalledTimes over multiple assertions
|
|
623
625
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-have-been-called-times.md
|
|
624
|
-
//
|
|
626
|
+
// Decision: handled by native vitest/prefer-called-times
|
|
625
627
|
'vitest-js/prefer-to-have-been-called-times': 'off',
|
|
626
628
|
|
|
627
629
|
// Suggest using toHaveLength()
|
|
628
630
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-have-length.md
|
|
629
|
-
//
|
|
631
|
+
// Decision: handled by native vitest/prefer-to-have-length
|
|
630
632
|
'vitest-js/prefer-to-have-length': 'off',
|
|
631
633
|
|
|
632
634
|
// Suggest using test.todo
|
|
633
635
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-todo.md
|
|
634
|
-
//
|
|
636
|
+
// Decision: handled by native vitest/prefer-todo
|
|
635
637
|
'vitest-js/prefer-todo': 'off',
|
|
636
638
|
|
|
637
639
|
// Prefer vi.mocked() over type casting
|
|
@@ -640,62 +642,62 @@ export const vitestRules = {
|
|
|
640
642
|
|
|
641
643
|
// Require awaited expect.poll() calls
|
|
642
644
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-awaited-expect-poll.md
|
|
643
|
-
//
|
|
645
|
+
// Decision: handled by native vitest/require-awaited-expect-poll
|
|
644
646
|
'vitest-js/require-awaited-expect-poll': 'off',
|
|
645
647
|
|
|
646
648
|
// Require setup and teardown to be within a hook
|
|
647
649
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-hook.md
|
|
648
|
-
//
|
|
650
|
+
// Decision: handled by native vitest/require-hook
|
|
649
651
|
'vitest-js/require-hook': 'off',
|
|
650
652
|
|
|
651
653
|
// Require local Test Context for concurrent snapshot tests
|
|
652
654
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-local-test-context-for-concurrent-snapshots.md
|
|
653
|
-
//
|
|
655
|
+
// Decision: handled by native vitest/require-local-test-context-for-concurrent-snapshots
|
|
654
656
|
'vitest-js/require-local-test-context-for-concurrent-snapshots': 'off',
|
|
655
657
|
|
|
656
658
|
// Require type parameters on mock function calls
|
|
657
659
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-mock-type-parameters.md
|
|
658
|
-
//
|
|
660
|
+
// Decision: handled by native vitest/require-mock-type-parameters
|
|
659
661
|
'vitest-js/require-mock-type-parameters': 'off',
|
|
660
662
|
|
|
661
663
|
// Require test timeout
|
|
662
664
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-test-timeout.md
|
|
663
|
-
//
|
|
665
|
+
// Decision: too strict for general use
|
|
664
666
|
'vitest-js/require-test-timeout': 'off',
|
|
665
667
|
|
|
666
668
|
// Require toThrow() to be called with an error message
|
|
667
669
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-to-throw-message.md
|
|
668
|
-
//
|
|
670
|
+
// Decision: handled by native vitest/require-to-throw-message
|
|
669
671
|
'vitest-js/require-to-throw-message': 'off',
|
|
670
672
|
|
|
671
673
|
// Enforce that all tests are in a top-level describe
|
|
672
674
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-top-level-describe.md
|
|
673
|
-
//
|
|
675
|
+
// Decision: handled by native vitest/require-top-level-describe
|
|
674
676
|
'vitest-js/require-top-level-describe': 'off',
|
|
675
677
|
|
|
676
678
|
// Enforce unbound methods are called with their expected scope
|
|
677
679
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/unbound-method.md
|
|
678
|
-
//
|
|
680
|
+
// Decision: requires type information that jsPlugins may not have access to
|
|
679
681
|
'vitest-js/unbound-method': 'off',
|
|
680
682
|
|
|
681
683
|
// Enforce valid describe callback
|
|
682
684
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-describe-callback.md
|
|
683
|
-
//
|
|
685
|
+
// Decision: handled by native vitest/valid-describe-callback
|
|
684
686
|
'vitest-js/valid-describe-callback': 'off',
|
|
685
687
|
|
|
686
688
|
// Enforce valid expect() usage
|
|
687
689
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-expect.md
|
|
688
|
-
//
|
|
690
|
+
// Decision: handled by native vitest/valid-expect
|
|
689
691
|
'vitest-js/valid-expect': 'off',
|
|
690
692
|
|
|
691
693
|
// Enforce valid expect in promise
|
|
692
694
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-expect-in-promise.md
|
|
693
|
-
//
|
|
695
|
+
// Decision: too strict for general use
|
|
694
696
|
'vitest-js/valid-expect-in-promise': 'off',
|
|
695
697
|
|
|
696
698
|
// Enforce valid titles
|
|
697
699
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-title.md
|
|
698
|
-
//
|
|
700
|
+
// Decision: handled by native vitest/valid-title
|
|
699
701
|
'vitest-js/valid-title': 'off',
|
|
700
702
|
},
|
|
701
703
|
};
|