@ntnyq/eslint-config 3.2.1 → 3.2.2
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.cjs +75 -18
- package/dist/index.d.cts +422 -1
- package/dist/index.d.ts +422 -1
- package/dist/index.js +75 -18
- package/package.json +8 -3
package/dist/index.cjs
CHANGED
|
@@ -443,29 +443,76 @@ var extensionRules = {
|
|
|
443
443
|
]
|
|
444
444
|
};
|
|
445
445
|
var unCategorizedRules = {
|
|
446
|
+
"vue/no-v-text": "error",
|
|
446
447
|
"vue/no-useless-v-bind": "error",
|
|
447
448
|
"vue/valid-define-options": "error",
|
|
448
449
|
"vue/prefer-define-options": "error",
|
|
450
|
+
"vue/prefer-use-template-ref": "error",
|
|
449
451
|
"vue/no-irregular-whitespace": "error",
|
|
450
452
|
"vue/no-use-v-else-with-v-for": "error",
|
|
451
453
|
"vue/no-deprecated-delete-set": "error",
|
|
454
|
+
"vue/no-empty-component-block": "error",
|
|
452
455
|
"vue/require-typed-object-prop": "error",
|
|
453
456
|
"vue/no-unused-emit-declarations": "error",
|
|
454
457
|
"vue/padding-line-between-blocks": "error",
|
|
455
|
-
"vue/no-
|
|
458
|
+
"vue/no-multiple-objects-in-class": "error",
|
|
456
459
|
"vue/prefer-separate-static-class": "error",
|
|
460
|
+
"vue/no-ref-object-reactivity-loss": "error",
|
|
461
|
+
"vue/no-duplicate-attr-inheritance": "error",
|
|
462
|
+
"vue/prefer-prop-type-boolean-first": "error",
|
|
463
|
+
"vue/html-comment-indent": ["error", 2],
|
|
457
464
|
"vue/next-tick-style": ["error", "promise"],
|
|
465
|
+
"vue/v-for-delimiter-style": ["error", "in"],
|
|
458
466
|
"vue/no-restricted-v-bind": ["error", "/^v-/"],
|
|
459
467
|
"vue/custom-event-name-casing": ["error", "camelCase"],
|
|
468
|
+
"vue/define-props-declaration": ["error", "type-based"],
|
|
460
469
|
"vue/define-emits-declaration": ["error", "type-literal"],
|
|
461
470
|
"vue/prefer-true-attribute-shorthand": ["error", "always"],
|
|
462
471
|
"vue/component-options-name-casing": ["error", "PascalCase"],
|
|
472
|
+
"vue/component-api-style": ["error", ["script-setup", "composition"]],
|
|
473
|
+
"vue/html-button-has-type": [
|
|
474
|
+
"error",
|
|
475
|
+
{
|
|
476
|
+
button: true,
|
|
477
|
+
submit: true,
|
|
478
|
+
reset: true
|
|
479
|
+
}
|
|
480
|
+
],
|
|
463
481
|
"vue/block-order": [
|
|
464
482
|
"error",
|
|
465
483
|
{
|
|
466
484
|
order: ["script", "template", "style"]
|
|
467
485
|
}
|
|
468
486
|
],
|
|
487
|
+
"vue/enforce-style-attribute": [
|
|
488
|
+
"error",
|
|
489
|
+
{
|
|
490
|
+
allow: ["scoped", "plain"]
|
|
491
|
+
}
|
|
492
|
+
],
|
|
493
|
+
"vue/block-tag-newline": [
|
|
494
|
+
"error",
|
|
495
|
+
{
|
|
496
|
+
singleline: "always",
|
|
497
|
+
multiline: "always"
|
|
498
|
+
}
|
|
499
|
+
],
|
|
500
|
+
"vue/no-required-prop-with-default": [
|
|
501
|
+
"error",
|
|
502
|
+
{
|
|
503
|
+
autofix: true
|
|
504
|
+
}
|
|
505
|
+
],
|
|
506
|
+
"vue/html-comment-content-newline": [
|
|
507
|
+
"error",
|
|
508
|
+
{
|
|
509
|
+
singleline: "ignore",
|
|
510
|
+
multiline: "always"
|
|
511
|
+
},
|
|
512
|
+
{
|
|
513
|
+
exceptions: ["*"]
|
|
514
|
+
}
|
|
515
|
+
],
|
|
469
516
|
"vue/no-static-inline-styles": [
|
|
470
517
|
"error",
|
|
471
518
|
{
|
|
@@ -500,6 +547,16 @@ var unCategorizedRules = {
|
|
|
500
547
|
{
|
|
501
548
|
exceptions: ["-"]
|
|
502
549
|
}
|
|
550
|
+
],
|
|
551
|
+
"vue/require-macro-variable-name": [
|
|
552
|
+
"error",
|
|
553
|
+
{
|
|
554
|
+
defineProps: "props",
|
|
555
|
+
defineEmits: "emits",
|
|
556
|
+
defineSlots: "slots",
|
|
557
|
+
useSlots: "slots",
|
|
558
|
+
useAttrs: "attrs"
|
|
559
|
+
}
|
|
503
560
|
]
|
|
504
561
|
};
|
|
505
562
|
var vue = (options = {}) => {
|
|
@@ -543,13 +600,6 @@ var vue = (options = {}) => {
|
|
|
543
600
|
math: "always"
|
|
544
601
|
}
|
|
545
602
|
],
|
|
546
|
-
"vue/block-tag-newline": [
|
|
547
|
-
"error",
|
|
548
|
-
{
|
|
549
|
-
singleline: "always",
|
|
550
|
-
multiline: "always"
|
|
551
|
-
}
|
|
552
|
-
],
|
|
553
603
|
"vue/this-in-template": ["error", "never"],
|
|
554
604
|
"vue/prop-name-casing": ["error", "camelCase"],
|
|
555
605
|
"vue/attributes-order": [
|
|
@@ -1259,6 +1309,16 @@ var imports = (options = {}) => [
|
|
|
1259
1309
|
];
|
|
1260
1310
|
|
|
1261
1311
|
// src/configs/unicorn.ts
|
|
1312
|
+
var disabledRules2 = {
|
|
1313
|
+
"unicorn/better-regex": "off",
|
|
1314
|
+
"unicorn/prefer-top-level-await": "off",
|
|
1315
|
+
"unicorn/explicit-length-check": "off",
|
|
1316
|
+
"unicorn/no-array-callback-reference": "off",
|
|
1317
|
+
/**
|
|
1318
|
+
* @see https://caniuse.com/?search=globalThis
|
|
1319
|
+
*/
|
|
1320
|
+
"unicorn/prefer-global-this": "off"
|
|
1321
|
+
};
|
|
1262
1322
|
var unicorn = (options = {}) => [
|
|
1263
1323
|
{
|
|
1264
1324
|
name: "ntnyq/unicorn",
|
|
@@ -1266,15 +1326,6 @@ var unicorn = (options = {}) => [
|
|
|
1266
1326
|
unicorn: import_eslint_plugin_unicorn.default
|
|
1267
1327
|
},
|
|
1268
1328
|
rules: {
|
|
1269
|
-
// Disabled for now
|
|
1270
|
-
"unicorn/better-regex": "off",
|
|
1271
|
-
"unicorn/prefer-top-level-await": "off",
|
|
1272
|
-
"unicorn/explicit-length-check": "off",
|
|
1273
|
-
"unicorn/no-array-callback-reference": "off",
|
|
1274
|
-
/**
|
|
1275
|
-
* @see https://caniuse.com/?search=globalThis
|
|
1276
|
-
*/
|
|
1277
|
-
"unicorn/prefer-global-this": "off",
|
|
1278
1329
|
"unicorn/error-message": "error",
|
|
1279
1330
|
"unicorn/escape-case": "error",
|
|
1280
1331
|
"unicorn/no-new-buffer": "error",
|
|
@@ -1285,7 +1336,6 @@ var unicorn = (options = {}) => [
|
|
|
1285
1336
|
"unicorn/no-unnecessary-await": "error",
|
|
1286
1337
|
"unicorn/switch-case-braces": ["error", "avoid"],
|
|
1287
1338
|
"unicorn/no-typeof-undefined": "error",
|
|
1288
|
-
"unicorn/prefer-set-size": "error",
|
|
1289
1339
|
"unicorn/prefer-regexp-test": "error",
|
|
1290
1340
|
"unicorn/no-static-only-class": "error",
|
|
1291
1341
|
"unicorn/no-zero-fractions": "error",
|
|
@@ -1305,6 +1355,7 @@ var unicorn = (options = {}) => [
|
|
|
1305
1355
|
"unicorn/prefer-prototype-methods": "error",
|
|
1306
1356
|
"unicorn/prefer-reflect-apply": "error",
|
|
1307
1357
|
"unicorn/prefer-math-min-max": "error",
|
|
1358
|
+
"unicorn/prefer-structured-clone": "error",
|
|
1308
1359
|
"unicorn/consistent-existence-index-check": "error",
|
|
1309
1360
|
"unicorn/catch-error-name": [
|
|
1310
1361
|
"error",
|
|
@@ -1315,6 +1366,7 @@ var unicorn = (options = {}) => [
|
|
|
1315
1366
|
],
|
|
1316
1367
|
"unicorn/prefer-date-now": "error",
|
|
1317
1368
|
// String
|
|
1369
|
+
"unicorn/prefer-code-point": "error",
|
|
1318
1370
|
"unicorn/prefer-string-slice": "error",
|
|
1319
1371
|
"unicorn/prefer-string-trim-start-end": "error",
|
|
1320
1372
|
"unicorn/prefer-string-starts-ends-with": "error",
|
|
@@ -1336,6 +1388,11 @@ var unicorn = (options = {}) => [
|
|
|
1336
1388
|
"unicorn/prefer-array-some": "error",
|
|
1337
1389
|
"unicorn/prefer-array-flat-map": "error",
|
|
1338
1390
|
"unicorn/prefer-array-index-of": "error",
|
|
1391
|
+
"unicorn/require-array-join-separator": "error",
|
|
1392
|
+
// Set
|
|
1393
|
+
"unicorn/prefer-set-has": "error",
|
|
1394
|
+
"unicorn/prefer-set-size": "error",
|
|
1395
|
+
...disabledRules2,
|
|
1339
1396
|
// Overrides rules
|
|
1340
1397
|
...options.overrides
|
|
1341
1398
|
}
|
package/dist/index.d.cts
CHANGED
|
@@ -4645,6 +4645,317 @@ interface RuleOptions {
|
|
|
4645
4645
|
* @see https://eslint.org/docs/latest/rules/vars-on-top
|
|
4646
4646
|
*/
|
|
4647
4647
|
'vars-on-top'?: Linter.RuleEntry<[]>;
|
|
4648
|
+
/**
|
|
4649
|
+
* require .spec test file pattern
|
|
4650
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
|
|
4651
|
+
*/
|
|
4652
|
+
'vitest/consistent-test-filename'?: Linter.RuleEntry<VitestConsistentTestFilename>;
|
|
4653
|
+
/**
|
|
4654
|
+
* enforce using test or it but not both
|
|
4655
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-it.md
|
|
4656
|
+
*/
|
|
4657
|
+
'vitest/consistent-test-it'?: Linter.RuleEntry<VitestConsistentTestIt>;
|
|
4658
|
+
/**
|
|
4659
|
+
* enforce having expectation in test body
|
|
4660
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
|
|
4661
|
+
*/
|
|
4662
|
+
'vitest/expect-expect'?: Linter.RuleEntry<VitestExpectExpect>;
|
|
4663
|
+
/**
|
|
4664
|
+
* enforce a maximum number of expect per test
|
|
4665
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-expects.md
|
|
4666
|
+
*/
|
|
4667
|
+
'vitest/max-expects'?: Linter.RuleEntry<VitestMaxExpects>;
|
|
4668
|
+
/**
|
|
4669
|
+
* require describe block to be less than set max value or default value
|
|
4670
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-nested-describe.md
|
|
4671
|
+
*/
|
|
4672
|
+
'vitest/max-nested-describe'?: Linter.RuleEntry<VitestMaxNestedDescribe>;
|
|
4673
|
+
/**
|
|
4674
|
+
* disallow alias methods
|
|
4675
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-alias-methods.md
|
|
4676
|
+
*/
|
|
4677
|
+
'vitest/no-alias-methods'?: Linter.RuleEntry<[]>;
|
|
4678
|
+
/**
|
|
4679
|
+
* disallow commented out tests
|
|
4680
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-commented-out-tests.md
|
|
4681
|
+
*/
|
|
4682
|
+
'vitest/no-commented-out-tests'?: Linter.RuleEntry<[]>;
|
|
4683
|
+
/**
|
|
4684
|
+
* disallow conditional expects
|
|
4685
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md
|
|
4686
|
+
*/
|
|
4687
|
+
'vitest/no-conditional-expect'?: Linter.RuleEntry<[]>;
|
|
4688
|
+
/**
|
|
4689
|
+
* disallow conditional tests
|
|
4690
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-in-test.md
|
|
4691
|
+
*/
|
|
4692
|
+
'vitest/no-conditional-in-test'?: Linter.RuleEntry<[]>;
|
|
4693
|
+
/**
|
|
4694
|
+
* disallow conditional tests
|
|
4695
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-tests.md
|
|
4696
|
+
*/
|
|
4697
|
+
'vitest/no-conditional-tests'?: Linter.RuleEntry<[]>;
|
|
4698
|
+
/**
|
|
4699
|
+
* disallow disabled tests
|
|
4700
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-disabled-tests.md
|
|
4701
|
+
*/
|
|
4702
|
+
'vitest/no-disabled-tests'?: Linter.RuleEntry<[]>;
|
|
4703
|
+
/**
|
|
4704
|
+
* disallow using a callback in asynchronous tests and hooks
|
|
4705
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-done-callback.md
|
|
4706
|
+
* @deprecated
|
|
4707
|
+
*/
|
|
4708
|
+
'vitest/no-done-callback'?: Linter.RuleEntry<[]>;
|
|
4709
|
+
/**
|
|
4710
|
+
* disallow duplicate hooks and teardown hooks
|
|
4711
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-duplicate-hooks.md
|
|
4712
|
+
*/
|
|
4713
|
+
'vitest/no-duplicate-hooks'?: Linter.RuleEntry<[]>;
|
|
4714
|
+
/**
|
|
4715
|
+
* disallow focused tests
|
|
4716
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-focused-tests.md
|
|
4717
|
+
*/
|
|
4718
|
+
'vitest/no-focused-tests'?: Linter.RuleEntry<VitestNoFocusedTests>;
|
|
4719
|
+
/**
|
|
4720
|
+
* disallow setup and teardown hooks
|
|
4721
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-hooks.md
|
|
4722
|
+
*/
|
|
4723
|
+
'vitest/no-hooks'?: Linter.RuleEntry<VitestNoHooks>;
|
|
4724
|
+
/**
|
|
4725
|
+
* disallow identical titles
|
|
4726
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-identical-title.md
|
|
4727
|
+
*/
|
|
4728
|
+
'vitest/no-identical-title'?: Linter.RuleEntry<[]>;
|
|
4729
|
+
/**
|
|
4730
|
+
* disallow importing `node:test`
|
|
4731
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-import-node-test.md
|
|
4732
|
+
*/
|
|
4733
|
+
'vitest/no-import-node-test'?: Linter.RuleEntry<[]>;
|
|
4734
|
+
/**
|
|
4735
|
+
* disallow string interpolation in snapshots
|
|
4736
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-interpolation-in-snapshots.md
|
|
4737
|
+
*/
|
|
4738
|
+
'vitest/no-interpolation-in-snapshots'?: Linter.RuleEntry<[]>;
|
|
4739
|
+
/**
|
|
4740
|
+
* disallow large snapshots
|
|
4741
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-large-snapshots.md
|
|
4742
|
+
*/
|
|
4743
|
+
'vitest/no-large-snapshots'?: Linter.RuleEntry<VitestNoLargeSnapshots>;
|
|
4744
|
+
/**
|
|
4745
|
+
* disallow importing from __mocks__ directory
|
|
4746
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-mocks-import.md
|
|
4747
|
+
*/
|
|
4748
|
+
'vitest/no-mocks-import'?: Linter.RuleEntry<[]>;
|
|
4749
|
+
/**
|
|
4750
|
+
* disallow the use of certain matchers
|
|
4751
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-matchers.md
|
|
4752
|
+
*/
|
|
4753
|
+
'vitest/no-restricted-matchers'?: Linter.RuleEntry<VitestNoRestrictedMatchers>;
|
|
4754
|
+
/**
|
|
4755
|
+
* disallow specific `vi.` methods
|
|
4756
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-vi-methods.md
|
|
4757
|
+
*/
|
|
4758
|
+
'vitest/no-restricted-vi-methods'?: Linter.RuleEntry<VitestNoRestrictedViMethods>;
|
|
4759
|
+
/**
|
|
4760
|
+
* disallow using `expect` outside of `it` or `test` blocks
|
|
4761
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-standalone-expect.md
|
|
4762
|
+
*/
|
|
4763
|
+
'vitest/no-standalone-expect'?: Linter.RuleEntry<VitestNoStandaloneExpect>;
|
|
4764
|
+
/**
|
|
4765
|
+
* disallow using `test` as a prefix
|
|
4766
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-prefixes.md
|
|
4767
|
+
*/
|
|
4768
|
+
'vitest/no-test-prefixes'?: Linter.RuleEntry<[]>;
|
|
4769
|
+
/**
|
|
4770
|
+
* disallow return statements in tests
|
|
4771
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-return-statement.md
|
|
4772
|
+
*/
|
|
4773
|
+
'vitest/no-test-return-statement'?: Linter.RuleEntry<[]>;
|
|
4774
|
+
/**
|
|
4775
|
+
* Enforce padding around `afterAll` blocks
|
|
4776
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-after-all-blocks.md
|
|
4777
|
+
*/
|
|
4778
|
+
'vitest/padding-around-after-all-blocks'?: Linter.RuleEntry<[]>;
|
|
4779
|
+
/**
|
|
4780
|
+
* Enforce padding around `afterEach` blocks
|
|
4781
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-after-each-blocks.md
|
|
4782
|
+
*/
|
|
4783
|
+
'vitest/padding-around-after-each-blocks'?: Linter.RuleEntry<[]>;
|
|
4784
|
+
/**
|
|
4785
|
+
* Enforce padding around vitest functions
|
|
4786
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-all.md
|
|
4787
|
+
*/
|
|
4788
|
+
'vitest/padding-around-all'?: Linter.RuleEntry<[]>;
|
|
4789
|
+
/**
|
|
4790
|
+
* Enforce padding around `beforeAll` blocks
|
|
4791
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-before-all-blocks.md
|
|
4792
|
+
*/
|
|
4793
|
+
'vitest/padding-around-before-all-blocks'?: Linter.RuleEntry<[]>;
|
|
4794
|
+
/**
|
|
4795
|
+
* Enforce padding around `beforeEach` blocks
|
|
4796
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-before-each-blocks.md
|
|
4797
|
+
*/
|
|
4798
|
+
'vitest/padding-around-before-each-blocks'?: Linter.RuleEntry<[]>;
|
|
4799
|
+
/**
|
|
4800
|
+
* Enforce padding around `describe` blocks
|
|
4801
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-describe-blocks.md
|
|
4802
|
+
*/
|
|
4803
|
+
'vitest/padding-around-describe-blocks'?: Linter.RuleEntry<[]>;
|
|
4804
|
+
/**
|
|
4805
|
+
* Enforce padding around `expect` groups
|
|
4806
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-expect-groups.md
|
|
4807
|
+
*/
|
|
4808
|
+
'vitest/padding-around-expect-groups'?: Linter.RuleEntry<[]>;
|
|
4809
|
+
/**
|
|
4810
|
+
* Enforce padding around afterAll blocks
|
|
4811
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-test-blocks.md
|
|
4812
|
+
*/
|
|
4813
|
+
'vitest/padding-around-test-blocks'?: Linter.RuleEntry<[]>;
|
|
4814
|
+
/**
|
|
4815
|
+
* enforce using `toBeCalledWith()` or `toHaveBeenCalledWith()`
|
|
4816
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-with.md
|
|
4817
|
+
*/
|
|
4818
|
+
'vitest/prefer-called-with'?: Linter.RuleEntry<[]>;
|
|
4819
|
+
/**
|
|
4820
|
+
* enforce using the built-in comparison matchers
|
|
4821
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-comparison-matcher.md
|
|
4822
|
+
*/
|
|
4823
|
+
'vitest/prefer-comparison-matcher'?: Linter.RuleEntry<[]>;
|
|
4824
|
+
/**
|
|
4825
|
+
* enforce using `each` rather than manual loops
|
|
4826
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-each.md
|
|
4827
|
+
*/
|
|
4828
|
+
'vitest/prefer-each'?: Linter.RuleEntry<[]>;
|
|
4829
|
+
/**
|
|
4830
|
+
* enforce using the built-in quality matchers
|
|
4831
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-equality-matcher.md
|
|
4832
|
+
*/
|
|
4833
|
+
'vitest/prefer-equality-matcher'?: Linter.RuleEntry<[]>;
|
|
4834
|
+
/**
|
|
4835
|
+
* enforce using expect assertions instead of callbacks
|
|
4836
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-assertions.md
|
|
4837
|
+
*/
|
|
4838
|
+
'vitest/prefer-expect-assertions'?: Linter.RuleEntry<VitestPreferExpectAssertions>;
|
|
4839
|
+
/**
|
|
4840
|
+
* enforce using `expect().resolves` over `expect(await ...)` syntax
|
|
4841
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-resolves.md
|
|
4842
|
+
*/
|
|
4843
|
+
'vitest/prefer-expect-resolves'?: Linter.RuleEntry<[]>;
|
|
4844
|
+
/**
|
|
4845
|
+
* enforce having hooks in consistent order
|
|
4846
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-in-order.md
|
|
4847
|
+
*/
|
|
4848
|
+
'vitest/prefer-hooks-in-order'?: Linter.RuleEntry<[]>;
|
|
4849
|
+
/**
|
|
4850
|
+
* enforce having hooks before any test cases
|
|
4851
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-on-top.md
|
|
4852
|
+
*/
|
|
4853
|
+
'vitest/prefer-hooks-on-top'?: Linter.RuleEntry<[]>;
|
|
4854
|
+
/**
|
|
4855
|
+
* enforce lowercase titles
|
|
4856
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-lowercase-title.md
|
|
4857
|
+
*/
|
|
4858
|
+
'vitest/prefer-lowercase-title'?: Linter.RuleEntry<VitestPreferLowercaseTitle>;
|
|
4859
|
+
/**
|
|
4860
|
+
* enforce mock resolved/rejected shorthands for promises
|
|
4861
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-mock-promise-shorthand.md
|
|
4862
|
+
*/
|
|
4863
|
+
'vitest/prefer-mock-promise-shorthand'?: Linter.RuleEntry<[]>;
|
|
4864
|
+
/**
|
|
4865
|
+
* enforce including a hint with external snapshots
|
|
4866
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-snapshot-hint.md
|
|
4867
|
+
*/
|
|
4868
|
+
'vitest/prefer-snapshot-hint'?: Linter.RuleEntry<VitestPreferSnapshotHint>;
|
|
4869
|
+
/**
|
|
4870
|
+
* enforce using `vi.spyOn`
|
|
4871
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-spy-on.md
|
|
4872
|
+
*/
|
|
4873
|
+
'vitest/prefer-spy-on'?: Linter.RuleEntry<[]>;
|
|
4874
|
+
/**
|
|
4875
|
+
* enforce strict equal over equal
|
|
4876
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-strict-equal.md
|
|
4877
|
+
*/
|
|
4878
|
+
'vitest/prefer-strict-equal'?: Linter.RuleEntry<[]>;
|
|
4879
|
+
/**
|
|
4880
|
+
* enforce using toBe()
|
|
4881
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be.md
|
|
4882
|
+
*/
|
|
4883
|
+
'vitest/prefer-to-be'?: Linter.RuleEntry<[]>;
|
|
4884
|
+
/**
|
|
4885
|
+
* enforce using toBeFalsy()
|
|
4886
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-falsy.md
|
|
4887
|
+
*/
|
|
4888
|
+
'vitest/prefer-to-be-falsy'?: Linter.RuleEntry<[]>;
|
|
4889
|
+
/**
|
|
4890
|
+
* enforce using toBeObject()
|
|
4891
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-object.md
|
|
4892
|
+
*/
|
|
4893
|
+
'vitest/prefer-to-be-object'?: Linter.RuleEntry<[]>;
|
|
4894
|
+
/**
|
|
4895
|
+
* enforce using `toBeTruthy`
|
|
4896
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-truthy.md
|
|
4897
|
+
*/
|
|
4898
|
+
'vitest/prefer-to-be-truthy'?: Linter.RuleEntry<[]>;
|
|
4899
|
+
/**
|
|
4900
|
+
* enforce using toContain()
|
|
4901
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-contain.md
|
|
4902
|
+
*/
|
|
4903
|
+
'vitest/prefer-to-contain'?: Linter.RuleEntry<[]>;
|
|
4904
|
+
/**
|
|
4905
|
+
* enforce using toHaveLength()
|
|
4906
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-have-length.md
|
|
4907
|
+
*/
|
|
4908
|
+
'vitest/prefer-to-have-length'?: Linter.RuleEntry<[]>;
|
|
4909
|
+
/**
|
|
4910
|
+
* enforce using `test.todo`
|
|
4911
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-todo.md
|
|
4912
|
+
*/
|
|
4913
|
+
'vitest/prefer-todo'?: Linter.RuleEntry<[]>;
|
|
4914
|
+
/**
|
|
4915
|
+
* Prefer `vi.mocked()` over `fn as Mock`
|
|
4916
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-vi-mocked.md
|
|
4917
|
+
*/
|
|
4918
|
+
'vitest/prefer-vi-mocked'?: Linter.RuleEntry<[]>;
|
|
4919
|
+
/**
|
|
4920
|
+
* require setup and teardown to be within a hook
|
|
4921
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-hook.md
|
|
4922
|
+
*/
|
|
4923
|
+
'vitest/require-hook'?: Linter.RuleEntry<VitestRequireHook>;
|
|
4924
|
+
/**
|
|
4925
|
+
* require local Test Context for concurrent snapshot tests
|
|
4926
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-local-test-context-for-concurrent-snapshots.md
|
|
4927
|
+
*/
|
|
4928
|
+
'vitest/require-local-test-context-for-concurrent-snapshots'?: Linter.RuleEntry<[]>;
|
|
4929
|
+
/**
|
|
4930
|
+
* require toThrow() to be called with an error message
|
|
4931
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-to-throw-message.md
|
|
4932
|
+
*/
|
|
4933
|
+
'vitest/require-to-throw-message'?: Linter.RuleEntry<[]>;
|
|
4934
|
+
/**
|
|
4935
|
+
* enforce that all tests are in a top-level describe
|
|
4936
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-top-level-describe.md
|
|
4937
|
+
*/
|
|
4938
|
+
'vitest/require-top-level-describe'?: Linter.RuleEntry<VitestRequireTopLevelDescribe>;
|
|
4939
|
+
/**
|
|
4940
|
+
* enforce valid describe callback
|
|
4941
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-describe-callback.md
|
|
4942
|
+
*/
|
|
4943
|
+
'vitest/valid-describe-callback'?: Linter.RuleEntry<[]>;
|
|
4944
|
+
/**
|
|
4945
|
+
* enforce valid `expect()` usage
|
|
4946
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-expect.md
|
|
4947
|
+
*/
|
|
4948
|
+
'vitest/valid-expect'?: Linter.RuleEntry<VitestValidExpect>;
|
|
4949
|
+
/**
|
|
4950
|
+
* Require promises that have expectations in their chain to be valid
|
|
4951
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-expect-in-promise.md
|
|
4952
|
+
*/
|
|
4953
|
+
'vitest/valid-expect-in-promise'?: Linter.RuleEntry<[]>;
|
|
4954
|
+
/**
|
|
4955
|
+
* enforce valid titles
|
|
4956
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-title.md
|
|
4957
|
+
*/
|
|
4958
|
+
'vitest/valid-title'?: Linter.RuleEntry<VitestValidTitle>;
|
|
4648
4959
|
/**
|
|
4649
4960
|
* Enforce linebreaks after opening and before closing array brackets in `<template>`
|
|
4650
4961
|
* @see https://eslint.vuejs.org/rules/array-bracket-newline.html
|
|
@@ -10821,6 +11132,116 @@ type ValidTypeof = [] | [
|
|
|
10821
11132
|
requireStringLiterals?: boolean;
|
|
10822
11133
|
}
|
|
10823
11134
|
];
|
|
11135
|
+
type VitestConsistentTestFilename = [] | [
|
|
11136
|
+
{
|
|
11137
|
+
pattern?: string;
|
|
11138
|
+
allTestPattern?: string;
|
|
11139
|
+
}
|
|
11140
|
+
];
|
|
11141
|
+
type VitestConsistentTestIt = [] | [
|
|
11142
|
+
{
|
|
11143
|
+
fn?: ("test" | "it");
|
|
11144
|
+
withinDescribe?: ("test" | "it");
|
|
11145
|
+
}
|
|
11146
|
+
];
|
|
11147
|
+
type VitestExpectExpect = [] | [
|
|
11148
|
+
{
|
|
11149
|
+
assertFunctionNames?: string[];
|
|
11150
|
+
additionalTestBlockFunctions?: string[];
|
|
11151
|
+
}
|
|
11152
|
+
];
|
|
11153
|
+
type VitestMaxExpects = [] | [
|
|
11154
|
+
{
|
|
11155
|
+
max?: number;
|
|
11156
|
+
}
|
|
11157
|
+
];
|
|
11158
|
+
type VitestMaxNestedDescribe = [] | [
|
|
11159
|
+
{
|
|
11160
|
+
max?: number;
|
|
11161
|
+
}
|
|
11162
|
+
];
|
|
11163
|
+
type VitestNoFocusedTests = [] | [
|
|
11164
|
+
{
|
|
11165
|
+
fixable?: boolean;
|
|
11166
|
+
}
|
|
11167
|
+
];
|
|
11168
|
+
type VitestNoHooks = [] | [
|
|
11169
|
+
{
|
|
11170
|
+
allow?: unknown[];
|
|
11171
|
+
}
|
|
11172
|
+
];
|
|
11173
|
+
type VitestNoLargeSnapshots = [] | [
|
|
11174
|
+
{
|
|
11175
|
+
maxSize?: number;
|
|
11176
|
+
inlineMaxSize?: number;
|
|
11177
|
+
allowedSnapshots?: {
|
|
11178
|
+
[k: string]: unknown[] | undefined;
|
|
11179
|
+
};
|
|
11180
|
+
}
|
|
11181
|
+
];
|
|
11182
|
+
type VitestNoRestrictedMatchers = [] | [
|
|
11183
|
+
{
|
|
11184
|
+
[k: string]: (string | null) | undefined;
|
|
11185
|
+
}
|
|
11186
|
+
];
|
|
11187
|
+
type VitestNoRestrictedViMethods = [] | [
|
|
11188
|
+
{
|
|
11189
|
+
[k: string]: (string | null) | undefined;
|
|
11190
|
+
}
|
|
11191
|
+
];
|
|
11192
|
+
type VitestNoStandaloneExpect = [] | [
|
|
11193
|
+
{
|
|
11194
|
+
additionaltestblockfunctions?: string[];
|
|
11195
|
+
[k: string]: unknown | undefined;
|
|
11196
|
+
}
|
|
11197
|
+
];
|
|
11198
|
+
type VitestPreferExpectAssertions = [] | [
|
|
11199
|
+
{
|
|
11200
|
+
onlyFunctionsWithAsyncKeyword?: boolean;
|
|
11201
|
+
onlyFunctionsWithExpectInLoop?: boolean;
|
|
11202
|
+
onlyFunctionsWithExpectInCallback?: boolean;
|
|
11203
|
+
}
|
|
11204
|
+
];
|
|
11205
|
+
type VitestPreferLowercaseTitle = [] | [
|
|
11206
|
+
{
|
|
11207
|
+
ignore?: ("describe" | "test" | "it")[];
|
|
11208
|
+
allowedPrefixes?: string[];
|
|
11209
|
+
ignoreTopLevelDescribe?: boolean;
|
|
11210
|
+
lowercaseFirstCharacterOnly?: boolean;
|
|
11211
|
+
}
|
|
11212
|
+
];
|
|
11213
|
+
type VitestPreferSnapshotHint = [] | [("always" | "multi")];
|
|
11214
|
+
type VitestRequireHook = [] | [
|
|
11215
|
+
{
|
|
11216
|
+
allowedFunctionCalls?: string[];
|
|
11217
|
+
}
|
|
11218
|
+
];
|
|
11219
|
+
type VitestRequireTopLevelDescribe = [] | [
|
|
11220
|
+
{
|
|
11221
|
+
maxNumberOfTopLevelDescribes?: number;
|
|
11222
|
+
}
|
|
11223
|
+
];
|
|
11224
|
+
type VitestValidExpect = [] | [
|
|
11225
|
+
{
|
|
11226
|
+
alwaysAwait?: boolean;
|
|
11227
|
+
asyncMatchers?: string[];
|
|
11228
|
+
minArgs?: number;
|
|
11229
|
+
maxArgs?: number;
|
|
11230
|
+
}
|
|
11231
|
+
];
|
|
11232
|
+
type VitestValidTitle = [] | [
|
|
11233
|
+
{
|
|
11234
|
+
ignoreTypeOfDescribeName?: boolean;
|
|
11235
|
+
allowArguments?: boolean;
|
|
11236
|
+
disallowedWords?: string[];
|
|
11237
|
+
mustMatch?: (string | [string] | [string, string] | {
|
|
11238
|
+
[k: string]: (string | [string] | [string, string]) | undefined;
|
|
11239
|
+
});
|
|
11240
|
+
mustNotMatch?: (string | [string] | [string, string] | {
|
|
11241
|
+
[k: string]: (string | [string] | [string, string]) | undefined;
|
|
11242
|
+
});
|
|
11243
|
+
}
|
|
11244
|
+
];
|
|
10824
11245
|
type VueArrayBracketNewline = [] | [
|
|
10825
11246
|
(("always" | "never" | "consistent") | {
|
|
10826
11247
|
multiline?: boolean;
|
|
@@ -12340,7 +12761,7 @@ type Yoda = [] | [("always" | "never")] | [
|
|
|
12340
12761
|
onlyEquality?: boolean;
|
|
12341
12762
|
}
|
|
12342
12763
|
];
|
|
12343
|
-
type ConfigNames = 'ntnyq/antfu' | 'ntnyq/command' | 'ntnyq/eslint-comments' | 'ntnyq/ignores' | 'ntnyq/imports' | 'ntnyq/gitignore' | 'ntnyq/js/recommended' | 'ntnyq/js/core' | 'ntnyq/jsdoc' | 'ntnyq/jsonc' | 'ntnyq/jsx' | 'ntnyq/markdown/recommended/plugin' | 'ntnyq/markdown/recommended/processor' | 'ntnyq/markdown/recommended/code-blocks' | 'ntnyq/markdown/disabled/code-blocks' | 'ntnyq/node' | 'ntnyq/ntnyq' | 'ntnyq/prettier' | 'ntnyq/prettier/disabled' | 'ntnyq/regexp' | 'ntnyq/perfectionist' | 'ntnyq/ts/core__typescript-eslint/base' | 'ntnyq/ts/core__typescript-eslint/eslint-recommended' | 'ntnyq/ts/core__typescript-eslint/recommended' | 'ntnyq/ts/core' | 'ntnyq/ts/types' | 'ntnyq/unused-imports' | 'ntnyq/unicorn' | 'ntnyq/unocss' | 'ntnyq/sort/tsconfig' | 'ntnyq/sort/package-json' | 'ntnyq/sort/i18n-locale/json' | 'ntnyq/sort/i18n-locale/yaml' | 'ntnyq/sort/pnpm-workspace' | 'ntnyq/vue/ts__ntnyq/ts/core__typescript-eslint/base' | 'ntnyq/vue/ts__ntnyq/ts/core__typescript-eslint/eslint-recommended' | 'ntnyq/vue/ts__ntnyq/ts/core__typescript-eslint/recommended' | 'ntnyq/vue/ts__ntnyq/ts/core' | 'ntnyq/vue/ts' | 'ntnyq/vue/core' | 'ntnyq/yaml' | 'ntnyq/toml' | 'ntnyq/specials/scripts' | 'ntnyq/specials/cli' | 'ntnyq/specials/userscript';
|
|
12764
|
+
type ConfigNames = 'ntnyq/antfu' | 'ntnyq/command' | 'ntnyq/eslint-comments' | 'ntnyq/ignores' | 'ntnyq/imports' | 'ntnyq/gitignore' | 'ntnyq/js/recommended' | 'ntnyq/js/core' | 'ntnyq/jsdoc' | 'ntnyq/jsonc' | 'ntnyq/jsx' | 'ntnyq/markdown/recommended/plugin' | 'ntnyq/markdown/recommended/processor' | 'ntnyq/markdown/recommended/code-blocks' | 'ntnyq/markdown/disabled/code-blocks' | 'ntnyq/node' | 'ntnyq/ntnyq' | 'ntnyq/prettier' | 'ntnyq/prettier/disabled' | 'ntnyq/regexp' | 'ntnyq/perfectionist' | 'ntnyq/ts/core__typescript-eslint/base' | 'ntnyq/ts/core__typescript-eslint/eslint-recommended' | 'ntnyq/ts/core__typescript-eslint/recommended' | 'ntnyq/ts/core' | 'ntnyq/ts/types' | 'ntnyq/unused-imports' | 'ntnyq/unicorn' | 'ntnyq/unocss' | 'ntnyq/sort/tsconfig' | 'ntnyq/sort/package-json' | 'ntnyq/sort/i18n-locale/json' | 'ntnyq/sort/i18n-locale/yaml' | 'ntnyq/sort/pnpm-workspace' | 'ntnyq/vue/ts__ntnyq/ts/core__typescript-eslint/base' | 'ntnyq/vue/ts__ntnyq/ts/core__typescript-eslint/eslint-recommended' | 'ntnyq/vue/ts__ntnyq/ts/core__typescript-eslint/recommended' | 'ntnyq/vue/ts__ntnyq/ts/core' | 'ntnyq/vue/ts' | 'ntnyq/vue/core' | 'ntnyq/vitest' | 'ntnyq/yaml' | 'ntnyq/toml' | 'ntnyq/specials/scripts' | 'ntnyq/specials/cli' | 'ntnyq/specials/userscript';
|
|
12344
12765
|
|
|
12345
12766
|
/**
|
|
12346
12767
|
* Typed flat config item
|
package/dist/index.d.ts
CHANGED
|
@@ -4645,6 +4645,317 @@ interface RuleOptions {
|
|
|
4645
4645
|
* @see https://eslint.org/docs/latest/rules/vars-on-top
|
|
4646
4646
|
*/
|
|
4647
4647
|
'vars-on-top'?: Linter.RuleEntry<[]>;
|
|
4648
|
+
/**
|
|
4649
|
+
* require .spec test file pattern
|
|
4650
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
|
|
4651
|
+
*/
|
|
4652
|
+
'vitest/consistent-test-filename'?: Linter.RuleEntry<VitestConsistentTestFilename>;
|
|
4653
|
+
/**
|
|
4654
|
+
* enforce using test or it but not both
|
|
4655
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-it.md
|
|
4656
|
+
*/
|
|
4657
|
+
'vitest/consistent-test-it'?: Linter.RuleEntry<VitestConsistentTestIt>;
|
|
4658
|
+
/**
|
|
4659
|
+
* enforce having expectation in test body
|
|
4660
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
|
|
4661
|
+
*/
|
|
4662
|
+
'vitest/expect-expect'?: Linter.RuleEntry<VitestExpectExpect>;
|
|
4663
|
+
/**
|
|
4664
|
+
* enforce a maximum number of expect per test
|
|
4665
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-expects.md
|
|
4666
|
+
*/
|
|
4667
|
+
'vitest/max-expects'?: Linter.RuleEntry<VitestMaxExpects>;
|
|
4668
|
+
/**
|
|
4669
|
+
* require describe block to be less than set max value or default value
|
|
4670
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-nested-describe.md
|
|
4671
|
+
*/
|
|
4672
|
+
'vitest/max-nested-describe'?: Linter.RuleEntry<VitestMaxNestedDescribe>;
|
|
4673
|
+
/**
|
|
4674
|
+
* disallow alias methods
|
|
4675
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-alias-methods.md
|
|
4676
|
+
*/
|
|
4677
|
+
'vitest/no-alias-methods'?: Linter.RuleEntry<[]>;
|
|
4678
|
+
/**
|
|
4679
|
+
* disallow commented out tests
|
|
4680
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-commented-out-tests.md
|
|
4681
|
+
*/
|
|
4682
|
+
'vitest/no-commented-out-tests'?: Linter.RuleEntry<[]>;
|
|
4683
|
+
/**
|
|
4684
|
+
* disallow conditional expects
|
|
4685
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md
|
|
4686
|
+
*/
|
|
4687
|
+
'vitest/no-conditional-expect'?: Linter.RuleEntry<[]>;
|
|
4688
|
+
/**
|
|
4689
|
+
* disallow conditional tests
|
|
4690
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-in-test.md
|
|
4691
|
+
*/
|
|
4692
|
+
'vitest/no-conditional-in-test'?: Linter.RuleEntry<[]>;
|
|
4693
|
+
/**
|
|
4694
|
+
* disallow conditional tests
|
|
4695
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-tests.md
|
|
4696
|
+
*/
|
|
4697
|
+
'vitest/no-conditional-tests'?: Linter.RuleEntry<[]>;
|
|
4698
|
+
/**
|
|
4699
|
+
* disallow disabled tests
|
|
4700
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-disabled-tests.md
|
|
4701
|
+
*/
|
|
4702
|
+
'vitest/no-disabled-tests'?: Linter.RuleEntry<[]>;
|
|
4703
|
+
/**
|
|
4704
|
+
* disallow using a callback in asynchronous tests and hooks
|
|
4705
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-done-callback.md
|
|
4706
|
+
* @deprecated
|
|
4707
|
+
*/
|
|
4708
|
+
'vitest/no-done-callback'?: Linter.RuleEntry<[]>;
|
|
4709
|
+
/**
|
|
4710
|
+
* disallow duplicate hooks and teardown hooks
|
|
4711
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-duplicate-hooks.md
|
|
4712
|
+
*/
|
|
4713
|
+
'vitest/no-duplicate-hooks'?: Linter.RuleEntry<[]>;
|
|
4714
|
+
/**
|
|
4715
|
+
* disallow focused tests
|
|
4716
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-focused-tests.md
|
|
4717
|
+
*/
|
|
4718
|
+
'vitest/no-focused-tests'?: Linter.RuleEntry<VitestNoFocusedTests>;
|
|
4719
|
+
/**
|
|
4720
|
+
* disallow setup and teardown hooks
|
|
4721
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-hooks.md
|
|
4722
|
+
*/
|
|
4723
|
+
'vitest/no-hooks'?: Linter.RuleEntry<VitestNoHooks>;
|
|
4724
|
+
/**
|
|
4725
|
+
* disallow identical titles
|
|
4726
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-identical-title.md
|
|
4727
|
+
*/
|
|
4728
|
+
'vitest/no-identical-title'?: Linter.RuleEntry<[]>;
|
|
4729
|
+
/**
|
|
4730
|
+
* disallow importing `node:test`
|
|
4731
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-import-node-test.md
|
|
4732
|
+
*/
|
|
4733
|
+
'vitest/no-import-node-test'?: Linter.RuleEntry<[]>;
|
|
4734
|
+
/**
|
|
4735
|
+
* disallow string interpolation in snapshots
|
|
4736
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-interpolation-in-snapshots.md
|
|
4737
|
+
*/
|
|
4738
|
+
'vitest/no-interpolation-in-snapshots'?: Linter.RuleEntry<[]>;
|
|
4739
|
+
/**
|
|
4740
|
+
* disallow large snapshots
|
|
4741
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-large-snapshots.md
|
|
4742
|
+
*/
|
|
4743
|
+
'vitest/no-large-snapshots'?: Linter.RuleEntry<VitestNoLargeSnapshots>;
|
|
4744
|
+
/**
|
|
4745
|
+
* disallow importing from __mocks__ directory
|
|
4746
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-mocks-import.md
|
|
4747
|
+
*/
|
|
4748
|
+
'vitest/no-mocks-import'?: Linter.RuleEntry<[]>;
|
|
4749
|
+
/**
|
|
4750
|
+
* disallow the use of certain matchers
|
|
4751
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-matchers.md
|
|
4752
|
+
*/
|
|
4753
|
+
'vitest/no-restricted-matchers'?: Linter.RuleEntry<VitestNoRestrictedMatchers>;
|
|
4754
|
+
/**
|
|
4755
|
+
* disallow specific `vi.` methods
|
|
4756
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-vi-methods.md
|
|
4757
|
+
*/
|
|
4758
|
+
'vitest/no-restricted-vi-methods'?: Linter.RuleEntry<VitestNoRestrictedViMethods>;
|
|
4759
|
+
/**
|
|
4760
|
+
* disallow using `expect` outside of `it` or `test` blocks
|
|
4761
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-standalone-expect.md
|
|
4762
|
+
*/
|
|
4763
|
+
'vitest/no-standalone-expect'?: Linter.RuleEntry<VitestNoStandaloneExpect>;
|
|
4764
|
+
/**
|
|
4765
|
+
* disallow using `test` as a prefix
|
|
4766
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-prefixes.md
|
|
4767
|
+
*/
|
|
4768
|
+
'vitest/no-test-prefixes'?: Linter.RuleEntry<[]>;
|
|
4769
|
+
/**
|
|
4770
|
+
* disallow return statements in tests
|
|
4771
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-return-statement.md
|
|
4772
|
+
*/
|
|
4773
|
+
'vitest/no-test-return-statement'?: Linter.RuleEntry<[]>;
|
|
4774
|
+
/**
|
|
4775
|
+
* Enforce padding around `afterAll` blocks
|
|
4776
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-after-all-blocks.md
|
|
4777
|
+
*/
|
|
4778
|
+
'vitest/padding-around-after-all-blocks'?: Linter.RuleEntry<[]>;
|
|
4779
|
+
/**
|
|
4780
|
+
* Enforce padding around `afterEach` blocks
|
|
4781
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-after-each-blocks.md
|
|
4782
|
+
*/
|
|
4783
|
+
'vitest/padding-around-after-each-blocks'?: Linter.RuleEntry<[]>;
|
|
4784
|
+
/**
|
|
4785
|
+
* Enforce padding around vitest functions
|
|
4786
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-all.md
|
|
4787
|
+
*/
|
|
4788
|
+
'vitest/padding-around-all'?: Linter.RuleEntry<[]>;
|
|
4789
|
+
/**
|
|
4790
|
+
* Enforce padding around `beforeAll` blocks
|
|
4791
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-before-all-blocks.md
|
|
4792
|
+
*/
|
|
4793
|
+
'vitest/padding-around-before-all-blocks'?: Linter.RuleEntry<[]>;
|
|
4794
|
+
/**
|
|
4795
|
+
* Enforce padding around `beforeEach` blocks
|
|
4796
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-before-each-blocks.md
|
|
4797
|
+
*/
|
|
4798
|
+
'vitest/padding-around-before-each-blocks'?: Linter.RuleEntry<[]>;
|
|
4799
|
+
/**
|
|
4800
|
+
* Enforce padding around `describe` blocks
|
|
4801
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-describe-blocks.md
|
|
4802
|
+
*/
|
|
4803
|
+
'vitest/padding-around-describe-blocks'?: Linter.RuleEntry<[]>;
|
|
4804
|
+
/**
|
|
4805
|
+
* Enforce padding around `expect` groups
|
|
4806
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-expect-groups.md
|
|
4807
|
+
*/
|
|
4808
|
+
'vitest/padding-around-expect-groups'?: Linter.RuleEntry<[]>;
|
|
4809
|
+
/**
|
|
4810
|
+
* Enforce padding around afterAll blocks
|
|
4811
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-test-blocks.md
|
|
4812
|
+
*/
|
|
4813
|
+
'vitest/padding-around-test-blocks'?: Linter.RuleEntry<[]>;
|
|
4814
|
+
/**
|
|
4815
|
+
* enforce using `toBeCalledWith()` or `toHaveBeenCalledWith()`
|
|
4816
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-with.md
|
|
4817
|
+
*/
|
|
4818
|
+
'vitest/prefer-called-with'?: Linter.RuleEntry<[]>;
|
|
4819
|
+
/**
|
|
4820
|
+
* enforce using the built-in comparison matchers
|
|
4821
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-comparison-matcher.md
|
|
4822
|
+
*/
|
|
4823
|
+
'vitest/prefer-comparison-matcher'?: Linter.RuleEntry<[]>;
|
|
4824
|
+
/**
|
|
4825
|
+
* enforce using `each` rather than manual loops
|
|
4826
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-each.md
|
|
4827
|
+
*/
|
|
4828
|
+
'vitest/prefer-each'?: Linter.RuleEntry<[]>;
|
|
4829
|
+
/**
|
|
4830
|
+
* enforce using the built-in quality matchers
|
|
4831
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-equality-matcher.md
|
|
4832
|
+
*/
|
|
4833
|
+
'vitest/prefer-equality-matcher'?: Linter.RuleEntry<[]>;
|
|
4834
|
+
/**
|
|
4835
|
+
* enforce using expect assertions instead of callbacks
|
|
4836
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-assertions.md
|
|
4837
|
+
*/
|
|
4838
|
+
'vitest/prefer-expect-assertions'?: Linter.RuleEntry<VitestPreferExpectAssertions>;
|
|
4839
|
+
/**
|
|
4840
|
+
* enforce using `expect().resolves` over `expect(await ...)` syntax
|
|
4841
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-resolves.md
|
|
4842
|
+
*/
|
|
4843
|
+
'vitest/prefer-expect-resolves'?: Linter.RuleEntry<[]>;
|
|
4844
|
+
/**
|
|
4845
|
+
* enforce having hooks in consistent order
|
|
4846
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-in-order.md
|
|
4847
|
+
*/
|
|
4848
|
+
'vitest/prefer-hooks-in-order'?: Linter.RuleEntry<[]>;
|
|
4849
|
+
/**
|
|
4850
|
+
* enforce having hooks before any test cases
|
|
4851
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-on-top.md
|
|
4852
|
+
*/
|
|
4853
|
+
'vitest/prefer-hooks-on-top'?: Linter.RuleEntry<[]>;
|
|
4854
|
+
/**
|
|
4855
|
+
* enforce lowercase titles
|
|
4856
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-lowercase-title.md
|
|
4857
|
+
*/
|
|
4858
|
+
'vitest/prefer-lowercase-title'?: Linter.RuleEntry<VitestPreferLowercaseTitle>;
|
|
4859
|
+
/**
|
|
4860
|
+
* enforce mock resolved/rejected shorthands for promises
|
|
4861
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-mock-promise-shorthand.md
|
|
4862
|
+
*/
|
|
4863
|
+
'vitest/prefer-mock-promise-shorthand'?: Linter.RuleEntry<[]>;
|
|
4864
|
+
/**
|
|
4865
|
+
* enforce including a hint with external snapshots
|
|
4866
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-snapshot-hint.md
|
|
4867
|
+
*/
|
|
4868
|
+
'vitest/prefer-snapshot-hint'?: Linter.RuleEntry<VitestPreferSnapshotHint>;
|
|
4869
|
+
/**
|
|
4870
|
+
* enforce using `vi.spyOn`
|
|
4871
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-spy-on.md
|
|
4872
|
+
*/
|
|
4873
|
+
'vitest/prefer-spy-on'?: Linter.RuleEntry<[]>;
|
|
4874
|
+
/**
|
|
4875
|
+
* enforce strict equal over equal
|
|
4876
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-strict-equal.md
|
|
4877
|
+
*/
|
|
4878
|
+
'vitest/prefer-strict-equal'?: Linter.RuleEntry<[]>;
|
|
4879
|
+
/**
|
|
4880
|
+
* enforce using toBe()
|
|
4881
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be.md
|
|
4882
|
+
*/
|
|
4883
|
+
'vitest/prefer-to-be'?: Linter.RuleEntry<[]>;
|
|
4884
|
+
/**
|
|
4885
|
+
* enforce using toBeFalsy()
|
|
4886
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-falsy.md
|
|
4887
|
+
*/
|
|
4888
|
+
'vitest/prefer-to-be-falsy'?: Linter.RuleEntry<[]>;
|
|
4889
|
+
/**
|
|
4890
|
+
* enforce using toBeObject()
|
|
4891
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-object.md
|
|
4892
|
+
*/
|
|
4893
|
+
'vitest/prefer-to-be-object'?: Linter.RuleEntry<[]>;
|
|
4894
|
+
/**
|
|
4895
|
+
* enforce using `toBeTruthy`
|
|
4896
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-truthy.md
|
|
4897
|
+
*/
|
|
4898
|
+
'vitest/prefer-to-be-truthy'?: Linter.RuleEntry<[]>;
|
|
4899
|
+
/**
|
|
4900
|
+
* enforce using toContain()
|
|
4901
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-contain.md
|
|
4902
|
+
*/
|
|
4903
|
+
'vitest/prefer-to-contain'?: Linter.RuleEntry<[]>;
|
|
4904
|
+
/**
|
|
4905
|
+
* enforce using toHaveLength()
|
|
4906
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-have-length.md
|
|
4907
|
+
*/
|
|
4908
|
+
'vitest/prefer-to-have-length'?: Linter.RuleEntry<[]>;
|
|
4909
|
+
/**
|
|
4910
|
+
* enforce using `test.todo`
|
|
4911
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-todo.md
|
|
4912
|
+
*/
|
|
4913
|
+
'vitest/prefer-todo'?: Linter.RuleEntry<[]>;
|
|
4914
|
+
/**
|
|
4915
|
+
* Prefer `vi.mocked()` over `fn as Mock`
|
|
4916
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-vi-mocked.md
|
|
4917
|
+
*/
|
|
4918
|
+
'vitest/prefer-vi-mocked'?: Linter.RuleEntry<[]>;
|
|
4919
|
+
/**
|
|
4920
|
+
* require setup and teardown to be within a hook
|
|
4921
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-hook.md
|
|
4922
|
+
*/
|
|
4923
|
+
'vitest/require-hook'?: Linter.RuleEntry<VitestRequireHook>;
|
|
4924
|
+
/**
|
|
4925
|
+
* require local Test Context for concurrent snapshot tests
|
|
4926
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-local-test-context-for-concurrent-snapshots.md
|
|
4927
|
+
*/
|
|
4928
|
+
'vitest/require-local-test-context-for-concurrent-snapshots'?: Linter.RuleEntry<[]>;
|
|
4929
|
+
/**
|
|
4930
|
+
* require toThrow() to be called with an error message
|
|
4931
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-to-throw-message.md
|
|
4932
|
+
*/
|
|
4933
|
+
'vitest/require-to-throw-message'?: Linter.RuleEntry<[]>;
|
|
4934
|
+
/**
|
|
4935
|
+
* enforce that all tests are in a top-level describe
|
|
4936
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-top-level-describe.md
|
|
4937
|
+
*/
|
|
4938
|
+
'vitest/require-top-level-describe'?: Linter.RuleEntry<VitestRequireTopLevelDescribe>;
|
|
4939
|
+
/**
|
|
4940
|
+
* enforce valid describe callback
|
|
4941
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-describe-callback.md
|
|
4942
|
+
*/
|
|
4943
|
+
'vitest/valid-describe-callback'?: Linter.RuleEntry<[]>;
|
|
4944
|
+
/**
|
|
4945
|
+
* enforce valid `expect()` usage
|
|
4946
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-expect.md
|
|
4947
|
+
*/
|
|
4948
|
+
'vitest/valid-expect'?: Linter.RuleEntry<VitestValidExpect>;
|
|
4949
|
+
/**
|
|
4950
|
+
* Require promises that have expectations in their chain to be valid
|
|
4951
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-expect-in-promise.md
|
|
4952
|
+
*/
|
|
4953
|
+
'vitest/valid-expect-in-promise'?: Linter.RuleEntry<[]>;
|
|
4954
|
+
/**
|
|
4955
|
+
* enforce valid titles
|
|
4956
|
+
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-title.md
|
|
4957
|
+
*/
|
|
4958
|
+
'vitest/valid-title'?: Linter.RuleEntry<VitestValidTitle>;
|
|
4648
4959
|
/**
|
|
4649
4960
|
* Enforce linebreaks after opening and before closing array brackets in `<template>`
|
|
4650
4961
|
* @see https://eslint.vuejs.org/rules/array-bracket-newline.html
|
|
@@ -10821,6 +11132,116 @@ type ValidTypeof = [] | [
|
|
|
10821
11132
|
requireStringLiterals?: boolean;
|
|
10822
11133
|
}
|
|
10823
11134
|
];
|
|
11135
|
+
type VitestConsistentTestFilename = [] | [
|
|
11136
|
+
{
|
|
11137
|
+
pattern?: string;
|
|
11138
|
+
allTestPattern?: string;
|
|
11139
|
+
}
|
|
11140
|
+
];
|
|
11141
|
+
type VitestConsistentTestIt = [] | [
|
|
11142
|
+
{
|
|
11143
|
+
fn?: ("test" | "it");
|
|
11144
|
+
withinDescribe?: ("test" | "it");
|
|
11145
|
+
}
|
|
11146
|
+
];
|
|
11147
|
+
type VitestExpectExpect = [] | [
|
|
11148
|
+
{
|
|
11149
|
+
assertFunctionNames?: string[];
|
|
11150
|
+
additionalTestBlockFunctions?: string[];
|
|
11151
|
+
}
|
|
11152
|
+
];
|
|
11153
|
+
type VitestMaxExpects = [] | [
|
|
11154
|
+
{
|
|
11155
|
+
max?: number;
|
|
11156
|
+
}
|
|
11157
|
+
];
|
|
11158
|
+
type VitestMaxNestedDescribe = [] | [
|
|
11159
|
+
{
|
|
11160
|
+
max?: number;
|
|
11161
|
+
}
|
|
11162
|
+
];
|
|
11163
|
+
type VitestNoFocusedTests = [] | [
|
|
11164
|
+
{
|
|
11165
|
+
fixable?: boolean;
|
|
11166
|
+
}
|
|
11167
|
+
];
|
|
11168
|
+
type VitestNoHooks = [] | [
|
|
11169
|
+
{
|
|
11170
|
+
allow?: unknown[];
|
|
11171
|
+
}
|
|
11172
|
+
];
|
|
11173
|
+
type VitestNoLargeSnapshots = [] | [
|
|
11174
|
+
{
|
|
11175
|
+
maxSize?: number;
|
|
11176
|
+
inlineMaxSize?: number;
|
|
11177
|
+
allowedSnapshots?: {
|
|
11178
|
+
[k: string]: unknown[] | undefined;
|
|
11179
|
+
};
|
|
11180
|
+
}
|
|
11181
|
+
];
|
|
11182
|
+
type VitestNoRestrictedMatchers = [] | [
|
|
11183
|
+
{
|
|
11184
|
+
[k: string]: (string | null) | undefined;
|
|
11185
|
+
}
|
|
11186
|
+
];
|
|
11187
|
+
type VitestNoRestrictedViMethods = [] | [
|
|
11188
|
+
{
|
|
11189
|
+
[k: string]: (string | null) | undefined;
|
|
11190
|
+
}
|
|
11191
|
+
];
|
|
11192
|
+
type VitestNoStandaloneExpect = [] | [
|
|
11193
|
+
{
|
|
11194
|
+
additionaltestblockfunctions?: string[];
|
|
11195
|
+
[k: string]: unknown | undefined;
|
|
11196
|
+
}
|
|
11197
|
+
];
|
|
11198
|
+
type VitestPreferExpectAssertions = [] | [
|
|
11199
|
+
{
|
|
11200
|
+
onlyFunctionsWithAsyncKeyword?: boolean;
|
|
11201
|
+
onlyFunctionsWithExpectInLoop?: boolean;
|
|
11202
|
+
onlyFunctionsWithExpectInCallback?: boolean;
|
|
11203
|
+
}
|
|
11204
|
+
];
|
|
11205
|
+
type VitestPreferLowercaseTitle = [] | [
|
|
11206
|
+
{
|
|
11207
|
+
ignore?: ("describe" | "test" | "it")[];
|
|
11208
|
+
allowedPrefixes?: string[];
|
|
11209
|
+
ignoreTopLevelDescribe?: boolean;
|
|
11210
|
+
lowercaseFirstCharacterOnly?: boolean;
|
|
11211
|
+
}
|
|
11212
|
+
];
|
|
11213
|
+
type VitestPreferSnapshotHint = [] | [("always" | "multi")];
|
|
11214
|
+
type VitestRequireHook = [] | [
|
|
11215
|
+
{
|
|
11216
|
+
allowedFunctionCalls?: string[];
|
|
11217
|
+
}
|
|
11218
|
+
];
|
|
11219
|
+
type VitestRequireTopLevelDescribe = [] | [
|
|
11220
|
+
{
|
|
11221
|
+
maxNumberOfTopLevelDescribes?: number;
|
|
11222
|
+
}
|
|
11223
|
+
];
|
|
11224
|
+
type VitestValidExpect = [] | [
|
|
11225
|
+
{
|
|
11226
|
+
alwaysAwait?: boolean;
|
|
11227
|
+
asyncMatchers?: string[];
|
|
11228
|
+
minArgs?: number;
|
|
11229
|
+
maxArgs?: number;
|
|
11230
|
+
}
|
|
11231
|
+
];
|
|
11232
|
+
type VitestValidTitle = [] | [
|
|
11233
|
+
{
|
|
11234
|
+
ignoreTypeOfDescribeName?: boolean;
|
|
11235
|
+
allowArguments?: boolean;
|
|
11236
|
+
disallowedWords?: string[];
|
|
11237
|
+
mustMatch?: (string | [string] | [string, string] | {
|
|
11238
|
+
[k: string]: (string | [string] | [string, string]) | undefined;
|
|
11239
|
+
});
|
|
11240
|
+
mustNotMatch?: (string | [string] | [string, string] | {
|
|
11241
|
+
[k: string]: (string | [string] | [string, string]) | undefined;
|
|
11242
|
+
});
|
|
11243
|
+
}
|
|
11244
|
+
];
|
|
10824
11245
|
type VueArrayBracketNewline = [] | [
|
|
10825
11246
|
(("always" | "never" | "consistent") | {
|
|
10826
11247
|
multiline?: boolean;
|
|
@@ -12340,7 +12761,7 @@ type Yoda = [] | [("always" | "never")] | [
|
|
|
12340
12761
|
onlyEquality?: boolean;
|
|
12341
12762
|
}
|
|
12342
12763
|
];
|
|
12343
|
-
type ConfigNames = 'ntnyq/antfu' | 'ntnyq/command' | 'ntnyq/eslint-comments' | 'ntnyq/ignores' | 'ntnyq/imports' | 'ntnyq/gitignore' | 'ntnyq/js/recommended' | 'ntnyq/js/core' | 'ntnyq/jsdoc' | 'ntnyq/jsonc' | 'ntnyq/jsx' | 'ntnyq/markdown/recommended/plugin' | 'ntnyq/markdown/recommended/processor' | 'ntnyq/markdown/recommended/code-blocks' | 'ntnyq/markdown/disabled/code-blocks' | 'ntnyq/node' | 'ntnyq/ntnyq' | 'ntnyq/prettier' | 'ntnyq/prettier/disabled' | 'ntnyq/regexp' | 'ntnyq/perfectionist' | 'ntnyq/ts/core__typescript-eslint/base' | 'ntnyq/ts/core__typescript-eslint/eslint-recommended' | 'ntnyq/ts/core__typescript-eslint/recommended' | 'ntnyq/ts/core' | 'ntnyq/ts/types' | 'ntnyq/unused-imports' | 'ntnyq/unicorn' | 'ntnyq/unocss' | 'ntnyq/sort/tsconfig' | 'ntnyq/sort/package-json' | 'ntnyq/sort/i18n-locale/json' | 'ntnyq/sort/i18n-locale/yaml' | 'ntnyq/sort/pnpm-workspace' | 'ntnyq/vue/ts__ntnyq/ts/core__typescript-eslint/base' | 'ntnyq/vue/ts__ntnyq/ts/core__typescript-eslint/eslint-recommended' | 'ntnyq/vue/ts__ntnyq/ts/core__typescript-eslint/recommended' | 'ntnyq/vue/ts__ntnyq/ts/core' | 'ntnyq/vue/ts' | 'ntnyq/vue/core' | 'ntnyq/yaml' | 'ntnyq/toml' | 'ntnyq/specials/scripts' | 'ntnyq/specials/cli' | 'ntnyq/specials/userscript';
|
|
12764
|
+
type ConfigNames = 'ntnyq/antfu' | 'ntnyq/command' | 'ntnyq/eslint-comments' | 'ntnyq/ignores' | 'ntnyq/imports' | 'ntnyq/gitignore' | 'ntnyq/js/recommended' | 'ntnyq/js/core' | 'ntnyq/jsdoc' | 'ntnyq/jsonc' | 'ntnyq/jsx' | 'ntnyq/markdown/recommended/plugin' | 'ntnyq/markdown/recommended/processor' | 'ntnyq/markdown/recommended/code-blocks' | 'ntnyq/markdown/disabled/code-blocks' | 'ntnyq/node' | 'ntnyq/ntnyq' | 'ntnyq/prettier' | 'ntnyq/prettier/disabled' | 'ntnyq/regexp' | 'ntnyq/perfectionist' | 'ntnyq/ts/core__typescript-eslint/base' | 'ntnyq/ts/core__typescript-eslint/eslint-recommended' | 'ntnyq/ts/core__typescript-eslint/recommended' | 'ntnyq/ts/core' | 'ntnyq/ts/types' | 'ntnyq/unused-imports' | 'ntnyq/unicorn' | 'ntnyq/unocss' | 'ntnyq/sort/tsconfig' | 'ntnyq/sort/package-json' | 'ntnyq/sort/i18n-locale/json' | 'ntnyq/sort/i18n-locale/yaml' | 'ntnyq/sort/pnpm-workspace' | 'ntnyq/vue/ts__ntnyq/ts/core__typescript-eslint/base' | 'ntnyq/vue/ts__ntnyq/ts/core__typescript-eslint/eslint-recommended' | 'ntnyq/vue/ts__ntnyq/ts/core__typescript-eslint/recommended' | 'ntnyq/vue/ts__ntnyq/ts/core' | 'ntnyq/vue/ts' | 'ntnyq/vue/core' | 'ntnyq/vitest' | 'ntnyq/yaml' | 'ntnyq/toml' | 'ntnyq/specials/scripts' | 'ntnyq/specials/cli' | 'ntnyq/specials/userscript';
|
|
12344
12765
|
|
|
12345
12766
|
/**
|
|
12346
12767
|
* Typed flat config item
|
package/dist/index.js
CHANGED
|
@@ -318,29 +318,76 @@ var extensionRules = {
|
|
|
318
318
|
]
|
|
319
319
|
};
|
|
320
320
|
var unCategorizedRules = {
|
|
321
|
+
"vue/no-v-text": "error",
|
|
321
322
|
"vue/no-useless-v-bind": "error",
|
|
322
323
|
"vue/valid-define-options": "error",
|
|
323
324
|
"vue/prefer-define-options": "error",
|
|
325
|
+
"vue/prefer-use-template-ref": "error",
|
|
324
326
|
"vue/no-irregular-whitespace": "error",
|
|
325
327
|
"vue/no-use-v-else-with-v-for": "error",
|
|
326
328
|
"vue/no-deprecated-delete-set": "error",
|
|
329
|
+
"vue/no-empty-component-block": "error",
|
|
327
330
|
"vue/require-typed-object-prop": "error",
|
|
328
331
|
"vue/no-unused-emit-declarations": "error",
|
|
329
332
|
"vue/padding-line-between-blocks": "error",
|
|
330
|
-
"vue/no-
|
|
333
|
+
"vue/no-multiple-objects-in-class": "error",
|
|
331
334
|
"vue/prefer-separate-static-class": "error",
|
|
335
|
+
"vue/no-ref-object-reactivity-loss": "error",
|
|
336
|
+
"vue/no-duplicate-attr-inheritance": "error",
|
|
337
|
+
"vue/prefer-prop-type-boolean-first": "error",
|
|
338
|
+
"vue/html-comment-indent": ["error", 2],
|
|
332
339
|
"vue/next-tick-style": ["error", "promise"],
|
|
340
|
+
"vue/v-for-delimiter-style": ["error", "in"],
|
|
333
341
|
"vue/no-restricted-v-bind": ["error", "/^v-/"],
|
|
334
342
|
"vue/custom-event-name-casing": ["error", "camelCase"],
|
|
343
|
+
"vue/define-props-declaration": ["error", "type-based"],
|
|
335
344
|
"vue/define-emits-declaration": ["error", "type-literal"],
|
|
336
345
|
"vue/prefer-true-attribute-shorthand": ["error", "always"],
|
|
337
346
|
"vue/component-options-name-casing": ["error", "PascalCase"],
|
|
347
|
+
"vue/component-api-style": ["error", ["script-setup", "composition"]],
|
|
348
|
+
"vue/html-button-has-type": [
|
|
349
|
+
"error",
|
|
350
|
+
{
|
|
351
|
+
button: true,
|
|
352
|
+
submit: true,
|
|
353
|
+
reset: true
|
|
354
|
+
}
|
|
355
|
+
],
|
|
338
356
|
"vue/block-order": [
|
|
339
357
|
"error",
|
|
340
358
|
{
|
|
341
359
|
order: ["script", "template", "style"]
|
|
342
360
|
}
|
|
343
361
|
],
|
|
362
|
+
"vue/enforce-style-attribute": [
|
|
363
|
+
"error",
|
|
364
|
+
{
|
|
365
|
+
allow: ["scoped", "plain"]
|
|
366
|
+
}
|
|
367
|
+
],
|
|
368
|
+
"vue/block-tag-newline": [
|
|
369
|
+
"error",
|
|
370
|
+
{
|
|
371
|
+
singleline: "always",
|
|
372
|
+
multiline: "always"
|
|
373
|
+
}
|
|
374
|
+
],
|
|
375
|
+
"vue/no-required-prop-with-default": [
|
|
376
|
+
"error",
|
|
377
|
+
{
|
|
378
|
+
autofix: true
|
|
379
|
+
}
|
|
380
|
+
],
|
|
381
|
+
"vue/html-comment-content-newline": [
|
|
382
|
+
"error",
|
|
383
|
+
{
|
|
384
|
+
singleline: "ignore",
|
|
385
|
+
multiline: "always"
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
exceptions: ["*"]
|
|
389
|
+
}
|
|
390
|
+
],
|
|
344
391
|
"vue/no-static-inline-styles": [
|
|
345
392
|
"error",
|
|
346
393
|
{
|
|
@@ -375,6 +422,16 @@ var unCategorizedRules = {
|
|
|
375
422
|
{
|
|
376
423
|
exceptions: ["-"]
|
|
377
424
|
}
|
|
425
|
+
],
|
|
426
|
+
"vue/require-macro-variable-name": [
|
|
427
|
+
"error",
|
|
428
|
+
{
|
|
429
|
+
defineProps: "props",
|
|
430
|
+
defineEmits: "emits",
|
|
431
|
+
defineSlots: "slots",
|
|
432
|
+
useSlots: "slots",
|
|
433
|
+
useAttrs: "attrs"
|
|
434
|
+
}
|
|
378
435
|
]
|
|
379
436
|
};
|
|
380
437
|
var vue = (options = {}) => {
|
|
@@ -418,13 +475,6 @@ var vue = (options = {}) => {
|
|
|
418
475
|
math: "always"
|
|
419
476
|
}
|
|
420
477
|
],
|
|
421
|
-
"vue/block-tag-newline": [
|
|
422
|
-
"error",
|
|
423
|
-
{
|
|
424
|
-
singleline: "always",
|
|
425
|
-
multiline: "always"
|
|
426
|
-
}
|
|
427
|
-
],
|
|
428
478
|
"vue/this-in-template": ["error", "never"],
|
|
429
479
|
"vue/prop-name-casing": ["error", "camelCase"],
|
|
430
480
|
"vue/attributes-order": [
|
|
@@ -1134,6 +1184,16 @@ var imports = (options = {}) => [
|
|
|
1134
1184
|
];
|
|
1135
1185
|
|
|
1136
1186
|
// src/configs/unicorn.ts
|
|
1187
|
+
var disabledRules2 = {
|
|
1188
|
+
"unicorn/better-regex": "off",
|
|
1189
|
+
"unicorn/prefer-top-level-await": "off",
|
|
1190
|
+
"unicorn/explicit-length-check": "off",
|
|
1191
|
+
"unicorn/no-array-callback-reference": "off",
|
|
1192
|
+
/**
|
|
1193
|
+
* @see https://caniuse.com/?search=globalThis
|
|
1194
|
+
*/
|
|
1195
|
+
"unicorn/prefer-global-this": "off"
|
|
1196
|
+
};
|
|
1137
1197
|
var unicorn = (options = {}) => [
|
|
1138
1198
|
{
|
|
1139
1199
|
name: "ntnyq/unicorn",
|
|
@@ -1141,15 +1201,6 @@ var unicorn = (options = {}) => [
|
|
|
1141
1201
|
unicorn: default14
|
|
1142
1202
|
},
|
|
1143
1203
|
rules: {
|
|
1144
|
-
// Disabled for now
|
|
1145
|
-
"unicorn/better-regex": "off",
|
|
1146
|
-
"unicorn/prefer-top-level-await": "off",
|
|
1147
|
-
"unicorn/explicit-length-check": "off",
|
|
1148
|
-
"unicorn/no-array-callback-reference": "off",
|
|
1149
|
-
/**
|
|
1150
|
-
* @see https://caniuse.com/?search=globalThis
|
|
1151
|
-
*/
|
|
1152
|
-
"unicorn/prefer-global-this": "off",
|
|
1153
1204
|
"unicorn/error-message": "error",
|
|
1154
1205
|
"unicorn/escape-case": "error",
|
|
1155
1206
|
"unicorn/no-new-buffer": "error",
|
|
@@ -1160,7 +1211,6 @@ var unicorn = (options = {}) => [
|
|
|
1160
1211
|
"unicorn/no-unnecessary-await": "error",
|
|
1161
1212
|
"unicorn/switch-case-braces": ["error", "avoid"],
|
|
1162
1213
|
"unicorn/no-typeof-undefined": "error",
|
|
1163
|
-
"unicorn/prefer-set-size": "error",
|
|
1164
1214
|
"unicorn/prefer-regexp-test": "error",
|
|
1165
1215
|
"unicorn/no-static-only-class": "error",
|
|
1166
1216
|
"unicorn/no-zero-fractions": "error",
|
|
@@ -1180,6 +1230,7 @@ var unicorn = (options = {}) => [
|
|
|
1180
1230
|
"unicorn/prefer-prototype-methods": "error",
|
|
1181
1231
|
"unicorn/prefer-reflect-apply": "error",
|
|
1182
1232
|
"unicorn/prefer-math-min-max": "error",
|
|
1233
|
+
"unicorn/prefer-structured-clone": "error",
|
|
1183
1234
|
"unicorn/consistent-existence-index-check": "error",
|
|
1184
1235
|
"unicorn/catch-error-name": [
|
|
1185
1236
|
"error",
|
|
@@ -1190,6 +1241,7 @@ var unicorn = (options = {}) => [
|
|
|
1190
1241
|
],
|
|
1191
1242
|
"unicorn/prefer-date-now": "error",
|
|
1192
1243
|
// String
|
|
1244
|
+
"unicorn/prefer-code-point": "error",
|
|
1193
1245
|
"unicorn/prefer-string-slice": "error",
|
|
1194
1246
|
"unicorn/prefer-string-trim-start-end": "error",
|
|
1195
1247
|
"unicorn/prefer-string-starts-ends-with": "error",
|
|
@@ -1211,6 +1263,11 @@ var unicorn = (options = {}) => [
|
|
|
1211
1263
|
"unicorn/prefer-array-some": "error",
|
|
1212
1264
|
"unicorn/prefer-array-flat-map": "error",
|
|
1213
1265
|
"unicorn/prefer-array-index-of": "error",
|
|
1266
|
+
"unicorn/require-array-join-separator": "error",
|
|
1267
|
+
// Set
|
|
1268
|
+
"unicorn/prefer-set-has": "error",
|
|
1269
|
+
"unicorn/prefer-set-size": "error",
|
|
1270
|
+
...disabledRules2,
|
|
1214
1271
|
// Overrides rules
|
|
1215
1272
|
...options.overrides
|
|
1216
1273
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ntnyq/eslint-config",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "3.2.
|
|
4
|
+
"version": "3.2.2",
|
|
5
5
|
"packageManager": "pnpm@9.12.3",
|
|
6
6
|
"description": "An opinionated ESLint config preset of ntnyq",
|
|
7
7
|
"keywords": [
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"@eslint/js": "^9.14.0",
|
|
60
60
|
"@eslint/markdown": "^6.2.1",
|
|
61
61
|
"@unocss/eslint-plugin": "^0.64.0",
|
|
62
|
-
"@vitest/eslint-plugin": "^1.1.
|
|
62
|
+
"@vitest/eslint-plugin": "^1.1.10",
|
|
63
63
|
"eslint-config-flat-gitignore": "^0.3.0",
|
|
64
64
|
"eslint-flat-config-utils": "^0.4.0",
|
|
65
65
|
"eslint-merge-processors": "^0.1.0",
|
|
@@ -101,11 +101,16 @@
|
|
|
101
101
|
"tsup": "^8.3.5",
|
|
102
102
|
"tsx": "^4.19.2",
|
|
103
103
|
"typescript": "^5.6.3",
|
|
104
|
-
"zx": "^8.2.
|
|
104
|
+
"zx": "^8.2.2"
|
|
105
105
|
},
|
|
106
106
|
"engines": {
|
|
107
107
|
"node": ">=18.18.0"
|
|
108
108
|
},
|
|
109
|
+
"pnpm": {
|
|
110
|
+
"patchedDependencies": {
|
|
111
|
+
"@vitest/eslint-plugin": "patches/@vitest__eslint-plugin.patch"
|
|
112
|
+
}
|
|
113
|
+
},
|
|
109
114
|
"prettier": "@ntnyq/prettier-config",
|
|
110
115
|
"nano-staged": {
|
|
111
116
|
"*.{js,ts,mjs,cjs,json,jsonc,md,yaml,yml}": "eslint --flag unstable_ts_config --fix"
|