@vitest/eslint-plugin 1.1.22 → 1.1.24

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 CHANGED
@@ -23,7 +23,7 @@ function _interopNamespaceCompat(e) {
23
23
  const path__namespace = /*#__PURE__*/_interopNamespaceCompat(path);
24
24
  const ts__default = /*#__PURE__*/_interopDefaultCompat(ts);
25
25
 
26
- const version = "1.1.21";
26
+ const version = "1.1.23";
27
27
 
28
28
  function createEslintRule(rule) {
29
29
  const createRule = utils.ESLintUtils.RuleCreator(
@@ -530,7 +530,7 @@ const maxNestedDescribe = createEslintRule({
530
530
  }
531
531
  ],
532
532
  messages: {
533
- maxNestedDescribe: "Nested describe block should be less than set max value."
533
+ maxNestedDescribe: "Nested describe block should be less than set max value"
534
534
  }
535
535
  },
536
536
  defaultOptions: [
@@ -660,7 +660,7 @@ const noFocusedTests = createEslintRule({
660
660
  }
661
661
  ],
662
662
  messages: {
663
- noFocusedTests: "Focused tests are not allowed."
663
+ noFocusedTests: "Focused tests are not allowed"
664
664
  }
665
665
  },
666
666
  defaultOptions: [{ fixable: true }],
@@ -721,7 +721,7 @@ const noConditionalTest = createEslintRule({
721
721
  },
722
722
  schema: [],
723
723
  messages: {
724
- noConditionalTests: "Avoid using if conditions in a test."
724
+ noConditionalTests: "Avoid using if conditions in a test"
725
725
  }
726
726
  },
727
727
  defaultOptions: [],
@@ -1141,7 +1141,7 @@ const consistentTestFilename = createEslintRule({
1141
1141
  description: "require .spec test file pattern"
1142
1142
  },
1143
1143
  messages: {
1144
- consistentTestFilename: "use test file name pattern {{pattern}}"
1144
+ consistentTestFilename: "Use test file name pattern {{ pattern }}"
1145
1145
  },
1146
1146
  schema: [
1147
1147
  {
@@ -1197,7 +1197,7 @@ const maxExpect = createEslintRule({
1197
1197
  description: "enforce a maximum number of expect per test"
1198
1198
  },
1199
1199
  messages: {
1200
- maxExpect: "Too many assertion calls ({{count}}). Maximum is {{max}}."
1200
+ maxExpect: "Too many assertion calls ({{ count }}) - maximum allowed is {{ max }}"
1201
1201
  },
1202
1202
  type: "suggestion",
1203
1203
  schema: [
@@ -1310,7 +1310,7 @@ const noCommentedOutTests = createEslintRule({
1310
1310
  recommended: false
1311
1311
  },
1312
1312
  messages: {
1313
- noCommentedOutTests: "Remove commented out tests. You may want to use `skip` or `only` instead."
1313
+ noCommentedOutTests: "Remove commented out tests - you may want to use `skip` or `only` instead"
1314
1314
  },
1315
1315
  schema: [],
1316
1316
  type: "suggestion"
@@ -1479,8 +1479,8 @@ const noDisabledTests = createEslintRule({
1479
1479
  pending: "Call to pending()",
1480
1480
  pendingSuite: "Call to pending() within test suite",
1481
1481
  pendingTest: "Call to pending() within test",
1482
- disabledSuite: "Disabled test suite. If you want to skip a test suite temporarily, use .todo() instead.",
1483
- disabledTest: "Disabled test. If you want to skip a test temporarily, use .todo() instead."
1482
+ disabledSuite: "Disabled test suite - if you want to skip a test suite temporarily, use .todo() instead",
1483
+ disabledTest: "Disabled test - if you want to skip a test temporarily, use .todo() instead"
1484
1484
  },
1485
1485
  schema: []
1486
1486
  },
@@ -1654,7 +1654,7 @@ const noDuplicateHooks = createEslintRule({
1654
1654
  requiresTypeChecking: false
1655
1655
  },
1656
1656
  messages: {
1657
- noDuplicateHooks: "Duplicate {{hook}} in describe block."
1657
+ noDuplicateHooks: "Duplicate {{ hook }} in describe block"
1658
1658
  },
1659
1659
  schema: [],
1660
1660
  type: "suggestion"
@@ -1832,7 +1832,7 @@ const noMocksImport = createEslintRule({
1832
1832
  recommended: false
1833
1833
  },
1834
1834
  messages: {
1835
- noMocksImport: `Mocks should not be manually imported from a ${mocksDirName} directory. Instead use \`vi.mock\` and import from the original module path.`
1835
+ noMocksImport: `Mocks should not be manually imported from a ${mocksDirName} directory. Instead use \`vi.mock\` and import from the original module path`
1836
1836
  },
1837
1837
  schema: []
1838
1838
  },
@@ -2004,7 +2004,7 @@ const noTestPrefixes = createEslintRule({
2004
2004
  },
2005
2005
  type: "suggestion",
2006
2006
  messages: {
2007
- usePreferredName: 'Use "{{preferredNodeName}}" instead'
2007
+ usePreferredName: 'Use "{{ preferredNodeName }}" instead'
2008
2008
  },
2009
2009
  fixable: "code",
2010
2010
  schema: []
@@ -2175,14 +2175,14 @@ const validTitle = createEslintRule({
2175
2175
  },
2176
2176
  messages: {
2177
2177
  titleMustBeString: "Test title must be a string, a function or class name",
2178
- emptyTitle: "{{functionName}} should not have an empty title",
2178
+ emptyTitle: "{{ functionName }} should not have an empty title",
2179
2179
  duplicatePrefix: "should not have duplicate prefix",
2180
2180
  accidentalSpace: "should not have leading or trailing spaces",
2181
- disallowedWord: '"{{word}}" is not allowed in test title',
2182
- mustNotMatch: "{{functionName}} should not match {{pattern}}",
2183
- mustMatch: "{{functionName}} should match {{pattern}}",
2184
- mustNotMatchCustom: "{{message}}",
2185
- mustMatchCustom: "{{message}}"
2181
+ disallowedWord: '"{{ word }}" is not allowed in test title',
2182
+ mustNotMatch: "{{ functionName }} should not match {{ pattern }}",
2183
+ mustMatch: "{{ functionName }} should match {{ pattern }}",
2184
+ mustNotMatchCustom: "{{ message }}",
2185
+ mustMatchCustom: "{{ message }}"
2186
2186
  },
2187
2187
  type: "suggestion",
2188
2188
  schema: [
@@ -2396,13 +2396,13 @@ const validExpect = createEslintRule({
2396
2396
  recommended: false
2397
2397
  },
2398
2398
  messages: {
2399
- tooManyArgs: "Expect takes most {{ amount}} argument{{s}}",
2400
- notEnoughArgs: "Expect requires atleast {{ amount }} argument{{s}}",
2401
- modifierUnknown: "Expect has unknown modifier",
2402
- matcherNotFound: "Expect must have a corresponding matcher call.",
2403
- matcherNotCalled: "Matchers must be called to assert.",
2404
- asyncMustBeAwaited: "Async assertions must be awaited{{orReturned}}",
2405
- promisesWithAsyncAssertionsMustBeAwaited: "Promises which return async assertions must be awaited{{orReturned}}"
2399
+ tooManyArgs: "Expect takes at most {{ amount}} argument{{ s }}",
2400
+ notEnoughArgs: "Expect requires at least {{ amount }} argument{{ s }}",
2401
+ modifierUnknown: "Expect has an unknown modifier",
2402
+ matcherNotFound: "Expect must have a corresponding matcher call",
2403
+ matcherNotCalled: "Matchers must be called to assert",
2404
+ asyncMustBeAwaited: "Async assertions must be awaited{{ orReturned }}",
2405
+ promisesWithAsyncAssertionsMustBeAwaited: "Promises which return async assertions must be awaited{{ orReturned }}"
2406
2406
  },
2407
2407
  type: "suggestion",
2408
2408
  fixable: "code",
@@ -2609,7 +2609,7 @@ const preferToBeObject = createEslintRule({
2609
2609
  },
2610
2610
  fixable: "code",
2611
2611
  messages: {
2612
- preferToBeObject: "Prefer toBeObject() to test if a value is an object."
2612
+ preferToBeObject: "Prefer toBeObject() to test if a value is an object"
2613
2613
  },
2614
2614
  schema: []
2615
2615
  },
@@ -3473,8 +3473,8 @@ const requireTopLevelDescribe = createEslintRule({
3473
3473
  },
3474
3474
  messages: {
3475
3475
  tooManyDescribes: "There should not be more than {{ max }} describe{{ s }} at the top level",
3476
- unexpectedTestCase: "All test cases must be wrapped in a describe block.",
3477
- unexpectedHook: "All hooks must be wrapped in a describe block."
3476
+ unexpectedTestCase: "All test cases must be wrapped in a describe block",
3477
+ unexpectedHook: "All hooks must be wrapped in a describe block"
3478
3478
  },
3479
3479
  type: "suggestion",
3480
3480
  schema: [
@@ -4969,42 +4969,46 @@ const plugin = {
4969
4969
  onTestFinished: true
4970
4970
  }
4971
4971
  }
4972
- }
4973
- };
4974
- plugin.configs = {
4975
- "legacy-recommended": createConfigLegacy(recommended),
4976
- "legacy-all": createConfigLegacy(allRules),
4977
- "recommended": {
4978
- plugins: {
4979
- ["vitest"]: plugin
4980
- },
4981
- rules: createConfig(recommended)
4982
4972
  },
4983
- "all": {
4984
- plugins: {
4985
- ["vitest"]: plugin
4973
+ configs: {
4974
+ "legacy-recommended": createConfigLegacy(recommended),
4975
+ "legacy-all": createConfigLegacy(allRules),
4976
+ "recommended": {
4977
+ plugins: {
4978
+ get vitest() {
4979
+ return plugin;
4980
+ }
4981
+ },
4982
+ rules: createConfig(recommended)
4986
4983
  },
4987
- rules: createConfig(allRules)
4988
- },
4989
- "env": {
4990
- languageOptions: {
4991
- globals: {
4992
- suite: "writable",
4993
- test: "writable",
4994
- describe: "writable",
4995
- it: "writable",
4996
- expectTypeOf: "writable",
4997
- assertType: "writable",
4998
- expect: "writable",
4999
- assert: "writable",
5000
- vitest: "writable",
5001
- vi: "writable",
5002
- beforeAll: "writable",
5003
- afterAll: "writable",
5004
- beforeEach: "writable",
5005
- afterEach: "writable",
5006
- onTestFailed: "writable",
5007
- onTestFinished: "writable"
4984
+ "all": {
4985
+ plugins: {
4986
+ get vitest() {
4987
+ return plugin;
4988
+ }
4989
+ },
4990
+ rules: createConfig(allRules)
4991
+ },
4992
+ "env": {
4993
+ languageOptions: {
4994
+ globals: {
4995
+ suite: "writable",
4996
+ test: "writable",
4997
+ describe: "writable",
4998
+ it: "writable",
4999
+ expectTypeOf: "writable",
5000
+ assertType: "writable",
5001
+ expect: "writable",
5002
+ assert: "writable",
5003
+ vitest: "writable",
5004
+ vi: "writable",
5005
+ beforeAll: "writable",
5006
+ afterAll: "writable",
5007
+ beforeEach: "writable",
5008
+ afterEach: "writable",
5009
+ onTestFailed: "writable",
5010
+ onTestFinished: "writable"
5011
+ }
5008
5012
  }
5009
5013
  }
5010
5014
  }
package/dist/index.d.cts CHANGED
@@ -1,14 +1,213 @@
1
- import { Linter, RuleModule } from '@typescript-eslint/utils/ts-eslint';
1
+ import * as eslint from 'eslint';
2
+ import { ESLint } from 'eslint';
2
3
 
3
- interface VitestPLugin extends Linter.Plugin {
4
+ declare const plugin: {
4
5
  meta: {
5
6
  name: string;
6
7
  version: string;
7
8
  };
8
- rules: Record<string, RuleModule<any, any>>;
9
- configs?: Record<string, any>;
10
- environments?: Record<string, any>;
11
- }
12
- declare const plugin: VitestPLugin;
9
+ rules: {
10
+ "prefer-lowercase-title": eslint.Rule.RuleModule;
11
+ "max-nested-describe": eslint.Rule.RuleModule;
12
+ "no-identical-title": eslint.Rule.RuleModule;
13
+ "no-focused-tests": eslint.Rule.RuleModule;
14
+ "no-conditional-tests": eslint.Rule.RuleModule;
15
+ "expect-expect": eslint.Rule.RuleModule;
16
+ "consistent-test-it": eslint.Rule.RuleModule;
17
+ "prefer-to-be": eslint.Rule.RuleModule;
18
+ "no-hooks": eslint.Rule.RuleModule;
19
+ "no-restricted-vi-methods": eslint.Rule.RuleModule;
20
+ "consistent-test-filename": eslint.Rule.RuleModule;
21
+ "max-expects": eslint.Rule.RuleModule;
22
+ "no-alias-methods": eslint.Rule.RuleModule;
23
+ "no-commented-out-tests": eslint.Rule.RuleModule;
24
+ "no-conditional-expect": eslint.Rule.RuleModule;
25
+ "no-conditional-in-test": eslint.Rule.RuleModule;
26
+ "no-disabled-tests": eslint.Rule.RuleModule;
27
+ "no-done-callback": eslint.Rule.RuleModule;
28
+ "no-duplicate-hooks": eslint.Rule.RuleModule;
29
+ "no-large-snapshots": eslint.Rule.RuleModule;
30
+ "no-interpolation-in-snapshots": eslint.Rule.RuleModule;
31
+ "no-mocks-import": eslint.Rule.RuleModule;
32
+ "no-restricted-matchers": eslint.Rule.RuleModule;
33
+ "no-standalone-expect": eslint.Rule.RuleModule;
34
+ "no-test-prefixes": eslint.Rule.RuleModule;
35
+ "no-test-return-statement": eslint.Rule.RuleModule;
36
+ "no-import-node-test": eslint.Rule.RuleModule;
37
+ "prefer-called-with": eslint.Rule.RuleModule;
38
+ "valid-title": eslint.Rule.RuleModule;
39
+ "valid-expect": eslint.Rule.RuleModule;
40
+ "prefer-to-be-falsy": eslint.Rule.RuleModule;
41
+ "prefer-to-be-object": eslint.Rule.RuleModule;
42
+ "prefer-to-be-truthy": eslint.Rule.RuleModule;
43
+ "prefer-to-have-length": eslint.Rule.RuleModule;
44
+ "prefer-equality-matcher": eslint.Rule.RuleModule;
45
+ "prefer-strict-equal": eslint.Rule.RuleModule;
46
+ "prefer-expect-resolves": eslint.Rule.RuleModule;
47
+ "prefer-each": eslint.Rule.RuleModule;
48
+ "prefer-hooks-on-top": eslint.Rule.RuleModule;
49
+ "prefer-hooks-in-order": eslint.Rule.RuleModule;
50
+ "require-local-test-context-for-concurrent-snapshots": eslint.Rule.RuleModule;
51
+ "prefer-mock-promise-shorthand": eslint.Rule.RuleModule;
52
+ "prefer-vi-mocked": eslint.Rule.RuleModule;
53
+ "prefer-snapshot-hint": eslint.Rule.RuleModule;
54
+ "valid-describe-callback": eslint.Rule.RuleModule;
55
+ "require-top-level-describe": eslint.Rule.RuleModule;
56
+ "require-to-throw-message": eslint.Rule.RuleModule;
57
+ "require-hook": eslint.Rule.RuleModule;
58
+ "prefer-todo": eslint.Rule.RuleModule;
59
+ "prefer-spy-on": eslint.Rule.RuleModule;
60
+ "prefer-comparison-matcher": eslint.Rule.RuleModule;
61
+ "prefer-to-contain": eslint.Rule.RuleModule;
62
+ "prefer-expect-assertions": eslint.Rule.RuleModule;
63
+ "padding-around-after-all-blocks": eslint.Rule.RuleModule;
64
+ "padding-around-after-each-blocks": eslint.Rule.RuleModule;
65
+ "padding-around-all": eslint.Rule.RuleModule;
66
+ "padding-around-before-all-blocks": eslint.Rule.RuleModule;
67
+ "padding-around-before-each-blocks": eslint.Rule.RuleModule;
68
+ "padding-around-describe-blocks": eslint.Rule.RuleModule;
69
+ "padding-around-expect-groups": eslint.Rule.RuleModule;
70
+ "padding-around-test-blocks": eslint.Rule.RuleModule;
71
+ "valid-expect-in-promise": eslint.Rule.RuleModule;
72
+ };
73
+ environments: {
74
+ env: {
75
+ globals: {
76
+ suite: true;
77
+ test: true;
78
+ describe: true;
79
+ it: true;
80
+ expectTypeOf: true;
81
+ assertType: true;
82
+ expect: true;
83
+ assert: true;
84
+ vitest: true;
85
+ vi: true;
86
+ beforeAll: true;
87
+ afterAll: true;
88
+ beforeEach: true;
89
+ afterEach: true;
90
+ onTestFailed: true;
91
+ onTestFinished: true;
92
+ };
93
+ };
94
+ };
95
+ configs: {
96
+ 'legacy-recommended': {
97
+ plugins: string[];
98
+ rules: {};
99
+ };
100
+ 'legacy-all': {
101
+ plugins: string[];
102
+ rules: {};
103
+ };
104
+ recommended: {
105
+ plugins: {
106
+ readonly vitest: ESLint.Plugin;
107
+ };
108
+ rules: {
109
+ readonly "vitest/expect-expect": "error";
110
+ readonly "vitest/no-identical-title": "error";
111
+ readonly "vitest/no-commented-out-tests": "error";
112
+ readonly "vitest/valid-title": "error";
113
+ readonly "vitest/valid-expect": "error";
114
+ readonly "vitest/valid-describe-callback": "error";
115
+ readonly "vitest/require-local-test-context-for-concurrent-snapshots": "error";
116
+ readonly "vitest/no-import-node-test": "error";
117
+ };
118
+ };
119
+ all: {
120
+ plugins: {
121
+ readonly vitest: ESLint.Plugin;
122
+ };
123
+ rules: {
124
+ readonly "vitest/prefer-lowercase-title": "warn";
125
+ readonly "vitest/max-nested-describe": "warn";
126
+ readonly "vitest/no-focused-tests": "warn";
127
+ readonly "vitest/no-conditional-tests": "warn";
128
+ readonly "vitest/consistent-test-it": "warn";
129
+ readonly "vitest/no-hooks": "warn";
130
+ readonly "vitest/no-restricted-vi-methods": "warn";
131
+ readonly "vitest/consistent-test-filename": "warn";
132
+ readonly "vitest/max-expects": "warn";
133
+ readonly "vitest/no-alias-methods": "warn";
134
+ readonly "vitest/no-conditional-expect": "warn";
135
+ readonly "vitest/no-conditional-in-test": "warn";
136
+ readonly "vitest/no-disabled-tests": "warn";
137
+ readonly "vitest/no-done-callback": "warn";
138
+ readonly "vitest/no-duplicate-hooks": "warn";
139
+ readonly "vitest/no-large-snapshots": "warn";
140
+ readonly "vitest/no-interpolation-in-snapshots": "warn";
141
+ readonly "vitest/no-mocks-import": "warn";
142
+ readonly "vitest/no-restricted-matchers": "warn";
143
+ readonly "vitest/no-standalone-expect": "warn";
144
+ readonly "vitest/no-test-prefixes": "warn";
145
+ readonly "vitest/no-test-return-statement": "warn";
146
+ readonly "vitest/prefer-called-with": "warn";
147
+ readonly "vitest/prefer-to-be-falsy": "warn";
148
+ readonly "vitest/prefer-to-be-object": "warn";
149
+ readonly "vitest/prefer-to-be-truthy": "warn";
150
+ readonly "vitest/prefer-to-have-length": "warn";
151
+ readonly "vitest/prefer-equality-matcher": "warn";
152
+ readonly "vitest/prefer-strict-equal": "warn";
153
+ readonly "vitest/prefer-expect-resolves": "warn";
154
+ readonly "vitest/prefer-each": "warn";
155
+ readonly "vitest/prefer-hooks-on-top": "warn";
156
+ readonly "vitest/prefer-hooks-in-order": "warn";
157
+ readonly "vitest/prefer-mock-promise-shorthand": "warn";
158
+ readonly "vitest/prefer-vi-mocked": "warn";
159
+ readonly "vitest/prefer-snapshot-hint": "warn";
160
+ readonly "vitest/require-top-level-describe": "warn";
161
+ readonly "vitest/require-to-throw-message": "warn";
162
+ readonly "vitest/require-hook": "warn";
163
+ readonly "vitest/prefer-todo": "warn";
164
+ readonly "vitest/prefer-spy-on": "warn";
165
+ readonly "vitest/prefer-comparison-matcher": "warn";
166
+ readonly "vitest/prefer-to-contain": "warn";
167
+ readonly "vitest/prefer-expect-assertions": "warn";
168
+ readonly "vitest/prefer-to-be": "warn";
169
+ readonly "vitest/padding-around-after-all-blocks": "warn";
170
+ readonly "vitest/padding-around-after-each-blocks": "warn";
171
+ readonly "vitest/padding-around-all": "warn";
172
+ readonly "vitest/padding-around-before-all-blocks": "warn";
173
+ readonly "vitest/padding-around-before-each-blocks": "warn";
174
+ readonly "vitest/padding-around-describe-blocks": "warn";
175
+ readonly "vitest/padding-around-expect-groups": "warn";
176
+ readonly "vitest/padding-around-test-blocks": "warn";
177
+ readonly "vitest/valid-expect-in-promise": "warn";
178
+ readonly "vitest/expect-expect": "warn";
179
+ readonly "vitest/no-identical-title": "warn";
180
+ readonly "vitest/no-commented-out-tests": "warn";
181
+ readonly "vitest/valid-title": "warn";
182
+ readonly "vitest/valid-expect": "warn";
183
+ readonly "vitest/valid-describe-callback": "warn";
184
+ readonly "vitest/require-local-test-context-for-concurrent-snapshots": "warn";
185
+ readonly "vitest/no-import-node-test": "warn";
186
+ };
187
+ };
188
+ env: {
189
+ languageOptions: {
190
+ globals: {
191
+ suite: "writable";
192
+ test: "writable";
193
+ describe: "writable";
194
+ it: "writable";
195
+ expectTypeOf: "writable";
196
+ assertType: "writable";
197
+ expect: "writable";
198
+ assert: "writable";
199
+ vitest: "writable";
200
+ vi: "writable";
201
+ beforeAll: "writable";
202
+ afterAll: "writable";
203
+ beforeEach: "writable";
204
+ afterEach: "writable";
205
+ onTestFailed: "writable";
206
+ onTestFinished: "writable";
207
+ };
208
+ };
209
+ };
210
+ };
211
+ };
13
212
 
14
213
  export { plugin as default };
package/dist/index.d.mts CHANGED
@@ -1,14 +1,213 @@
1
- import { Linter, RuleModule } from '@typescript-eslint/utils/ts-eslint';
1
+ import * as eslint from 'eslint';
2
+ import { ESLint } from 'eslint';
2
3
 
3
- interface VitestPLugin extends Linter.Plugin {
4
+ declare const plugin: {
4
5
  meta: {
5
6
  name: string;
6
7
  version: string;
7
8
  };
8
- rules: Record<string, RuleModule<any, any>>;
9
- configs?: Record<string, any>;
10
- environments?: Record<string, any>;
11
- }
12
- declare const plugin: VitestPLugin;
9
+ rules: {
10
+ "prefer-lowercase-title": eslint.Rule.RuleModule;
11
+ "max-nested-describe": eslint.Rule.RuleModule;
12
+ "no-identical-title": eslint.Rule.RuleModule;
13
+ "no-focused-tests": eslint.Rule.RuleModule;
14
+ "no-conditional-tests": eslint.Rule.RuleModule;
15
+ "expect-expect": eslint.Rule.RuleModule;
16
+ "consistent-test-it": eslint.Rule.RuleModule;
17
+ "prefer-to-be": eslint.Rule.RuleModule;
18
+ "no-hooks": eslint.Rule.RuleModule;
19
+ "no-restricted-vi-methods": eslint.Rule.RuleModule;
20
+ "consistent-test-filename": eslint.Rule.RuleModule;
21
+ "max-expects": eslint.Rule.RuleModule;
22
+ "no-alias-methods": eslint.Rule.RuleModule;
23
+ "no-commented-out-tests": eslint.Rule.RuleModule;
24
+ "no-conditional-expect": eslint.Rule.RuleModule;
25
+ "no-conditional-in-test": eslint.Rule.RuleModule;
26
+ "no-disabled-tests": eslint.Rule.RuleModule;
27
+ "no-done-callback": eslint.Rule.RuleModule;
28
+ "no-duplicate-hooks": eslint.Rule.RuleModule;
29
+ "no-large-snapshots": eslint.Rule.RuleModule;
30
+ "no-interpolation-in-snapshots": eslint.Rule.RuleModule;
31
+ "no-mocks-import": eslint.Rule.RuleModule;
32
+ "no-restricted-matchers": eslint.Rule.RuleModule;
33
+ "no-standalone-expect": eslint.Rule.RuleModule;
34
+ "no-test-prefixes": eslint.Rule.RuleModule;
35
+ "no-test-return-statement": eslint.Rule.RuleModule;
36
+ "no-import-node-test": eslint.Rule.RuleModule;
37
+ "prefer-called-with": eslint.Rule.RuleModule;
38
+ "valid-title": eslint.Rule.RuleModule;
39
+ "valid-expect": eslint.Rule.RuleModule;
40
+ "prefer-to-be-falsy": eslint.Rule.RuleModule;
41
+ "prefer-to-be-object": eslint.Rule.RuleModule;
42
+ "prefer-to-be-truthy": eslint.Rule.RuleModule;
43
+ "prefer-to-have-length": eslint.Rule.RuleModule;
44
+ "prefer-equality-matcher": eslint.Rule.RuleModule;
45
+ "prefer-strict-equal": eslint.Rule.RuleModule;
46
+ "prefer-expect-resolves": eslint.Rule.RuleModule;
47
+ "prefer-each": eslint.Rule.RuleModule;
48
+ "prefer-hooks-on-top": eslint.Rule.RuleModule;
49
+ "prefer-hooks-in-order": eslint.Rule.RuleModule;
50
+ "require-local-test-context-for-concurrent-snapshots": eslint.Rule.RuleModule;
51
+ "prefer-mock-promise-shorthand": eslint.Rule.RuleModule;
52
+ "prefer-vi-mocked": eslint.Rule.RuleModule;
53
+ "prefer-snapshot-hint": eslint.Rule.RuleModule;
54
+ "valid-describe-callback": eslint.Rule.RuleModule;
55
+ "require-top-level-describe": eslint.Rule.RuleModule;
56
+ "require-to-throw-message": eslint.Rule.RuleModule;
57
+ "require-hook": eslint.Rule.RuleModule;
58
+ "prefer-todo": eslint.Rule.RuleModule;
59
+ "prefer-spy-on": eslint.Rule.RuleModule;
60
+ "prefer-comparison-matcher": eslint.Rule.RuleModule;
61
+ "prefer-to-contain": eslint.Rule.RuleModule;
62
+ "prefer-expect-assertions": eslint.Rule.RuleModule;
63
+ "padding-around-after-all-blocks": eslint.Rule.RuleModule;
64
+ "padding-around-after-each-blocks": eslint.Rule.RuleModule;
65
+ "padding-around-all": eslint.Rule.RuleModule;
66
+ "padding-around-before-all-blocks": eslint.Rule.RuleModule;
67
+ "padding-around-before-each-blocks": eslint.Rule.RuleModule;
68
+ "padding-around-describe-blocks": eslint.Rule.RuleModule;
69
+ "padding-around-expect-groups": eslint.Rule.RuleModule;
70
+ "padding-around-test-blocks": eslint.Rule.RuleModule;
71
+ "valid-expect-in-promise": eslint.Rule.RuleModule;
72
+ };
73
+ environments: {
74
+ env: {
75
+ globals: {
76
+ suite: true;
77
+ test: true;
78
+ describe: true;
79
+ it: true;
80
+ expectTypeOf: true;
81
+ assertType: true;
82
+ expect: true;
83
+ assert: true;
84
+ vitest: true;
85
+ vi: true;
86
+ beforeAll: true;
87
+ afterAll: true;
88
+ beforeEach: true;
89
+ afterEach: true;
90
+ onTestFailed: true;
91
+ onTestFinished: true;
92
+ };
93
+ };
94
+ };
95
+ configs: {
96
+ 'legacy-recommended': {
97
+ plugins: string[];
98
+ rules: {};
99
+ };
100
+ 'legacy-all': {
101
+ plugins: string[];
102
+ rules: {};
103
+ };
104
+ recommended: {
105
+ plugins: {
106
+ readonly vitest: ESLint.Plugin;
107
+ };
108
+ rules: {
109
+ readonly "vitest/expect-expect": "error";
110
+ readonly "vitest/no-identical-title": "error";
111
+ readonly "vitest/no-commented-out-tests": "error";
112
+ readonly "vitest/valid-title": "error";
113
+ readonly "vitest/valid-expect": "error";
114
+ readonly "vitest/valid-describe-callback": "error";
115
+ readonly "vitest/require-local-test-context-for-concurrent-snapshots": "error";
116
+ readonly "vitest/no-import-node-test": "error";
117
+ };
118
+ };
119
+ all: {
120
+ plugins: {
121
+ readonly vitest: ESLint.Plugin;
122
+ };
123
+ rules: {
124
+ readonly "vitest/prefer-lowercase-title": "warn";
125
+ readonly "vitest/max-nested-describe": "warn";
126
+ readonly "vitest/no-focused-tests": "warn";
127
+ readonly "vitest/no-conditional-tests": "warn";
128
+ readonly "vitest/consistent-test-it": "warn";
129
+ readonly "vitest/no-hooks": "warn";
130
+ readonly "vitest/no-restricted-vi-methods": "warn";
131
+ readonly "vitest/consistent-test-filename": "warn";
132
+ readonly "vitest/max-expects": "warn";
133
+ readonly "vitest/no-alias-methods": "warn";
134
+ readonly "vitest/no-conditional-expect": "warn";
135
+ readonly "vitest/no-conditional-in-test": "warn";
136
+ readonly "vitest/no-disabled-tests": "warn";
137
+ readonly "vitest/no-done-callback": "warn";
138
+ readonly "vitest/no-duplicate-hooks": "warn";
139
+ readonly "vitest/no-large-snapshots": "warn";
140
+ readonly "vitest/no-interpolation-in-snapshots": "warn";
141
+ readonly "vitest/no-mocks-import": "warn";
142
+ readonly "vitest/no-restricted-matchers": "warn";
143
+ readonly "vitest/no-standalone-expect": "warn";
144
+ readonly "vitest/no-test-prefixes": "warn";
145
+ readonly "vitest/no-test-return-statement": "warn";
146
+ readonly "vitest/prefer-called-with": "warn";
147
+ readonly "vitest/prefer-to-be-falsy": "warn";
148
+ readonly "vitest/prefer-to-be-object": "warn";
149
+ readonly "vitest/prefer-to-be-truthy": "warn";
150
+ readonly "vitest/prefer-to-have-length": "warn";
151
+ readonly "vitest/prefer-equality-matcher": "warn";
152
+ readonly "vitest/prefer-strict-equal": "warn";
153
+ readonly "vitest/prefer-expect-resolves": "warn";
154
+ readonly "vitest/prefer-each": "warn";
155
+ readonly "vitest/prefer-hooks-on-top": "warn";
156
+ readonly "vitest/prefer-hooks-in-order": "warn";
157
+ readonly "vitest/prefer-mock-promise-shorthand": "warn";
158
+ readonly "vitest/prefer-vi-mocked": "warn";
159
+ readonly "vitest/prefer-snapshot-hint": "warn";
160
+ readonly "vitest/require-top-level-describe": "warn";
161
+ readonly "vitest/require-to-throw-message": "warn";
162
+ readonly "vitest/require-hook": "warn";
163
+ readonly "vitest/prefer-todo": "warn";
164
+ readonly "vitest/prefer-spy-on": "warn";
165
+ readonly "vitest/prefer-comparison-matcher": "warn";
166
+ readonly "vitest/prefer-to-contain": "warn";
167
+ readonly "vitest/prefer-expect-assertions": "warn";
168
+ readonly "vitest/prefer-to-be": "warn";
169
+ readonly "vitest/padding-around-after-all-blocks": "warn";
170
+ readonly "vitest/padding-around-after-each-blocks": "warn";
171
+ readonly "vitest/padding-around-all": "warn";
172
+ readonly "vitest/padding-around-before-all-blocks": "warn";
173
+ readonly "vitest/padding-around-before-each-blocks": "warn";
174
+ readonly "vitest/padding-around-describe-blocks": "warn";
175
+ readonly "vitest/padding-around-expect-groups": "warn";
176
+ readonly "vitest/padding-around-test-blocks": "warn";
177
+ readonly "vitest/valid-expect-in-promise": "warn";
178
+ readonly "vitest/expect-expect": "warn";
179
+ readonly "vitest/no-identical-title": "warn";
180
+ readonly "vitest/no-commented-out-tests": "warn";
181
+ readonly "vitest/valid-title": "warn";
182
+ readonly "vitest/valid-expect": "warn";
183
+ readonly "vitest/valid-describe-callback": "warn";
184
+ readonly "vitest/require-local-test-context-for-concurrent-snapshots": "warn";
185
+ readonly "vitest/no-import-node-test": "warn";
186
+ };
187
+ };
188
+ env: {
189
+ languageOptions: {
190
+ globals: {
191
+ suite: "writable";
192
+ test: "writable";
193
+ describe: "writable";
194
+ it: "writable";
195
+ expectTypeOf: "writable";
196
+ assertType: "writable";
197
+ expect: "writable";
198
+ assert: "writable";
199
+ vitest: "writable";
200
+ vi: "writable";
201
+ beforeAll: "writable";
202
+ afterAll: "writable";
203
+ beforeEach: "writable";
204
+ afterEach: "writable";
205
+ onTestFailed: "writable";
206
+ onTestFinished: "writable";
207
+ };
208
+ };
209
+ };
210
+ };
211
+ };
13
212
 
14
213
  export { plugin as default };
package/dist/index.d.ts CHANGED
@@ -1,14 +1,213 @@
1
- import { Linter, RuleModule } from '@typescript-eslint/utils/ts-eslint';
1
+ import * as eslint from 'eslint';
2
+ import { ESLint } from 'eslint';
2
3
 
3
- interface VitestPLugin extends Linter.Plugin {
4
+ declare const plugin: {
4
5
  meta: {
5
6
  name: string;
6
7
  version: string;
7
8
  };
8
- rules: Record<string, RuleModule<any, any>>;
9
- configs?: Record<string, any>;
10
- environments?: Record<string, any>;
11
- }
12
- declare const plugin: VitestPLugin;
9
+ rules: {
10
+ "prefer-lowercase-title": eslint.Rule.RuleModule;
11
+ "max-nested-describe": eslint.Rule.RuleModule;
12
+ "no-identical-title": eslint.Rule.RuleModule;
13
+ "no-focused-tests": eslint.Rule.RuleModule;
14
+ "no-conditional-tests": eslint.Rule.RuleModule;
15
+ "expect-expect": eslint.Rule.RuleModule;
16
+ "consistent-test-it": eslint.Rule.RuleModule;
17
+ "prefer-to-be": eslint.Rule.RuleModule;
18
+ "no-hooks": eslint.Rule.RuleModule;
19
+ "no-restricted-vi-methods": eslint.Rule.RuleModule;
20
+ "consistent-test-filename": eslint.Rule.RuleModule;
21
+ "max-expects": eslint.Rule.RuleModule;
22
+ "no-alias-methods": eslint.Rule.RuleModule;
23
+ "no-commented-out-tests": eslint.Rule.RuleModule;
24
+ "no-conditional-expect": eslint.Rule.RuleModule;
25
+ "no-conditional-in-test": eslint.Rule.RuleModule;
26
+ "no-disabled-tests": eslint.Rule.RuleModule;
27
+ "no-done-callback": eslint.Rule.RuleModule;
28
+ "no-duplicate-hooks": eslint.Rule.RuleModule;
29
+ "no-large-snapshots": eslint.Rule.RuleModule;
30
+ "no-interpolation-in-snapshots": eslint.Rule.RuleModule;
31
+ "no-mocks-import": eslint.Rule.RuleModule;
32
+ "no-restricted-matchers": eslint.Rule.RuleModule;
33
+ "no-standalone-expect": eslint.Rule.RuleModule;
34
+ "no-test-prefixes": eslint.Rule.RuleModule;
35
+ "no-test-return-statement": eslint.Rule.RuleModule;
36
+ "no-import-node-test": eslint.Rule.RuleModule;
37
+ "prefer-called-with": eslint.Rule.RuleModule;
38
+ "valid-title": eslint.Rule.RuleModule;
39
+ "valid-expect": eslint.Rule.RuleModule;
40
+ "prefer-to-be-falsy": eslint.Rule.RuleModule;
41
+ "prefer-to-be-object": eslint.Rule.RuleModule;
42
+ "prefer-to-be-truthy": eslint.Rule.RuleModule;
43
+ "prefer-to-have-length": eslint.Rule.RuleModule;
44
+ "prefer-equality-matcher": eslint.Rule.RuleModule;
45
+ "prefer-strict-equal": eslint.Rule.RuleModule;
46
+ "prefer-expect-resolves": eslint.Rule.RuleModule;
47
+ "prefer-each": eslint.Rule.RuleModule;
48
+ "prefer-hooks-on-top": eslint.Rule.RuleModule;
49
+ "prefer-hooks-in-order": eslint.Rule.RuleModule;
50
+ "require-local-test-context-for-concurrent-snapshots": eslint.Rule.RuleModule;
51
+ "prefer-mock-promise-shorthand": eslint.Rule.RuleModule;
52
+ "prefer-vi-mocked": eslint.Rule.RuleModule;
53
+ "prefer-snapshot-hint": eslint.Rule.RuleModule;
54
+ "valid-describe-callback": eslint.Rule.RuleModule;
55
+ "require-top-level-describe": eslint.Rule.RuleModule;
56
+ "require-to-throw-message": eslint.Rule.RuleModule;
57
+ "require-hook": eslint.Rule.RuleModule;
58
+ "prefer-todo": eslint.Rule.RuleModule;
59
+ "prefer-spy-on": eslint.Rule.RuleModule;
60
+ "prefer-comparison-matcher": eslint.Rule.RuleModule;
61
+ "prefer-to-contain": eslint.Rule.RuleModule;
62
+ "prefer-expect-assertions": eslint.Rule.RuleModule;
63
+ "padding-around-after-all-blocks": eslint.Rule.RuleModule;
64
+ "padding-around-after-each-blocks": eslint.Rule.RuleModule;
65
+ "padding-around-all": eslint.Rule.RuleModule;
66
+ "padding-around-before-all-blocks": eslint.Rule.RuleModule;
67
+ "padding-around-before-each-blocks": eslint.Rule.RuleModule;
68
+ "padding-around-describe-blocks": eslint.Rule.RuleModule;
69
+ "padding-around-expect-groups": eslint.Rule.RuleModule;
70
+ "padding-around-test-blocks": eslint.Rule.RuleModule;
71
+ "valid-expect-in-promise": eslint.Rule.RuleModule;
72
+ };
73
+ environments: {
74
+ env: {
75
+ globals: {
76
+ suite: true;
77
+ test: true;
78
+ describe: true;
79
+ it: true;
80
+ expectTypeOf: true;
81
+ assertType: true;
82
+ expect: true;
83
+ assert: true;
84
+ vitest: true;
85
+ vi: true;
86
+ beforeAll: true;
87
+ afterAll: true;
88
+ beforeEach: true;
89
+ afterEach: true;
90
+ onTestFailed: true;
91
+ onTestFinished: true;
92
+ };
93
+ };
94
+ };
95
+ configs: {
96
+ 'legacy-recommended': {
97
+ plugins: string[];
98
+ rules: {};
99
+ };
100
+ 'legacy-all': {
101
+ plugins: string[];
102
+ rules: {};
103
+ };
104
+ recommended: {
105
+ plugins: {
106
+ readonly vitest: ESLint.Plugin;
107
+ };
108
+ rules: {
109
+ readonly "vitest/expect-expect": "error";
110
+ readonly "vitest/no-identical-title": "error";
111
+ readonly "vitest/no-commented-out-tests": "error";
112
+ readonly "vitest/valid-title": "error";
113
+ readonly "vitest/valid-expect": "error";
114
+ readonly "vitest/valid-describe-callback": "error";
115
+ readonly "vitest/require-local-test-context-for-concurrent-snapshots": "error";
116
+ readonly "vitest/no-import-node-test": "error";
117
+ };
118
+ };
119
+ all: {
120
+ plugins: {
121
+ readonly vitest: ESLint.Plugin;
122
+ };
123
+ rules: {
124
+ readonly "vitest/prefer-lowercase-title": "warn";
125
+ readonly "vitest/max-nested-describe": "warn";
126
+ readonly "vitest/no-focused-tests": "warn";
127
+ readonly "vitest/no-conditional-tests": "warn";
128
+ readonly "vitest/consistent-test-it": "warn";
129
+ readonly "vitest/no-hooks": "warn";
130
+ readonly "vitest/no-restricted-vi-methods": "warn";
131
+ readonly "vitest/consistent-test-filename": "warn";
132
+ readonly "vitest/max-expects": "warn";
133
+ readonly "vitest/no-alias-methods": "warn";
134
+ readonly "vitest/no-conditional-expect": "warn";
135
+ readonly "vitest/no-conditional-in-test": "warn";
136
+ readonly "vitest/no-disabled-tests": "warn";
137
+ readonly "vitest/no-done-callback": "warn";
138
+ readonly "vitest/no-duplicate-hooks": "warn";
139
+ readonly "vitest/no-large-snapshots": "warn";
140
+ readonly "vitest/no-interpolation-in-snapshots": "warn";
141
+ readonly "vitest/no-mocks-import": "warn";
142
+ readonly "vitest/no-restricted-matchers": "warn";
143
+ readonly "vitest/no-standalone-expect": "warn";
144
+ readonly "vitest/no-test-prefixes": "warn";
145
+ readonly "vitest/no-test-return-statement": "warn";
146
+ readonly "vitest/prefer-called-with": "warn";
147
+ readonly "vitest/prefer-to-be-falsy": "warn";
148
+ readonly "vitest/prefer-to-be-object": "warn";
149
+ readonly "vitest/prefer-to-be-truthy": "warn";
150
+ readonly "vitest/prefer-to-have-length": "warn";
151
+ readonly "vitest/prefer-equality-matcher": "warn";
152
+ readonly "vitest/prefer-strict-equal": "warn";
153
+ readonly "vitest/prefer-expect-resolves": "warn";
154
+ readonly "vitest/prefer-each": "warn";
155
+ readonly "vitest/prefer-hooks-on-top": "warn";
156
+ readonly "vitest/prefer-hooks-in-order": "warn";
157
+ readonly "vitest/prefer-mock-promise-shorthand": "warn";
158
+ readonly "vitest/prefer-vi-mocked": "warn";
159
+ readonly "vitest/prefer-snapshot-hint": "warn";
160
+ readonly "vitest/require-top-level-describe": "warn";
161
+ readonly "vitest/require-to-throw-message": "warn";
162
+ readonly "vitest/require-hook": "warn";
163
+ readonly "vitest/prefer-todo": "warn";
164
+ readonly "vitest/prefer-spy-on": "warn";
165
+ readonly "vitest/prefer-comparison-matcher": "warn";
166
+ readonly "vitest/prefer-to-contain": "warn";
167
+ readonly "vitest/prefer-expect-assertions": "warn";
168
+ readonly "vitest/prefer-to-be": "warn";
169
+ readonly "vitest/padding-around-after-all-blocks": "warn";
170
+ readonly "vitest/padding-around-after-each-blocks": "warn";
171
+ readonly "vitest/padding-around-all": "warn";
172
+ readonly "vitest/padding-around-before-all-blocks": "warn";
173
+ readonly "vitest/padding-around-before-each-blocks": "warn";
174
+ readonly "vitest/padding-around-describe-blocks": "warn";
175
+ readonly "vitest/padding-around-expect-groups": "warn";
176
+ readonly "vitest/padding-around-test-blocks": "warn";
177
+ readonly "vitest/valid-expect-in-promise": "warn";
178
+ readonly "vitest/expect-expect": "warn";
179
+ readonly "vitest/no-identical-title": "warn";
180
+ readonly "vitest/no-commented-out-tests": "warn";
181
+ readonly "vitest/valid-title": "warn";
182
+ readonly "vitest/valid-expect": "warn";
183
+ readonly "vitest/valid-describe-callback": "warn";
184
+ readonly "vitest/require-local-test-context-for-concurrent-snapshots": "warn";
185
+ readonly "vitest/no-import-node-test": "warn";
186
+ };
187
+ };
188
+ env: {
189
+ languageOptions: {
190
+ globals: {
191
+ suite: "writable";
192
+ test: "writable";
193
+ describe: "writable";
194
+ it: "writable";
195
+ expectTypeOf: "writable";
196
+ assertType: "writable";
197
+ expect: "writable";
198
+ assert: "writable";
199
+ vitest: "writable";
200
+ vi: "writable";
201
+ beforeAll: "writable";
202
+ afterAll: "writable";
203
+ beforeEach: "writable";
204
+ afterEach: "writable";
205
+ onTestFailed: "writable";
206
+ onTestFinished: "writable";
207
+ };
208
+ };
209
+ };
210
+ };
211
+ };
13
212
 
14
213
  export { plugin as default };
package/dist/index.mjs CHANGED
@@ -4,7 +4,7 @@ import { isAbsolute, posix } from 'node:path';
4
4
  import ts from 'typescript';
5
5
  import { createRequire } from 'node:module';
6
6
 
7
- const version = "1.1.21";
7
+ const version = "1.1.23";
8
8
 
9
9
  function createEslintRule(rule) {
10
10
  const createRule = ESLintUtils.RuleCreator(
@@ -511,7 +511,7 @@ const maxNestedDescribe = createEslintRule({
511
511
  }
512
512
  ],
513
513
  messages: {
514
- maxNestedDescribe: "Nested describe block should be less than set max value."
514
+ maxNestedDescribe: "Nested describe block should be less than set max value"
515
515
  }
516
516
  },
517
517
  defaultOptions: [
@@ -641,7 +641,7 @@ const noFocusedTests = createEslintRule({
641
641
  }
642
642
  ],
643
643
  messages: {
644
- noFocusedTests: "Focused tests are not allowed."
644
+ noFocusedTests: "Focused tests are not allowed"
645
645
  }
646
646
  },
647
647
  defaultOptions: [{ fixable: true }],
@@ -702,7 +702,7 @@ const noConditionalTest = createEslintRule({
702
702
  },
703
703
  schema: [],
704
704
  messages: {
705
- noConditionalTests: "Avoid using if conditions in a test."
705
+ noConditionalTests: "Avoid using if conditions in a test"
706
706
  }
707
707
  },
708
708
  defaultOptions: [],
@@ -1122,7 +1122,7 @@ const consistentTestFilename = createEslintRule({
1122
1122
  description: "require .spec test file pattern"
1123
1123
  },
1124
1124
  messages: {
1125
- consistentTestFilename: "use test file name pattern {{pattern}}"
1125
+ consistentTestFilename: "Use test file name pattern {{ pattern }}"
1126
1126
  },
1127
1127
  schema: [
1128
1128
  {
@@ -1178,7 +1178,7 @@ const maxExpect = createEslintRule({
1178
1178
  description: "enforce a maximum number of expect per test"
1179
1179
  },
1180
1180
  messages: {
1181
- maxExpect: "Too many assertion calls ({{count}}). Maximum is {{max}}."
1181
+ maxExpect: "Too many assertion calls ({{ count }}) - maximum allowed is {{ max }}"
1182
1182
  },
1183
1183
  type: "suggestion",
1184
1184
  schema: [
@@ -1291,7 +1291,7 @@ const noCommentedOutTests = createEslintRule({
1291
1291
  recommended: false
1292
1292
  },
1293
1293
  messages: {
1294
- noCommentedOutTests: "Remove commented out tests. You may want to use `skip` or `only` instead."
1294
+ noCommentedOutTests: "Remove commented out tests - you may want to use `skip` or `only` instead"
1295
1295
  },
1296
1296
  schema: [],
1297
1297
  type: "suggestion"
@@ -1460,8 +1460,8 @@ const noDisabledTests = createEslintRule({
1460
1460
  pending: "Call to pending()",
1461
1461
  pendingSuite: "Call to pending() within test suite",
1462
1462
  pendingTest: "Call to pending() within test",
1463
- disabledSuite: "Disabled test suite. If you want to skip a test suite temporarily, use .todo() instead.",
1464
- disabledTest: "Disabled test. If you want to skip a test temporarily, use .todo() instead."
1463
+ disabledSuite: "Disabled test suite - if you want to skip a test suite temporarily, use .todo() instead",
1464
+ disabledTest: "Disabled test - if you want to skip a test temporarily, use .todo() instead"
1465
1465
  },
1466
1466
  schema: []
1467
1467
  },
@@ -1635,7 +1635,7 @@ const noDuplicateHooks = createEslintRule({
1635
1635
  requiresTypeChecking: false
1636
1636
  },
1637
1637
  messages: {
1638
- noDuplicateHooks: "Duplicate {{hook}} in describe block."
1638
+ noDuplicateHooks: "Duplicate {{ hook }} in describe block"
1639
1639
  },
1640
1640
  schema: [],
1641
1641
  type: "suggestion"
@@ -1813,7 +1813,7 @@ const noMocksImport = createEslintRule({
1813
1813
  recommended: false
1814
1814
  },
1815
1815
  messages: {
1816
- noMocksImport: `Mocks should not be manually imported from a ${mocksDirName} directory. Instead use \`vi.mock\` and import from the original module path.`
1816
+ noMocksImport: `Mocks should not be manually imported from a ${mocksDirName} directory. Instead use \`vi.mock\` and import from the original module path`
1817
1817
  },
1818
1818
  schema: []
1819
1819
  },
@@ -1985,7 +1985,7 @@ const noTestPrefixes = createEslintRule({
1985
1985
  },
1986
1986
  type: "suggestion",
1987
1987
  messages: {
1988
- usePreferredName: 'Use "{{preferredNodeName}}" instead'
1988
+ usePreferredName: 'Use "{{ preferredNodeName }}" instead'
1989
1989
  },
1990
1990
  fixable: "code",
1991
1991
  schema: []
@@ -2156,14 +2156,14 @@ const validTitle = createEslintRule({
2156
2156
  },
2157
2157
  messages: {
2158
2158
  titleMustBeString: "Test title must be a string, a function or class name",
2159
- emptyTitle: "{{functionName}} should not have an empty title",
2159
+ emptyTitle: "{{ functionName }} should not have an empty title",
2160
2160
  duplicatePrefix: "should not have duplicate prefix",
2161
2161
  accidentalSpace: "should not have leading or trailing spaces",
2162
- disallowedWord: '"{{word}}" is not allowed in test title',
2163
- mustNotMatch: "{{functionName}} should not match {{pattern}}",
2164
- mustMatch: "{{functionName}} should match {{pattern}}",
2165
- mustNotMatchCustom: "{{message}}",
2166
- mustMatchCustom: "{{message}}"
2162
+ disallowedWord: '"{{ word }}" is not allowed in test title',
2163
+ mustNotMatch: "{{ functionName }} should not match {{ pattern }}",
2164
+ mustMatch: "{{ functionName }} should match {{ pattern }}",
2165
+ mustNotMatchCustom: "{{ message }}",
2166
+ mustMatchCustom: "{{ message }}"
2167
2167
  },
2168
2168
  type: "suggestion",
2169
2169
  schema: [
@@ -2377,13 +2377,13 @@ const validExpect = createEslintRule({
2377
2377
  recommended: false
2378
2378
  },
2379
2379
  messages: {
2380
- tooManyArgs: "Expect takes most {{ amount}} argument{{s}}",
2381
- notEnoughArgs: "Expect requires atleast {{ amount }} argument{{s}}",
2382
- modifierUnknown: "Expect has unknown modifier",
2383
- matcherNotFound: "Expect must have a corresponding matcher call.",
2384
- matcherNotCalled: "Matchers must be called to assert.",
2385
- asyncMustBeAwaited: "Async assertions must be awaited{{orReturned}}",
2386
- promisesWithAsyncAssertionsMustBeAwaited: "Promises which return async assertions must be awaited{{orReturned}}"
2380
+ tooManyArgs: "Expect takes at most {{ amount}} argument{{ s }}",
2381
+ notEnoughArgs: "Expect requires at least {{ amount }} argument{{ s }}",
2382
+ modifierUnknown: "Expect has an unknown modifier",
2383
+ matcherNotFound: "Expect must have a corresponding matcher call",
2384
+ matcherNotCalled: "Matchers must be called to assert",
2385
+ asyncMustBeAwaited: "Async assertions must be awaited{{ orReturned }}",
2386
+ promisesWithAsyncAssertionsMustBeAwaited: "Promises which return async assertions must be awaited{{ orReturned }}"
2387
2387
  },
2388
2388
  type: "suggestion",
2389
2389
  fixable: "code",
@@ -2590,7 +2590,7 @@ const preferToBeObject = createEslintRule({
2590
2590
  },
2591
2591
  fixable: "code",
2592
2592
  messages: {
2593
- preferToBeObject: "Prefer toBeObject() to test if a value is an object."
2593
+ preferToBeObject: "Prefer toBeObject() to test if a value is an object"
2594
2594
  },
2595
2595
  schema: []
2596
2596
  },
@@ -3454,8 +3454,8 @@ const requireTopLevelDescribe = createEslintRule({
3454
3454
  },
3455
3455
  messages: {
3456
3456
  tooManyDescribes: "There should not be more than {{ max }} describe{{ s }} at the top level",
3457
- unexpectedTestCase: "All test cases must be wrapped in a describe block.",
3458
- unexpectedHook: "All hooks must be wrapped in a describe block."
3457
+ unexpectedTestCase: "All test cases must be wrapped in a describe block",
3458
+ unexpectedHook: "All hooks must be wrapped in a describe block"
3459
3459
  },
3460
3460
  type: "suggestion",
3461
3461
  schema: [
@@ -4950,42 +4950,46 @@ const plugin = {
4950
4950
  onTestFinished: true
4951
4951
  }
4952
4952
  }
4953
- }
4954
- };
4955
- plugin.configs = {
4956
- "legacy-recommended": createConfigLegacy(recommended),
4957
- "legacy-all": createConfigLegacy(allRules),
4958
- "recommended": {
4959
- plugins: {
4960
- ["vitest"]: plugin
4961
- },
4962
- rules: createConfig(recommended)
4963
4953
  },
4964
- "all": {
4965
- plugins: {
4966
- ["vitest"]: plugin
4954
+ configs: {
4955
+ "legacy-recommended": createConfigLegacy(recommended),
4956
+ "legacy-all": createConfigLegacy(allRules),
4957
+ "recommended": {
4958
+ plugins: {
4959
+ get vitest() {
4960
+ return plugin;
4961
+ }
4962
+ },
4963
+ rules: createConfig(recommended)
4967
4964
  },
4968
- rules: createConfig(allRules)
4969
- },
4970
- "env": {
4971
- languageOptions: {
4972
- globals: {
4973
- suite: "writable",
4974
- test: "writable",
4975
- describe: "writable",
4976
- it: "writable",
4977
- expectTypeOf: "writable",
4978
- assertType: "writable",
4979
- expect: "writable",
4980
- assert: "writable",
4981
- vitest: "writable",
4982
- vi: "writable",
4983
- beforeAll: "writable",
4984
- afterAll: "writable",
4985
- beforeEach: "writable",
4986
- afterEach: "writable",
4987
- onTestFailed: "writable",
4988
- onTestFinished: "writable"
4965
+ "all": {
4966
+ plugins: {
4967
+ get vitest() {
4968
+ return plugin;
4969
+ }
4970
+ },
4971
+ rules: createConfig(allRules)
4972
+ },
4973
+ "env": {
4974
+ languageOptions: {
4975
+ globals: {
4976
+ suite: "writable",
4977
+ test: "writable",
4978
+ describe: "writable",
4979
+ it: "writable",
4980
+ expectTypeOf: "writable",
4981
+ assertType: "writable",
4982
+ expect: "writable",
4983
+ assert: "writable",
4984
+ vitest: "writable",
4985
+ vi: "writable",
4986
+ beforeAll: "writable",
4987
+ afterAll: "writable",
4988
+ beforeEach: "writable",
4989
+ afterEach: "writable",
4990
+ onTestFailed: "writable",
4991
+ onTestFinished: "writable"
4992
+ }
4989
4993
  }
4990
4994
  }
4991
4995
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitest/eslint-plugin",
3
- "version": "1.1.22",
3
+ "version": "1.1.24",
4
4
  "license": "MIT",
5
5
  "description": "Eslint plugin for vitest",
6
6
  "repository": "vitest-dev/eslint-plugin-vitest",