@wistia/oxlint-config 0.7.4 → 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.
@@ -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
- // decision: prefer type to interface for consistency
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
- // decision: disabled because it conflicts with `no-non-null-assertion` — this rule's autofix
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
 
@@ -444,34 +447,42 @@ export const typescriptRules = {
444
447
 
445
448
  // Disallow certain types (deprecated rule)
446
449
  // https://oxc.rs/docs/guide/usage/linter/rules/typescript/ban-types.html
450
+ // Decision: deprecated rule
447
451
  'typescript/ban-types': 'off',
448
452
 
449
453
  // Require explicit return types on functions and class methods
450
454
  // https://oxc.rs/docs/guide/usage/linter/rules/typescript/explicit-function-return-type.html
455
+ // Decision: too opinionated for general use
451
456
  'typescript/explicit-function-return-type': 'off',
452
457
 
453
458
  // Require explicit accessibility modifiers on class properties and methods
454
459
  // https://oxc.rs/docs/guide/usage/linter/rules/typescript/explicit-member-accessibility.html
460
+ // Decision: too opinionated for general use
455
461
  'typescript/explicit-member-accessibility': 'off',
456
462
 
457
463
  // Disallow empty interfaces (deprecated rule)
458
464
  // https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-empty-interface.html
465
+ // Decision: deprecated rule
459
466
  'typescript/no-empty-interface': 'off',
460
467
 
461
468
  // Disallow require statements except in import statements (deprecated rule)
462
469
  // https://oxc.rs/docs/guide/usage/linter/rules/typescript/no-var-requires.html
470
+ // Decision: deprecated rule
463
471
  'typescript/no-var-requires': 'off',
464
472
 
465
473
  // Require function parameters to be typed as readonly
466
474
  // https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-readonly-parameter-types.html
475
+ // Decision: too opinionated for general use
467
476
  'typescript/prefer-readonly-parameter-types': 'off',
468
477
 
469
478
  // Enforce using @ts-expect-error over @ts-ignore (deprecated rule)
470
479
  // https://oxc.rs/docs/guide/usage/linter/rules/typescript/prefer-ts-expect-error.html
480
+ // Decision: deprecated rule
471
481
  'typescript/prefer-ts-expect-error': 'off',
472
482
 
473
483
  // Enforce void return type for functions that don't return a value
474
484
  // https://oxc.rs/docs/guide/usage/linter/rules/typescript/strict-void-return.html
485
+ // Decision: too opinionated for general use
475
486
  'typescript/strict-void-return': 'off',
476
487
  },
477
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
- // decision: conflicts with prefer-called-times (vitest plugin), which is enabled
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
- // decision: potentially helpful but causes too many type errors
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
- // decision: not necessary to be prescriptive here
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
- // decision: not necessary to be prescriptive here
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
- // decision: prefer-importing-vitest-globals is already enabled, which serves opposite purpose
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
- // decision: too strict for general use, matching vitest-js/prefer-expect-assertions
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
- // decision: too strict for general use, matching vitest-js/require-test-timeout
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
- // decision: too strict for general use, matching vitest-js/valid-expect-in-promise
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
- // decision: it is often useful to be allowed to add a .skip
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
- // decision: `allowArguments` avoids conflict with `prefer-describe-function-title` rule, which is enabled
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
- // decision: handled by native vitest/no-restricted-vi-methods
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
- // decision: handled by native vitest/prefer-called-exactly-once-with
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
- // decision: handled by native vitest/prefer-importing-vitest-globals
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
- // decision: handled by native vitest/prefer-snapshot-hint
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
- // decision: handled by native vitest/consistent-each-for
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
- // decision: handled by native vitest/consistent-test-filename
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
- // decision: handled by native vitest/consistent-test-it
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
- // decision: handled by native vitest/consistent-vitest-vi
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
- // decision: handled by native vitest/expect-expect
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
- // decision: handled by native vitest/hoisted-apis-on-top
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
- // decision: handled by native vitest/max-expects
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
- // decision: handled by native vitest/max-nested-describe
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
- // decision: handled by native vitest/no-alias-methods
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
- // decision: handled by native vitest/no-commented-out-tests
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
- // decision: handled by native vitest/no-conditional-expect
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
- // decision: handled by native vitest/no-conditional-in-test
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
- // decision: handled by native vitest/no-conditional-tests
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
- // decision: handled by native vitest/no-disabled-tests
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
- // decision: handled by native vitest/no-duplicate-hooks
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
- // decision: handled by native vitest/no-focused-tests
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
- // decision: handled by native vitest/no-hooks
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
- // decision: handled by native vitest/no-identical-title
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
- // decision: handled by native vitest/no-import-node-test
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
- // decision: handled by native vitest/no-importing-vitest-globals
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
- // decision: handled by native vitest/no-interpolation-in-snapshots
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
- // decision: handled by native vitest/no-large-snapshots
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
- // decision: handled by native vitest/no-mocks-import
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
- // decision: handled by native vitest/no-restricted-matchers
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
- // decision: handled by native vitest/no-standalone-expect
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
- // decision: handled by native vitest/no-test-prefixes
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
- // decision: handled by native vitest/no-test-return-statement
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
- // decision: handled by native vitest/no-unneeded-async-expect-function
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
- // decision: redundant with individual padding rules configured above
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
- // decision: handled by native vitest/padding-around-test-blocks
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
- // decision: handled by native vitest/prefer-called-once
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
- // decision: handled by native vitest/prefer-called-times
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
- // decision: handled by native vitest/prefer-called-with
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
- // decision: handled by native vitest/prefer-comparison-matcher
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
- // decision: handled by native vitest/prefer-describe-function-title
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
- // decision: handled by native vitest/prefer-each
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
- // decision: handled by native vitest/prefer-equality-matcher
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
- // decision: too strict for general use
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
- // decision: handled by native vitest/prefer-expect-resolves
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
- // decision: handled by native vitest/prefer-expect-type-of
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
- // decision: handled by native vitest/prefer-hooks-in-order
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
- // decision: handled by native vitest/prefer-hooks-on-top
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
- // decision: handled by native vitest/prefer-import-in-mock
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
- // decision: handled by native vitest/prefer-lowercase-title
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
- // decision: handled by native vitest/prefer-mock-promise-shorthand
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
- // decision: handled by native vitest/prefer-spy-on
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
- // decision: handled by native vitest/prefer-strict-boolean-matchers
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
- // decision: handled by native vitest/prefer-strict-equal
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
- // decision: handled by native vitest/prefer-to-be
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
- // decision: handled by native vitest/prefer-to-be-falsy
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
- // decision: handled by native vitest/prefer-to-be-object
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
- // decision: handled by native vitest/prefer-to-be-truthy
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
- // decision: handled by native vitest/prefer-to-contain
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
- // decision: handled by native vitest/prefer-called-times
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
- // decision: handled by native vitest/prefer-to-have-length
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
- // decision: handled by native vitest/prefer-todo
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
- // decision: handled by native vitest/require-awaited-expect-poll
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
- // decision: handled by native vitest/require-hook
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
- // decision: handled by native vitest/require-local-test-context-for-concurrent-snapshots
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
- // decision: handled by native vitest/require-mock-type-parameters
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
- // decision: too strict for general use
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
- // decision: handled by native vitest/require-to-throw-message
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
- // decision: handled by native vitest/require-top-level-describe
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
- // decision: requires type information that jsPlugins may not have access to
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
- // decision: handled by native vitest/valid-describe-callback
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
- // decision: handled by native vitest/valid-expect
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
- // decision: too strict for general use
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
- // decision: handled by native vitest/valid-title
700
+ // Decision: handled by native vitest/valid-title
699
701
  'vitest-js/valid-title': 'off',
700
702
  },
701
703
  };