@vitest-agent/mcp 1.0.0 → 1.0.1

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.
Files changed (202) hide show
  1. package/bin/vitest-agent-mcp.js +2 -2
  2. package/index.d.ts +1 -1
  3. package/index.js +1 -1
  4. package/package.json +2 -2
  5. package/public/patterns/_meta.json +67 -0
  6. package/public/patterns/authoring-a-custom-vitest-agent-reporter.md +82 -0
  7. package/public/patterns/known-issues-and-caveats.md +52 -0
  8. package/public/patterns/operating-vitest-agent-as-an-agent.md +53 -0
  9. package/public/patterns/running-tests-via-mcp.md +58 -0
  10. package/public/patterns/silencing-leaking-output-in-tests.md +91 -0
  11. package/public/patterns/testing-effect-schema-definitions.md +71 -0
  12. package/public/patterns/testing-effect-services-with-mock-layers.md +63 -0
  13. package/public/vendor/vitest-docs/ATTRIBUTION.md +5 -0
  14. package/public/vendor/vitest-docs/api/advanced/artifacts.md +189 -0
  15. package/public/vendor/vitest-docs/api/advanced/metadata.md +68 -0
  16. package/public/vendor/vitest-docs/api/advanced/plugin.md +168 -0
  17. package/public/vendor/vitest-docs/api/advanced/reporters.md +342 -0
  18. package/public/vendor/vitest-docs/api/advanced/runner.md +334 -0
  19. package/public/vendor/vitest-docs/api/advanced/test-case.md +302 -0
  20. package/public/vendor/vitest-docs/api/advanced/test-collection.md +89 -0
  21. package/public/vendor/vitest-docs/api/advanced/test-module.md +140 -0
  22. package/public/vendor/vitest-docs/api/advanced/test-project.md +321 -0
  23. package/public/vendor/vitest-docs/api/advanced/test-specification.md +96 -0
  24. package/public/vendor/vitest-docs/api/advanced/test-suite.md +230 -0
  25. package/public/vendor/vitest-docs/api/advanced/vitest.md +684 -0
  26. package/public/vendor/vitest-docs/api/assert-type.md +22 -0
  27. package/public/vendor/vitest-docs/api/assert.md +1960 -0
  28. package/public/vendor/vitest-docs/api/browser/assertions.md +1277 -0
  29. package/public/vendor/vitest-docs/api/browser/commands.md +154 -0
  30. package/public/vendor/vitest-docs/api/browser/context.md +338 -0
  31. package/public/vendor/vitest-docs/api/browser/interactivity.md +681 -0
  32. package/public/vendor/vitest-docs/api/browser/locators.md +1171 -0
  33. package/public/vendor/vitest-docs/api/browser/react.md +346 -0
  34. package/public/vendor/vitest-docs/api/browser/svelte.md +292 -0
  35. package/public/vendor/vitest-docs/api/browser/vue.md +222 -0
  36. package/public/vendor/vitest-docs/api/describe.md +374 -0
  37. package/public/vendor/vitest-docs/api/expect-typeof.md +571 -0
  38. package/public/vendor/vitest-docs/api/expect.md +2304 -0
  39. package/public/vendor/vitest-docs/api/hooks.md +463 -0
  40. package/public/vendor/vitest-docs/api/mock.md +701 -0
  41. package/public/vendor/vitest-docs/api/test.md +926 -0
  42. package/public/vendor/vitest-docs/api/vi.md +1372 -0
  43. package/public/vendor/vitest-docs/config/alias.md +13 -0
  44. package/public/vendor/vitest-docs/config/allowonly.md +32 -0
  45. package/public/vendor/vitest-docs/config/api.md +27 -0
  46. package/public/vendor/vitest-docs/config/attachmentsdir.md +6 -0
  47. package/public/vendor/vitest-docs/config/bail.md +9 -0
  48. package/public/vendor/vitest-docs/config/benchmark.md +65 -0
  49. package/public/vendor/vitest-docs/config/browser/api.md +23 -0
  50. package/public/vendor/vitest-docs/config/browser/commands.md +6 -0
  51. package/public/vendor/vitest-docs/config/browser/connecttimeout.md +10 -0
  52. package/public/vendor/vitest-docs/config/browser/detailspanelposition.md +38 -0
  53. package/public/vendor/vitest-docs/config/browser/enabled.md +40 -0
  54. package/public/vendor/vitest-docs/config/browser/expect.md +250 -0
  55. package/public/vendor/vitest-docs/config/browser/headless.md +7 -0
  56. package/public/vendor/vitest-docs/config/browser/instances.md +47 -0
  57. package/public/vendor/vitest-docs/config/browser/isolate.md +11 -0
  58. package/public/vendor/vitest-docs/config/browser/locators.md +24 -0
  59. package/public/vendor/vitest-docs/config/browser/orchestratorscripts.md +39 -0
  60. package/public/vendor/vitest-docs/config/browser/playwright.md +214 -0
  61. package/public/vendor/vitest-docs/config/browser/preview.md +32 -0
  62. package/public/vendor/vitest-docs/config/browser/provider.md +79 -0
  63. package/public/vendor/vitest-docs/config/browser/screenshotdirectory.md +6 -0
  64. package/public/vendor/vitest-docs/config/browser/screenshotfailures.md +6 -0
  65. package/public/vendor/vitest-docs/config/browser/testerhtmlpath.md +5 -0
  66. package/public/vendor/vitest-docs/config/browser/trace.md +43 -0
  67. package/public/vendor/vitest-docs/config/browser/trackunhandlederrors.md +10 -0
  68. package/public/vendor/vitest-docs/config/browser/ui.md +7 -0
  69. package/public/vendor/vitest-docs/config/browser/viewport.md +6 -0
  70. package/public/vendor/vitest-docs/config/browser/webdriverio.md +64 -0
  71. package/public/vendor/vitest-docs/config/cache.md +26 -0
  72. package/public/vendor/vitest-docs/config/chaiconfig.md +29 -0
  73. package/public/vendor/vitest-docs/config/clearmocks.md +22 -0
  74. package/public/vendor/vitest-docs/config/coverage.md +455 -0
  75. package/public/vendor/vitest-docs/config/css.md +47 -0
  76. package/public/vendor/vitest-docs/config/dangerouslyignoreunhandlederrors.md +23 -0
  77. package/public/vendor/vitest-docs/config/deps.md +127 -0
  78. package/public/vendor/vitest-docs/config/detectasyncleaks.md +39 -0
  79. package/public/vendor/vitest-docs/config/diff.md +96 -0
  80. package/public/vendor/vitest-docs/config/dir.md +7 -0
  81. package/public/vendor/vitest-docs/config/disableconsoleintercept.md +15 -0
  82. package/public/vendor/vitest-docs/config/env.md +5 -0
  83. package/public/vendor/vitest-docs/config/environment.md +96 -0
  84. package/public/vendor/vitest-docs/config/environmentoptions.md +30 -0
  85. package/public/vendor/vitest-docs/config/exclude.md +49 -0
  86. package/public/vendor/vitest-docs/config/execargv.md +10 -0
  87. package/public/vendor/vitest-docs/config/expandsnapshotdiff.md +7 -0
  88. package/public/vendor/vitest-docs/config/expect.md +38 -0
  89. package/public/vendor/vitest-docs/config/experimental.md +510 -0
  90. package/public/vendor/vitest-docs/config/faketimers.md +51 -0
  91. package/public/vendor/vitest-docs/config/fileparallelism.md +11 -0
  92. package/public/vendor/vitest-docs/config/forcereruntriggers.md +19 -0
  93. package/public/vendor/vitest-docs/config/globals.md +42 -0
  94. package/public/vendor/vitest-docs/config/globalsetup.md +72 -0
  95. package/public/vendor/vitest-docs/config/hideskippedtests.md +7 -0
  96. package/public/vendor/vitest-docs/config/hooktimeout.md +7 -0
  97. package/public/vendor/vitest-docs/config/include-source.md +115 -0
  98. package/public/vendor/vitest-docs/config/include.md +71 -0
  99. package/public/vendor/vitest-docs/config/includetasklocation.md +17 -0
  100. package/public/vendor/vitest-docs/config/index.md +85 -0
  101. package/public/vendor/vitest-docs/config/isolate.md +13 -0
  102. package/public/vendor/vitest-docs/config/logheapusage.md +7 -0
  103. package/public/vendor/vitest-docs/config/maxconcurrency.md +9 -0
  104. package/public/vendor/vitest-docs/config/maxworkers.md +49 -0
  105. package/public/vendor/vitest-docs/config/mockreset.md +22 -0
  106. package/public/vendor/vitest-docs/config/mode.md +7 -0
  107. package/public/vendor/vitest-docs/config/name.md +111 -0
  108. package/public/vendor/vitest-docs/config/onconsolelog.md +25 -0
  109. package/public/vendor/vitest-docs/config/onstacktrace.md +32 -0
  110. package/public/vendor/vitest-docs/config/onunhandlederror.md +35 -0
  111. package/public/vendor/vitest-docs/config/open.md +7 -0
  112. package/public/vendor/vitest-docs/config/outputfile.md +7 -0
  113. package/public/vendor/vitest-docs/config/passwithnotests.md +7 -0
  114. package/public/vendor/vitest-docs/config/pool.md +45 -0
  115. package/public/vendor/vitest-docs/config/printconsoletrace.md +6 -0
  116. package/public/vendor/vitest-docs/config/projects.md +6 -0
  117. package/public/vendor/vitest-docs/config/provide.md +45 -0
  118. package/public/vendor/vitest-docs/config/reporters.md +69 -0
  119. package/public/vendor/vitest-docs/config/resolvesnapshotpath.md +36 -0
  120. package/public/vendor/vitest-docs/config/restoremocks.md +22 -0
  121. package/public/vendor/vitest-docs/config/retry.md +140 -0
  122. package/public/vendor/vitest-docs/config/root.md +6 -0
  123. package/public/vendor/vitest-docs/config/runner.md +6 -0
  124. package/public/vendor/vitest-docs/config/sequence.md +158 -0
  125. package/public/vendor/vitest-docs/config/server.md +68 -0
  126. package/public/vendor/vitest-docs/config/setupfiles.md +40 -0
  127. package/public/vendor/vitest-docs/config/silent.md +9 -0
  128. package/public/vendor/vitest-docs/config/slowtestthreshold.md +7 -0
  129. package/public/vendor/vitest-docs/config/snapshotenvironment.md +27 -0
  130. package/public/vendor/vitest-docs/config/snapshotformat.md +28 -0
  131. package/public/vendor/vitest-docs/config/snapshotserializers.md +6 -0
  132. package/public/vendor/vitest-docs/config/stricttags.md +30 -0
  133. package/public/vendor/vitest-docs/config/tags.md +141 -0
  134. package/public/vendor/vitest-docs/config/teardowntimeout.md +7 -0
  135. package/public/vendor/vitest-docs/config/testnamepattern.md +21 -0
  136. package/public/vendor/vitest-docs/config/testtimeout.md +7 -0
  137. package/public/vendor/vitest-docs/config/typecheck.md +77 -0
  138. package/public/vendor/vitest-docs/config/ui.md +15 -0
  139. package/public/vendor/vitest-docs/config/unstubenvs.md +20 -0
  140. package/public/vendor/vitest-docs/config/unstubglobals.md +20 -0
  141. package/public/vendor/vitest-docs/config/update.md +16 -0
  142. package/public/vendor/vitest-docs/config/vmmemorylimit.md +30 -0
  143. package/public/vendor/vitest-docs/config/watch.md +11 -0
  144. package/public/vendor/vitest-docs/config/watchtriggerpatterns.md +29 -0
  145. package/public/vendor/vitest-docs/guide/advanced/index.md +147 -0
  146. package/public/vendor/vitest-docs/guide/advanced/pool.md +148 -0
  147. package/public/vendor/vitest-docs/guide/advanced/reporters.md +93 -0
  148. package/public/vendor/vitest-docs/guide/advanced/tests.md +125 -0
  149. package/public/vendor/vitest-docs/guide/browser/aria-snapshots.md +470 -0
  150. package/public/vendor/vitest-docs/guide/browser/component-testing.md +571 -0
  151. package/public/vendor/vitest-docs/guide/browser/index.md +630 -0
  152. package/public/vendor/vitest-docs/guide/browser/multiple-setups.md +121 -0
  153. package/public/vendor/vitest-docs/guide/browser/trace-view.md +126 -0
  154. package/public/vendor/vitest-docs/guide/browser/visual-regression-testing.md +734 -0
  155. package/public/vendor/vitest-docs/guide/cli-generated.md +972 -0
  156. package/public/vendor/vitest-docs/guide/cli.md +234 -0
  157. package/public/vendor/vitest-docs/guide/common-errors.md +163 -0
  158. package/public/vendor/vitest-docs/guide/coverage.md +515 -0
  159. package/public/vendor/vitest-docs/guide/debugging.md +127 -0
  160. package/public/vendor/vitest-docs/guide/environment.md +101 -0
  161. package/public/vendor/vitest-docs/guide/extending-matchers.md +160 -0
  162. package/public/vendor/vitest-docs/guide/features.md +310 -0
  163. package/public/vendor/vitest-docs/guide/filtering.md +175 -0
  164. package/public/vendor/vitest-docs/guide/ide.md +43 -0
  165. package/public/vendor/vitest-docs/guide/improving-performance.md +245 -0
  166. package/public/vendor/vitest-docs/guide/in-source.md +159 -0
  167. package/public/vendor/vitest-docs/guide/index.md +128 -0
  168. package/public/vendor/vitest-docs/guide/learn/async.md +147 -0
  169. package/public/vendor/vitest-docs/guide/learn/debugging-tests.md +210 -0
  170. package/public/vendor/vitest-docs/guide/learn/matchers.md +277 -0
  171. package/public/vendor/vitest-docs/guide/learn/mock-functions.md +277 -0
  172. package/public/vendor/vitest-docs/guide/learn/setup-teardown.md +240 -0
  173. package/public/vendor/vitest-docs/guide/learn/snapshots.md +166 -0
  174. package/public/vendor/vitest-docs/guide/learn/testing-in-practice.md +430 -0
  175. package/public/vendor/vitest-docs/guide/learn/writing-tests-with-ai.md +127 -0
  176. package/public/vendor/vitest-docs/guide/learn/writing-tests.md +231 -0
  177. package/public/vendor/vitest-docs/guide/lifecycle.md +379 -0
  178. package/public/vendor/vitest-docs/guide/migration.md +863 -0
  179. package/public/vendor/vitest-docs/guide/mocking/classes.md +158 -0
  180. package/public/vendor/vitest-docs/guide/mocking/dates.md +52 -0
  181. package/public/vendor/vitest-docs/guide/mocking/file-system.md +74 -0
  182. package/public/vendor/vitest-docs/guide/mocking/functions.md +61 -0
  183. package/public/vendor/vitest-docs/guide/mocking/globals.md +20 -0
  184. package/public/vendor/vitest-docs/guide/mocking/modules.md +414 -0
  185. package/public/vendor/vitest-docs/guide/mocking/requests.md +114 -0
  186. package/public/vendor/vitest-docs/guide/mocking/timers.md +48 -0
  187. package/public/vendor/vitest-docs/guide/mocking.md +239 -0
  188. package/public/vendor/vitest-docs/guide/open-telemetry.md +156 -0
  189. package/public/vendor/vitest-docs/guide/parallelism.md +82 -0
  190. package/public/vendor/vitest-docs/guide/profiling-test-performance.md +243 -0
  191. package/public/vendor/vitest-docs/guide/projects.md +291 -0
  192. package/public/vendor/vitest-docs/guide/recipes.md +59 -0
  193. package/public/vendor/vitest-docs/guide/reporters.md +723 -0
  194. package/public/vendor/vitest-docs/guide/snapshot.md +620 -0
  195. package/public/vendor/vitest-docs/guide/test-annotations.md +103 -0
  196. package/public/vendor/vitest-docs/guide/test-context.md +902 -0
  197. package/public/vendor/vitest-docs/guide/test-tags.md +314 -0
  198. package/public/vendor/vitest-docs/guide/testing-types.md +149 -0
  199. package/public/vendor/vitest-docs/guide/ui.md +160 -0
  200. package/public/vendor/vitest-docs/guide/using-plugins.md +5 -0
  201. package/public/vendor/vitest-docs/manifest.json +1691 -0
  202. package/resources/index.js +15 -4
@@ -0,0 +1,96 @@
1
+ # diff
2
+
3
+ - **Type:** `string`
4
+ - **CLI:** `--diff=<path>`
5
+
6
+ `DiffOptions` object or a path to a module which exports `DiffOptions`. Useful if you want to customize diff display.
7
+
8
+ Vitest diff rendering uses [`@vitest/pretty-format`](https://npmx.dev/package/@vitest/pretty-format) under the hood and a part of `DiffOptions` is forwarded to the pretty-format configuration, while the rest affects diff rendering itself.
9
+
10
+ For example, as a config object:
11
+
12
+ ```ts
13
+ import { defineConfig } from 'vitest/config'
14
+ import c from 'picocolors'
15
+
16
+ export default defineConfig({
17
+ test: {
18
+ diff: {
19
+ aIndicator: c.bold('--'),
20
+ bIndicator: c.bold('++'),
21
+ omitAnnotationLines: true,
22
+ },
23
+ },
24
+ })
25
+ ```
26
+
27
+ Or as a module:
28
+
29
+ :::code-group
30
+ ```ts [vitest.config.js]
31
+ import { defineConfig } from 'vitest/config'
32
+
33
+ export default defineConfig({
34
+ test: {
35
+ diff: './vitest.diff.ts',
36
+ },
37
+ })
38
+ ```
39
+
40
+ ```ts [vitest.diff.ts]
41
+ import type { DiffOptions } from 'vitest'
42
+ import c from 'picocolors'
43
+
44
+ export default {
45
+ aIndicator: c.bold('--'),
46
+ bIndicator: c.bold('++'),
47
+ omitAnnotationLines: true,
48
+ } satisfies DiffOptions
49
+ ```
50
+ :::
51
+
52
+ ## diff.expand
53
+
54
+ - **Type:** `boolean`
55
+ - **Default:** `true`
56
+ - **CLI:** `--diff.expand=false`
57
+
58
+ Expand all common lines.
59
+
60
+ ## diff.truncateThreshold
61
+
62
+ - **Type:** `number`
63
+ - **Default:** `0`
64
+ - **CLI:** `--diff.truncateThreshold=<path>`
65
+
66
+ The maximum length of diff result to be displayed. Diffs above this threshold will be truncated.
67
+ Truncation won't take effect with default value 0.
68
+
69
+ ## diff.truncateAnnotation
70
+
71
+ - **Type:** `string`
72
+ - **Default:** `'... Diff result is truncated'`
73
+ - **CLI:** `--diff.truncateAnnotation=<annotation>`
74
+
75
+ Annotation that is output at the end of diff result if it's truncated.
76
+
77
+ ## diff.truncateAnnotationColor
78
+
79
+ - **Type:** `DiffOptionsColor = (arg: string) => string`
80
+ - **Default:** `noColor = (string: string): string => string`
81
+
82
+ Color of truncate annotation, default is output with no color.
83
+
84
+ ## diff.printBasicPrototype
85
+
86
+ - **Type:** `boolean`
87
+ - **Default:** `false`
88
+
89
+ Print basic prototype `Object` and `Array` in diff output.
90
+
91
+ ## diff.maxDepth
92
+
93
+ - **Type:** `number`
94
+ - **Default:** `20` (or `8` when comparing different types)
95
+
96
+ Limit the depth to recurse when printing nested objects.
@@ -0,0 +1,7 @@
1
+ # dir
2
+
3
+ - **Type:** `string`
4
+ - **CLI:** `--dir=<path>`
5
+ - **Default:** same as `root`
6
+
7
+ Base directory to scan for the test files. You can specify this option to speed up test discovery if your root covers the whole project
@@ -0,0 +1,15 @@
1
+ # disableConsoleIntercept
2
+
3
+ - **Type:** `boolean`
4
+ - **CLI:** `--disableConsoleIntercept`
5
+ - **Default:** `false`
6
+
7
+ By default, Vitest automatically intercepts console logging during tests for extra formatting of test file, test title, etc.
8
+
9
+ This is also required for console log preview on Vitest UI.
10
+
11
+ However, disabling such interception might help when you want to debug a code with normal synchronous terminal console logging.
12
+
13
+ ::: warning
14
+ This option has no effect on [browser tests](/guide/browser/) since Vitest preserves original logging in browser devtools.
15
+ :::
@@ -0,0 +1,5 @@
1
+ # env
2
+
3
+ - **Type:** `Partial<NodeJS.ProcessEnv>`
4
+
5
+ Environment variables available on `process.env` and `import.meta.env` during tests. These variables will not be available in the main process (in `globalSetup`, for example).
@@ -0,0 +1,96 @@
1
+ # environment
2
+
3
+ - **Type:** `'node' | 'jsdom' | 'happy-dom' | 'edge-runtime' | string`
4
+ - **Default:** `'node'`
5
+ - **CLI:** `--environment=<env>`
6
+
7
+ The environment that will be used for testing. The default environment in Vitest
8
+ is a Node.js environment. If you are building a web application, you can use
9
+ browser-like environment through either [`jsdom`](https://github.com/jsdom/jsdom)
10
+ or [`happy-dom`](https://github.com/capricorn86/happy-dom) instead.
11
+ If you are building edge functions, you can use [`edge-runtime`](https://edge-runtime.vercel.app/packages/vm) environment
12
+
13
+ ::: tip
14
+ You can also use [Browser Mode](/guide/browser/) to run integration or unit tests in the browser without mocking the environment.
15
+ :::
16
+
17
+ To define custom options for your environment, use [`environmentOptions`](/config/environmentoptions).
18
+
19
+ By adding a `@vitest-environment` docblock or comment at the top of the file,
20
+ you can specify another environment to be used for all tests in that file:
21
+
22
+ Docblock style:
23
+
24
+ ```js
25
+ /**
26
+ * @vitest-environment jsdom
27
+ */
28
+
29
+ test('use jsdom in this test file', () => {
30
+ const element = document.createElement('div')
31
+ expect(element).not.toBeNull()
32
+ })
33
+ ```
34
+
35
+ Comment style:
36
+
37
+ ```js
38
+ // @vitest-environment happy-dom
39
+
40
+ test('use happy-dom in this test file', () => {
41
+ const element = document.createElement('div')
42
+ expect(element).not.toBeNull()
43
+ })
44
+ ```
45
+
46
+ For compatibility with Jest, there is also a `@jest-environment`:
47
+
48
+ ```js
49
+ /**
50
+ * @jest-environment jsdom
51
+ */
52
+
53
+ test('use jsdom in this test file', () => {
54
+ const element = document.createElement('div')
55
+ expect(element).not.toBeNull()
56
+ })
57
+ ```
58
+
59
+ You can also define a custom environment. When non-builtin environment is used, Vitest will try to load the file if it's relative or absolute, or a package `vitest-environment-${name}`, if the name is a bare specifier.
60
+
61
+ The custom environment file should export an object with the shape of `Environment`:
62
+
63
+ ```ts [environment.js]
64
+ import type { Environment } from 'vitest'
65
+
66
+ export default <Environment>{
67
+ name: 'custom',
68
+ viteEnvironment: 'ssr',
69
+ setup() {
70
+ // custom setup
71
+ return {
72
+ teardown() {
73
+ // called after all tests with this env have been run
74
+ }
75
+ }
76
+ }
77
+ }
78
+ ```
79
+
80
+ ::: tip
81
+ The `viteEnvironment` field corresponds to the environment defined by the [Vite Environment API](https://vite.dev/guide/api-environment#environment-api). By default, Vite exposes `client` (for the browser) and `ssr` (for the server) environments.
82
+ :::
83
+
84
+ Vitest also exposes `builtinEnvironments` through `vitest/environments` entry, in case you just want to extend it. You can read more about extending environments in [our guide](/guide/environment).
85
+
86
+ ::: tip
87
+ jsdom environment exposes `jsdom` global variable equal to the current [JSDOM](https://github.com/jsdom/jsdom) instance. If you want TypeScript to recognize it, you can add `vitest/jsdom` to your `tsconfig.json` when you use this environment:
88
+
89
+ ```json [tsconfig.json]
90
+ {
91
+ "compilerOptions": {
92
+ "types": ["vitest/jsdom"]
93
+ }
94
+ }
95
+ ```
96
+ :::
@@ -0,0 +1,30 @@
1
+ # environmentOptions
2
+
3
+ - **Type:** `Record<'jsdom' | 'happyDOM' | string, unknown>`
4
+ - **Default:** `{}`
5
+
6
+ These options are passed to the setup method of the current [environment](/config/environment). By default, you can configure options only for `jsdom` and `happyDOM` when you use them as your test environment.
7
+
8
+ ## Example
9
+
10
+ ```js [vitest.config.js]
11
+ import { defineConfig } from 'vitest/config'
12
+
13
+ export default defineConfig({
14
+ test: {
15
+ environmentOptions: {
16
+ jsdom: {
17
+ url: 'http://localhost:3000',
18
+ },
19
+ happyDOM: {
20
+ width: 300,
21
+ height: 400,
22
+ },
23
+ },
24
+ },
25
+ })
26
+ ```
27
+
28
+ ::: warning
29
+ Options are scoped to their environment. For example, put jsdom options under the `jsdom` key and happy-dom options under the `happyDOM` key. This lets you mix multiple environments within the same project.
30
+ :::
@@ -0,0 +1,49 @@
1
+ # exclude
2
+
3
+ - **Type:** `string[]`
4
+ - **Default:** `['**/node_modules/**', '**/.git/**']`
5
+ - **CLI:** `vitest --exclude "**/excluded-file" --exclude "*/other-files/*.js"`
6
+
7
+ A list of [glob patterns](https://superchupu.dev/tinyglobby/comparison) that should be excluded from your test files. These patterns are resolved relative to the [`root`](/config/root) ([`process.cwd()`](https://nodejs.org/api/process.html#processcwd) by default).
8
+
9
+ Vitest uses the [`tinyglobby`](https://npmx.dev/package/tinyglobby) package to resolve the globs.
10
+
11
+ ::: warning
12
+ This option does not affect coverage. If you need to remove certain files from the coverage report, use [`coverage.exclude`](/config/coverage#exclude).
13
+
14
+ This is the only option that doesn't override your configuration if you provide it with a CLI flag. All glob patterns added via `--exclude` flag will be added to the config's `exclude`.
15
+ :::
16
+
17
+ ## Example
18
+
19
+ ```js
20
+ import { defineConfig } from 'vitest/config'
21
+
22
+ export default defineConfig({
23
+ test: {
24
+ exclude: [
25
+ '**/node_modules/**',
26
+ '**/dist/**',
27
+ './temp/**',
28
+ ],
29
+ },
30
+ })
31
+ ```
32
+
33
+ ::: tip
34
+ Although the CLI `exclude` option is additive, manually setting `exclude` in your config will replace the default value. To extend the default `exclude` patterns, use `configDefaults` from `vitest/config`:
35
+
36
+ ```js{6}
37
+ import { configDefaults, defineConfig } from 'vitest/config'
38
+
39
+ export default defineConfig({
40
+ test: {
41
+ exclude: [
42
+ ...configDefaults.exclude,
43
+ 'packages/template/*',
44
+ './temp/**',
45
+ ],
46
+ },
47
+ })
48
+ ```
49
+ :::
@@ -0,0 +1,10 @@
1
+ # execArgv
2
+
3
+ - **Type:** `string[]`
4
+ - **Default:** `[]`
5
+
6
+ Pass additional arguments to `node` in the runner worker. See [Command-line API | Node.js](https://nodejs.org/docs/latest/api/cli.html) for more information.
7
+
8
+ :::warning
9
+ Be careful when using, it as some options may crash worker, e.g. `--prof`, `--title`. See https://github.com/nodejs/node/issues/41103.
10
+ :::
@@ -0,0 +1,7 @@
1
+ # expandSnapshotDiff
2
+
3
+ - **Type:** `boolean`
4
+ - **CLI:** `--expandSnapshotDiff`, `--expand-snapshot-diff`
5
+ - **Default:** `false`
6
+
7
+ Show full diff when snapshot fails instead of a patch.
@@ -0,0 +1,38 @@
1
+ # expect
2
+
3
+ - **Type:** `ExpectOptions`
4
+
5
+ ## expect.requireAssertions
6
+
7
+ - **Type:** `boolean`
8
+ - **Default:** `false`
9
+
10
+ The same as calling [`expect.hasAssertions()`](/api/expect#expect-hasassertions) at the start of every test. This makes sure that no test will pass accidentally.
11
+
12
+ ::: tip
13
+ This only works with Vitest's `expect`. If you use `assert` or `.should` assertions, they will not count, and your test will fail due to the lack of expect assertions.
14
+
15
+ You can change the value of this by calling `vi.setConfig({ expect: { requireAssertions: false } })`. The config will be applied to every subsequent `expect` call until the `vi.resetConfig` is called manually.
16
+ :::
17
+
18
+ ::: warning
19
+ When you run tests with `sequence.concurrent` and `expect.requireAssertions` set to `true`, you should use [local expect](/guide/test-context.html#expect) instead of the global one. Otherwise, this may cause false negatives in [some situations (#8469)](https://github.com/vitest-dev/vitest/issues/8469).
20
+ :::
21
+
22
+ ## expect.poll
23
+
24
+ Global configuration options for [`expect.poll`](/api/expect#poll). These are the same options you can pass down to `expect.poll(condition, options)`.
25
+
26
+ ### expect.poll.interval
27
+
28
+ - **Type:** `number`
29
+ - **Default:** `50`
30
+
31
+ Polling interval in milliseconds
32
+
33
+ ### expect.poll.timeout
34
+
35
+ - **Type:** `number`
36
+ - **Default:** `1000`
37
+
38
+ Polling timeout in milliseconds