vitest 5.0.1 → 5.0.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.
Files changed (34) hide show
  1. package/dist/browser.js +2 -2
  2. package/dist/chunks/{base.Cc3oda2V.js → base.5tQXSzMP.js} +8 -8
  3. package/dist/chunks/{cac.fSuRXrAx.js → cac.BLbEtnDd.js} +9 -9
  4. package/dist/chunks/{cli-api.DcLieX4F.js → cli-api.DL4Bd7Vh.js} +1 -1
  5. package/dist/chunks/{creator.BEj8pIIH.js → creator.2VTnpYzN.js} +2 -2
  6. package/dist/chunks/{doctor.DR3u0Z_G.js → doctor.BCXa6-1R.js} +1 -1
  7. package/dist/chunks/{globals.D9ucJdZZ.js → globals.Brdv9iOs.js} +3 -3
  8. package/dist/chunks/{index.DNv8WNGe.js → index.BgwtGYxD.js} +15 -5
  9. package/dist/chunks/{index.DzobfTyw.js → index.C-uw7tH9.js} +10 -8
  10. package/dist/chunks/{index.m3L2HgmY.js → index.DGdajAO2.js} +17 -6
  11. package/dist/chunks/{index.D4dXTzh9.js → index.hTNFpC24.js} +5 -3
  12. package/dist/chunks/{init-forks.DgHqDQHC.js → init-forks.CdGu3HUy.js} +1 -1
  13. package/dist/chunks/{init-threads.B-t1iYCi.js → init-threads.2f_lsHNK.js} +1 -1
  14. package/dist/chunks/{init.3UJvPvQg.js → init.IsjtLXKe.js} +2 -2
  15. package/dist/chunks/{nativeModuleMocker.B20FEd-E.js → nativeModuleMocker.DwRB4F9R.js} +1 -1
  16. package/dist/chunks/{plugin.d.CN87HSxv.d.ts → plugin.d.My_z-jmU.d.ts} +9 -7
  17. package/dist/chunks/{rpc.Bvs-iVxs.js → rpc.CJVl3hZH.js} +5 -4
  18. package/dist/chunks/{setup-common.BkQOiNcI.js → setup-common.Ct8rQvjH.js} +1 -1
  19. package/dist/chunks/{spy.DQ0ZsPbi.js → spy.KLHgXex_.js} +3 -2
  20. package/dist/chunks/{vm.W4G5WMTl.js → vm.KI2AYADz.js} +3 -3
  21. package/dist/cli.js +1 -1
  22. package/dist/config.d.ts +2 -2
  23. package/dist/index.js +3 -3
  24. package/dist/node.d.ts +2 -2
  25. package/dist/node.js +4 -4
  26. package/dist/runtime.js +2 -2
  27. package/dist/spy.js +1 -1
  28. package/dist/worker.js +8 -8
  29. package/dist/workers/forks.js +9 -9
  30. package/dist/workers/runVmTests.js +5 -5
  31. package/dist/workers/threads.js +9 -9
  32. package/dist/workers/vmForks.js +6 -6
  33. package/dist/workers/vmThreads.js +6 -6
  34. package/package.json +15 -15
package/dist/browser.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export { s as startCoverageInsideWorker, a as stopCoverageInsideWorker, t as takeCoverageInsideWorker } from './chunks/coverage.AipniaqB.js';
2
2
  export { p as collectTests, a as processError, s as startTests } from './chunks/run.C5UmxDPh.js';
3
- export { l as loadDiffConfig, a as loadSnapshotSerializers, s as setupCommonEnv, b as setupEnv } from './chunks/setup-common.BkQOiNcI.js';
4
- export { s as SpyModule } from './chunks/spy.DQ0ZsPbi.js';
3
+ export { l as loadDiffConfig, a as loadSnapshotSerializers, s as setupCommonEnv, b as setupEnv } from './chunks/setup-common.Ct8rQvjH.js';
4
+ export { s as SpyModule } from './chunks/spy.KLHgXex_.js';
5
5
  export { f as format, i as inspect, s as stringify } from './chunks/display.pkpxlVcY.js';
6
6
  export { g as getType } from './chunks/pathe.M-eThtNZ.DwEga6ro.js';
7
7
  export { D as DecodedMap, g as getOriginalPosition, a as getSafeTimers, s as setSafeTimers } from './chunks/source-map.BH0bbrs9.js';
@@ -1,13 +1,13 @@
1
1
  import { runInThisContext } from 'node:vm';
2
- import { s as spyModule } from './spy.DQ0ZsPbi.js';
3
- import { r as resolveTestRunner, a as resolveSnapshotEnvironment, d as detectAsyncLeaks, s as setupChaiConfig } from './index.DNv8WNGe.js';
4
- import { l as loadEnvironment, e as emitModuleRunner, a as listenForErrors } from './init.3UJvPvQg.js';
2
+ import { s as spyModule } from './spy.KLHgXex_.js';
3
+ import { r as resolveTestRunner, a as resolveSnapshotEnvironment, d as detectAsyncLeaks, s as setupChaiConfig } from './index.BgwtGYxD.js';
4
+ import { l as loadEnvironment, e as emitModuleRunner, a as listenForErrors } from './init.IsjtLXKe.js';
5
5
  import { Traces } from '../traces.js';
6
- import { V as VitestEvaluatedModules } from './rpc.Bvs-iVxs.js';
7
- import { s as startVitestModuleRunner, c as createNodeImportMeta } from './index.D4dXTzh9.js';
6
+ import { V as VitestEvaluatedModules } from './rpc.CJVl3hZH.js';
7
+ import { s as startVitestModuleRunner, c as createNodeImportMeta } from './index.hTNFpC24.js';
8
8
  import { performance as performance$1 } from 'node:perf_hooks';
9
9
  import { s as startCoverageInsideWorker, a as stopCoverageInsideWorker } from './coverage.AipniaqB.js';
10
- import { i as index, g as globalExpect, v as vi } from './index.m3L2HgmY.js';
10
+ import { i as index, g as globalExpect, v as vi } from './index.DGdajAO2.js';
11
11
  import { c as closeInspector } from './inspector.CvyFGlXm.js';
12
12
  import { s as startTests, p as publicCollect } from './run.C5UmxDPh.js';
13
13
  import { createRequire } from 'node:module';
@@ -15,7 +15,7 @@ import timers from 'node:timers';
15
15
  import timersPromises from 'node:timers/promises';
16
16
  import util from 'node:util';
17
17
  import { K as KNOWN_ASSET_TYPES } from './pathe.M-eThtNZ.DwEga6ro.js';
18
- import { s as setupCommonEnv, b as setupEnv } from './setup-common.BkQOiNcI.js';
18
+ import { s as setupCommonEnv, b as setupEnv } from './setup-common.Ct8rQvjH.js';
19
19
  import { g as getWorkerState, r as resetModules, p as provideWorkerState, a as getSafeWorkerState } from './utils.DYj33du9.js';
20
20
 
21
21
  // this should only be used in Node
@@ -119,7 +119,7 @@ async function startModuleRunner(options) {
119
119
  let mocker;
120
120
  if (options.state.config.experimental.nodeLoader !== false) {
121
121
  // this additionally imports acorn/magic-string
122
- const { NativeModuleMocker } = await import('./nativeModuleMocker.B20FEd-E.js');
122
+ const { NativeModuleMocker } = await import('./nativeModuleMocker.DwRB4F9R.js');
123
123
  mocker = new NativeModuleMocker({
124
124
  async resolveId(id, importer) {
125
125
  // TODO: use import.meta.resolve instead
@@ -620,7 +620,7 @@ class CAC extends EventEmitter {
620
620
 
621
621
  const cac = (name = "") => new CAC(name);
622
622
 
623
- var version = "5.0.1";
623
+ var version = "5.0.2";
624
624
 
625
625
  const apiConfig = (port) => ({
626
626
  port: {
@@ -975,11 +975,11 @@ const cliOptionsConfig = {
975
975
  argument: "<seed>"
976
976
  },
977
977
  hooks: {
978
- description: "Changes the order in which hooks are executed. Accepted values are: \"stack\", \"list\" and \"parallel\". Visit [`sequence.hooks`](https://vitest.dev/config/sequence#sequence-hooks) for more information (default: `\"parallel\"`)",
978
+ description: "Changes the order in which hooks are executed. Accepted values are: \"stack\", \"list\" and \"parallel\". Visit [`sequence.hooks`](https://vitest.dev/config/sequence#sequence-hooks) for more information (default: `\"stack\"`)",
979
979
  argument: "<order>"
980
980
  },
981
981
  setupFiles: {
982
- description: "Changes the order in which setup files are executed. Accepted values are: \"list\" and \"parallel\". If set to \"list\", will run setup files in the order they are defined. If set to \"parallel\", will run setup files in parallel (default: `\"parallel\"`)",
982
+ description: "Changes the order in which setup files are executed. Accepted values are: \"list\" and \"parallel\". If set to \"list\", will run setup files in the order they are defined. If set to \"parallel\", will run setup files in parallel (default: `\"list\"`)",
983
983
  argument: "<order>"
984
984
  },
985
985
  groupOrder: null
@@ -1074,10 +1074,10 @@ const cliOptionsConfig = {
1074
1074
  description: "Placeholder for an empty first or last line (default: `\"\"`)",
1075
1075
  argument: "<placeholder>"
1076
1076
  },
1077
- expand: { description: "Expand all common lines (default: `true`)" },
1077
+ expand: { description: "Expand all common lines (default: `false`)" },
1078
1078
  includeChangeCounts: { description: "Include comparison counts in diff output (default: `false`)" },
1079
1079
  omitAnnotationLines: { description: "Omit annotation lines from the output (default: `false`)" },
1080
- printBasicPrototype: { description: "Print basic prototype Object and Array (default: `true`)" },
1080
+ printBasicPrototype: { description: "Print basic prototype Object and Array (default: `false`)" },
1081
1081
  maxDepth: {
1082
1082
  description: "Limit the depth to recurse when printing nested objects (default: `20`)",
1083
1083
  argument: "<maxDepth>"
@@ -2366,7 +2366,7 @@ function normalizeCliOptions(cliFilters, argv) {
2366
2366
  }
2367
2367
  async function start(cliFilters, options) {
2368
2368
  try {
2369
- const { startVitest } = await import('./cli-api.DcLieX4F.js').then(function (n) { return n.a; });
2369
+ const { startVitest } = await import('./cli-api.DL4Bd7Vh.js').then(function (n) { return n.a; });
2370
2370
  const ctx = await startVitest(cliFilters.map(normalize), normalizeCliOptions(cliFilters, options));
2371
2371
  if (!ctx.shouldKeepServer()) await ctx.exit();
2372
2372
  } catch (e) {
@@ -2380,7 +2380,7 @@ async function start(cliFilters, options) {
2380
2380
  }
2381
2381
  async function doctorCommand(cliFilters, options) {
2382
2382
  try {
2383
- const { doctor } = await import('./doctor.DR3u0Z_G.js');
2383
+ const { doctor } = await import('./doctor.BCXa6-1R.js');
2384
2384
  await doctor(cliFilters.map(normalize), normalizeCliOptions(cliFilters, options));
2385
2385
  process.exit();
2386
2386
  } catch (e) {
@@ -2397,12 +2397,12 @@ async function init(project) {
2397
2397
  console.error(/* @__PURE__ */ new Error("Only the \"browser\" project is supported. Use \"vitest init browser\" to create a new project."));
2398
2398
  process.exit(1);
2399
2399
  }
2400
- const { create } = await import('./creator.BEj8pIIH.js');
2400
+ const { create } = await import('./creator.2VTnpYzN.js');
2401
2401
  await create();
2402
2402
  }
2403
2403
  async function collect(cliFilters, options) {
2404
2404
  try {
2405
- const { prepareVitest, processCollected, outputFileList } = await import('./cli-api.DcLieX4F.js').then(function (n) { return n.a; });
2405
+ const { prepareVitest, processCollected, outputFileList } = await import('./cli-api.DL4Bd7Vh.js').then(function (n) { return n.a; });
2406
2406
  const ctx = await prepareVitest({
2407
2407
  ...normalizeCliOptions(cliFilters, options),
2408
2408
  watch: false,
@@ -1,6 +1,6 @@
1
1
  import { mkdirSync, writeFileSync } from 'node:fs';
2
2
  import { C as CoverageProviderMap } from './coverage.CX7NN5s7.js';
3
- import { L as Logger, k as VitestPackageInstaller, P as PluginHarness, w as resolveConfig, V as Vitest, A as stdout, y as prompt, g as FilesNotFoundError, G as GitNotFoundError, I as IncludeTaskLocationDisabledError, C as RangeLocationFilterProvidedError, E as LocationFilterFileNotFoundError } from './index.DzobfTyw.js';
3
+ import { L as Logger, k as VitestPackageInstaller, P as PluginHarness, w as resolveConfig, V as Vitest, A as stdout, y as prompt, g as FilesNotFoundError, G as GitNotFoundError, I as IncludeTaskLocationDisabledError, C as RangeLocationFilterProvidedError, E as LocationFilterFileNotFoundError } from './index.C-uw7tH9.js';
4
4
  import readline from 'node:readline';
5
5
  import { y } from './tinyrainbow.Ht9iggcq.js';
6
6
  import { i as isWindows } from './env.DzFJjrmK.js';
@@ -2,14 +2,14 @@ import { existsSync, writeFileSync, readFileSync } from 'node:fs';
2
2
  import { mkdir, writeFile } from 'node:fs/promises';
3
3
  import { resolve, dirname, relative } from 'node:path';
4
4
  import { detectPackageManager, installPackage } from './index.DXQx-kDM.js';
5
- import { y as prompt, z as findConfigFile } from './index.DzobfTyw.js';
5
+ import { y as prompt, z as findConfigFile } from './index.C-uw7tH9.js';
6
6
  import { x } from 'tinyexec';
7
7
  import { y } from './tinyrainbow.Ht9iggcq.js';
8
8
  import 'node:process';
9
9
  import 'node:os';
10
10
  import './pathe.M-eThtNZ.DwEga6ro.js';
11
11
  import './source-map.BH0bbrs9.js';
12
- import './cac.fSuRXrAx.js';
12
+ import './cac.BLbEtnDd.js';
13
13
  import 'events';
14
14
  import './env.DzFJjrmK.js';
15
15
  import 'std-env';
@@ -100,7 +100,7 @@ function log(...args) {
100
100
  console.log(...args);
101
101
  }
102
102
  async function doctor(cliFilters, options) {
103
- const { prepareVitest } = await import('./cli-api.DcLieX4F.js').then(function (n) { return n.a; });
103
+ const { prepareVitest } = await import('./cli-api.DL4Bd7Vh.js').then(function (n) { return n.a; });
104
104
  log();
105
105
  log(y.inverse(y.bold(y.blue(" DOCTOR "))), "resolving the current configuration...");
106
106
  const ctx = await prepareVitest({
@@ -1,5 +1,5 @@
1
1
  import { g as globalApis } from './constants.-juJ8b_4.js';
2
- import { i as index } from './index.m3L2HgmY.js';
2
+ import { i as index } from './index.DGdajAO2.js';
3
3
  import './run.C5UmxDPh.js';
4
4
  import './index.M2dsQ_UQ.js';
5
5
  import './tinyrainbow.Ht9iggcq.js';
@@ -8,11 +8,11 @@ import './pathe.M-eThtNZ.DwEga6ro.js';
8
8
  import './source-map.BH0bbrs9.js';
9
9
  import '../task-utils.js';
10
10
  import './utils.DYj33du9.js';
11
- import './spy.DQ0ZsPbi.js';
11
+ import './spy.KLHgXex_.js';
12
12
  import 'chai';
13
13
  import './plugins.Cigb0uSy.js';
14
14
  import './offset.Dy-5Fdfn.js';
15
- import './rpc.Bvs-iVxs.js';
15
+ import './rpc.CJVl3hZH.js';
16
16
  import 'vite/module-runner';
17
17
  import './index.DmDMHCg8.js';
18
18
  import 'tinybench';
@@ -1,10 +1,10 @@
1
1
  import * as chai from 'chai';
2
2
  import { createHook } from 'node:async_hooks';
3
3
  import { t as takeCoverageInsideWorker } from './coverage.AipniaqB.js';
4
- import { r as rpc } from './rpc.Bvs-iVxs.js';
5
- import { l as loadDiffConfig, a as loadSnapshotSerializers } from './setup-common.BkQOiNcI.js';
4
+ import { r as rpc } from './rpc.CJVl3hZH.js';
5
+ import { l as loadDiffConfig, a as loadSnapshotSerializers } from './setup-common.Ct8rQvjH.js';
6
6
  import { g as getWorkerState } from './utils.DYj33du9.js';
7
- import { T as TestRunner } from './index.m3L2HgmY.js';
7
+ import { T as TestRunner } from './index.DGdajAO2.js';
8
8
 
9
9
  function setupChaiConfig(config) {
10
10
  Object.assign(chai.config, config);
@@ -32,6 +32,7 @@ const IGNORED_TYPES = /* @__PURE__ */ new Set([
32
32
  "TLSWRAP",
33
33
  "ZLIB"
34
34
  ]);
35
+ const STDIO_TYPES = /* @__PURE__ */ new Set(["PIPEWRAP", "TTYWRAP"]);
35
36
  function detectAsyncLeaks(testFile, projectName) {
36
37
  const resources = /* @__PURE__ */ new Map();
37
38
  const hook = createHook({
@@ -64,7 +65,8 @@ function detectAsyncLeaks(testFile, projectName) {
64
65
  stack,
65
66
  projectName,
66
67
  filename: testFile,
67
- isActive
68
+ isActive,
69
+ handle: STDIO_TYPES.has(type) ? new WeakRef(resource) : void 0
68
70
  });
69
71
  },
70
72
  destroy(asyncId) {
@@ -79,7 +81,7 @@ function detectAsyncLeaks(testFile, projectName) {
79
81
  await new Promise((resolve) => setImmediate(resolve));
80
82
  hook.disable();
81
83
  const leaks = [];
82
- for (const resource of resources.values()) if (resource.isActive()) leaks.push({
84
+ for (const resource of resources.values()) if (resource.isActive() && !isStdioHandle(resource.handle?.deref())) leaks.push({
83
85
  stack: resource.stack,
84
86
  type: resource.type,
85
87
  filename: resource.filename,
@@ -92,6 +94,14 @@ function detectAsyncLeaks(testFile, projectName) {
92
94
  function isActiveDefault() {
93
95
  return true;
94
96
  }
97
+ function isStdioHandle(handle) {
98
+ if (!handle) return false;
99
+ return [
100
+ process.stdin,
101
+ process.stdout,
102
+ process.stderr
103
+ ].some((stream) => stream._handle === handle);
104
+ }
95
105
 
96
106
  async function getTestRunnerConstructor(config, moduleRunner) {
97
107
  if (!config.runner) return TestRunner;
@@ -2,7 +2,7 @@ import * as os from 'node:os';
2
2
  import os__default, { homedir, tmpdir, availableParallelism, hostname } from 'node:os';
3
3
  import { j as join, b as basename, d as dirname, i as isAbsolute, r as resolve, c as cleanUrl, D as noop$1, f as extname, h as KNOWN_ASSET_RE, F as withTrailingSlash, G as wrapId, H as isExternalUrl, I as unwrapId, a as relative, z as unique, e as createDefer, s as slash, t as toArray, m as isPrimitive, n as normalize, J as deepMerge, p as deepClone, L as sanitizeFilePath } from './pathe.M-eThtNZ.DwEga6ro.js';
4
4
  import { e as getDefaultExportFromCjs, T as TraceMap, o as originalPositionFor, k as generatedPositionFor, l as eachMapping, m as stackIgnorePatterns, f as parseErrorStacktrace, p as parseStacktrace, b as serializeValue } from './source-map.BH0bbrs9.js';
5
- import { v as version$1 } from './cac.fSuRXrAx.js';
5
+ import { v as version$1 } from './cac.BLbEtnDd.js';
6
6
  import * as fs from 'node:fs';
7
7
  import fs__default, { promises, existsSync, mkdirSync, readFileSync, writeFileSync, chmodSync, statfsSync, realpathSync, statSync, readdirSync } from 'node:fs';
8
8
  import { performance as performance$1 } from 'node:perf_hooks';
@@ -14257,7 +14257,8 @@ function captureProvidedOptions(...sources) {
14257
14257
  pool: sources.some((source) => source?.pool != null),
14258
14258
  isolate: sources.some((source) => source?.isolate != null),
14259
14259
  environment: sources.some((source) => source?.environment != null || source?.dom),
14260
- fsModuleCache: sources.some((source) => source?.fsModuleCache != null || (source?.experimental)?.fsModuleCache != null)
14260
+ fsModuleCache: sources.some((source) => source?.fsModuleCache != null || (source?.experimental)?.fsModuleCache != null),
14261
+ silent: sources.some((source) => source?.silent != null)
14261
14262
  };
14262
14263
  }
14263
14264
  // warn only once, check one PER PROCESS, not per instance,
@@ -15855,9 +15856,8 @@ function deserializeEnvironmentModuleGraph(environment, serialized) {
15855
15856
 
15856
15857
  class HangingProcessReporter {
15857
15858
  whyRunning;
15858
- onInit() {
15859
- const _require = createRequire(import.meta.url);
15860
- this.whyRunning = _require("why-is-node-running");
15859
+ async onInit() {
15860
+ this.whyRunning = await import('why-is-node-running').then((mod) => mod.default);
15861
15861
  }
15862
15862
  onProcessTimeout() {
15863
15863
  this.whyRunning?.();
@@ -15868,8 +15868,7 @@ function createReport(ctx, scope) {
15868
15868
  const root = ctx.config.root;
15869
15869
  const vitestDir = resolve$1(root, ".vitest");
15870
15870
  const reportDir = resolve$1(vitestDir, scope);
15871
- if (!fs.existsSync(vitestDir)) fs.mkdirSync(vitestDir);
15872
- if (!fs.existsSync(reportDir)) fs.mkdirSync(reportDir);
15871
+ fs.mkdirSync(reportDir, { recursive: true });
15873
15872
  return {
15874
15873
  root: reportDir,
15875
15874
  async clean(force = false) {
@@ -18229,11 +18228,14 @@ class MinimalReporter extends DefaultReporter {
18229
18228
  renderSucceed = false;
18230
18229
  constructor(options = {}) {
18231
18230
  super({
18232
- silent: "passed-only",
18233
18231
  ...options,
18234
18232
  summary: false
18235
18233
  });
18236
18234
  }
18235
+ onInit(ctx) {
18236
+ if (this.silent == null && !ctx.config.providedOptions.silent) this.silent = "passed-only";
18237
+ super.onInit(ctx);
18238
+ }
18237
18239
  onTestRunStart(specifications) {
18238
18240
  super.onTestRunStart(specifications);
18239
18241
  this.renderSucceed = false;
@@ -1,7 +1,7 @@
1
1
  import { b as printDiffOrStringify, d as diff, a as processError, T as TestSyntaxError, g as getCurrentTest, c as createTaskCollector, e as getCurrentSuite, f as createChainable, h as getHooks, i as getFn, m as matchesTags, j as afterAll, k as afterEach, l as aroundAll, n as aroundEach, o as beforeAll, q as beforeEach, r as describe, t as it, u as onTestFailed, v as onTestFinished, w as recordArtifact, x as suite, y as test } from './run.C5UmxDPh.js';
2
2
  import { i as isChildProcess, r as resetModules, g as getWorkerState } from './utils.DYj33du9.js';
3
3
  import { e as getDefaultExportFromCjs, f as parseErrorStacktrace, h as commonjsGlobal, a as getSafeTimers, i as parseSingleStack, j as delay } from './source-map.BH0bbrs9.js';
4
- import { i as isMockFunction, f as fn, a as spyOn, r as restoreAllMocks, b as resetAllMocks, c as clearAllMocks } from './spy.DQ0ZsPbi.js';
4
+ import { i as isMockFunction, f as fn, a as spyOn, r as restoreAllMocks, b as resetAllMocks, c as clearAllMocks } from './spy.KLHgXex_.js';
5
5
  import { u as isObject, B as getCallLastIndex, g as getType, D as noop, x as assertTypes, w as ordinal, E as createSimpleStackTrace, i as isAbsolute, a as relative, n as normalize } from './pathe.M-eThtNZ.DwEga6ro.js';
6
6
  import { s as stringify, i as inspect } from './display.pkpxlVcY.js';
7
7
  import { y } from './tinyrainbow.Ht9iggcq.js';
@@ -11,7 +11,7 @@ import { getNames, getTests, getTestName, createFileTask } from '../task-utils.j
11
11
  import { g as getSerializers, a as addSerializer } from './plugins.Cigb0uSy.js';
12
12
  import { p as positionToOffset, o as offsetToLineNumber, l as lineSplitRE } from './offset.Dy-5Fdfn.js';
13
13
  import { f as format } from './index.M2dsQ_UQ.js';
14
- import { r as rpc, V as VitestEvaluatedModules } from './rpc.Bvs-iVxs.js';
14
+ import { r as rpc, V as VitestEvaluatedModules } from './rpc.CJVl3hZH.js';
15
15
  import { Bench } from 'tinybench';
16
16
  import { expectTypeOf } from 'expect-type';
17
17
 
@@ -1223,8 +1223,10 @@ function asymmetricMatch(a, b, customTesters) {
1223
1223
  const asymmetricA = isAsymmetric(a);
1224
1224
  const asymmetricB = isAsymmetric(b);
1225
1225
  if (asymmetricA && asymmetricB) return;
1226
- if (asymmetricA) return a.asymmetricMatch(b, customTesters);
1227
- if (asymmetricB) return b.asymmetricMatch(a, customTesters);
1226
+ // Asymmetric matchers define their own subset semantics.
1227
+ const testers = customTesters.filter((tester) => !isSubsetEqualityTester(tester));
1228
+ if (asymmetricA) return a.asymmetricMatch(b, testers);
1229
+ if (asymmetricB) return b.asymmetricMatch(a, testers);
1228
1230
  }
1229
1231
  // https://github.com/jestjs/jest/blob/905bcbced3d40cdf7aadc4cdf6fb731c4bb3dbe3/packages/expect-utils/src/utils.ts#L509
1230
1232
  function isError(value) {
@@ -1471,12 +1473,21 @@ function hasPropertyInObject(object, key) {
1471
1473
  function isObjectWithKeys(a) {
1472
1474
  return isObject(a) && !isError(a) && !Array.isArray(a) && !(a instanceof Date) && !(a instanceof Set) && !(a instanceof Map);
1473
1475
  }
1476
+ // Recursive subset testers are closures, so track them by identity.
1477
+ const subsetEqualityTesters = /* @__PURE__ */ new WeakSet();
1478
+ function registerSubsetEqualityTester(tester) {
1479
+ subsetEqualityTesters.add(tester);
1480
+ return tester;
1481
+ }
1482
+ function isSubsetEqualityTester(tester) {
1483
+ return tester === subsetEquality || subsetEqualityTesters.has(tester);
1484
+ }
1474
1485
  function subsetEquality(object, subset, customTesters = []) {
1475
1486
  const filteredCustomTesters = customTesters.filter((t) => t !== subsetEquality);
1476
1487
  // subsetEquality needs to keep track of the references
1477
1488
  // it has already visited to avoid infinite loops in case
1478
1489
  // there are circular references in the subset passed to it.
1479
- const subsetEqualityWithContext = (seenReferences = /* @__PURE__ */ new WeakMap()) => (object, subset) => {
1490
+ const subsetEqualityWithContext = (seenReferences = /* @__PURE__ */ new WeakMap()) => registerSubsetEqualityTester((object, subset) => {
1480
1491
  if (!isObjectWithKeys(subset)) return;
1481
1492
  return Object.keys(subset).every((key) => {
1482
1493
  if (subset[key] != null && typeof subset[key] === "object") {
@@ -1492,7 +1503,7 @@ function subsetEquality(object, subset, customTesters = []) {
1492
1503
  seenReferences.delete(subset[key]);
1493
1504
  return result;
1494
1505
  });
1495
- };
1506
+ });
1496
1507
  return subsetEqualityWithContext()(object, subset);
1497
1508
  }
1498
1509
  function typeEquality(a, b) {
@@ -615,6 +615,7 @@ class VitestModuleRunner extends viteModuleRunner.ModuleRunner {
615
615
  }
616
616
  }
617
617
 
618
+ const platform = process.platform;
618
619
  const bareVitestRegexp = /^@?vitest(?:\/|$)/;
619
620
  const normalizedDistDir = normalize(distDir);
620
621
  const relativeIds = {};
@@ -626,7 +627,7 @@ function getRelativeDistDir(root) {
626
627
  }
627
628
  // all Vitest imports always need to be externalized
628
629
  function getCachedVitestImport(id, state) {
629
- if (id.startsWith("/@fs/") || id.startsWith("\\@fs\\")) id = id.slice(process.platform === "win32" ? 5 : 4);
630
+ if (id.startsWith("/@fs/") || id.startsWith("\\@fs\\")) id = id.slice(platform === "win32" ? 5 : 4);
630
631
  if (externalizeMap.has(id)) return {
631
632
  externalize: externalizeMap.get(id),
632
633
  type: "module"
@@ -1433,8 +1434,9 @@ function createCompatUtils(window) {
1433
1434
  return nodeFormData;
1434
1435
  },
1435
1436
  makeCompatBlob(blob) {
1436
- const buffer = blob[implSymbol]._buffer;
1437
- return new NodeBlob_([buffer], { type: blob.type });
1437
+ const impl = blob[implSymbol];
1438
+ // jsdom 28 renamed `_buffer` to `_bytes`
1439
+ return new NodeBlob_([impl._bytes ?? impl._buffer], { type: blob.type });
1438
1440
  }
1439
1441
  };
1440
1442
  return utils;
@@ -1,4 +1,4 @@
1
- import { i as init } from './init.3UJvPvQg.js';
1
+ import { i as init } from './init.IsjtLXKe.js';
2
2
 
3
3
  if (!process.send) throw new Error("Expected worker to be run in node:child_process");
4
4
  // Store globals in case tests overwrite them
@@ -1,5 +1,5 @@
1
1
  import { isMainThread, parentPort } from 'node:worker_threads';
2
- import { i as init } from './init.3UJvPvQg.js';
2
+ import { i as init } from './init.IsjtLXKe.js';
3
3
 
4
4
  if (isMainThread || !parentPort) throw new Error("Expected worker to be run in node:worker_threads");
5
5
  function workerInit(options) {
@@ -2,13 +2,13 @@ import { readFileSync } from 'node:fs';
2
2
  import module$1, { isBuiltin } from 'node:module';
3
3
  import { pathToFileURL } from 'node:url';
4
4
  import { EvaluatedModules, ModuleRunner } from 'vite/module-runner';
5
- import { e as environments, b as VitestTransport } from './index.D4dXTzh9.js';
5
+ import { e as environments, b as VitestTransport } from './index.hTNFpC24.js';
6
6
  import { r as resolve } from './pathe.M-eThtNZ.DwEga6ro.js';
7
7
  import { b as serializeValue, c as createStackString, p as parseStacktrace } from './source-map.BH0bbrs9.js';
8
8
  import './index.M2dsQ_UQ.js';
9
9
  import { m } from './tinyrainbow.Ht9iggcq.js';
10
10
  import { Traces } from '../traces.js';
11
- import { o as onCancel, V as VitestEvaluatedModules, a as rpcDone, c as createRuntimeRpc } from './rpc.Bvs-iVxs.js';
11
+ import { o as onCancel, V as VitestEvaluatedModules, a as rpcDone, c as createRuntimeRpc } from './rpc.CJVl3hZH.js';
12
12
  import { s as setupInspect } from './inspector.CvyFGlXm.js';
13
13
  import { E as EnvironmentTeardownError } from './utils.DYj33du9.js';
14
14
 
@@ -4,7 +4,7 @@ import { automockModule, createManualModuleSource, collectModuleExports } from '
4
4
  import { c as cleanUrl, e as createDefer, i as isAbsolute } from './pathe.M-eThtNZ.DwEga6ro.js';
5
5
  import { p as parse } from './acorn.C1kjbUFw.js';
6
6
  import { t as toBuiltin } from './modules.BJuCwlRJ.js';
7
- import { B as BareModuleMocker, n as normalizeModuleId } from './index.D4dXTzh9.js';
7
+ import { B as BareModuleMocker, n as normalizeModuleId } from './index.hTNFpC24.js';
8
8
  import 'node:fs';
9
9
  import './utils.DYj33du9.js';
10
10
  import '../path.js';
@@ -645,7 +645,7 @@ interface BrowserConfigOptions {
645
645
  testIdAttribute?: string;
646
646
  /**
647
647
  * Should locators match the text exactly by default
648
- * @default false
648
+ * @default true
649
649
  */
650
650
  exact?: boolean;
651
651
  /**
@@ -3201,13 +3201,14 @@ declare class DotReporter extends BaseReporter {
3201
3201
 
3202
3202
  declare class HangingProcessReporter implements Reporter {
3203
3203
  whyRunning: (() => void) | undefined;
3204
- onInit(): void;
3204
+ onInit(): Promise<void>;
3205
3205
  onProcessTimeout(): void;
3206
3206
  }
3207
3207
 
3208
3208
  declare class MinimalReporter extends DefaultReporter {
3209
3209
  renderSucceed: boolean;
3210
3210
  constructor(options?: DefaultReporterOptions);
3211
+ onInit(ctx: Vitest): void;
3211
3212
  onTestRunStart(specifications: ReadonlyArray<TestSpecification>): void;
3212
3213
  protected printTestModule(testModule: TestModule): void;
3213
3214
  protected printTestCase(moduleState: TestModuleState, test: TestCase): void;
@@ -3295,7 +3296,8 @@ interface BenchmarkUserOptions {
3295
3296
  include?: string[];
3296
3297
  /**
3297
3298
  * Exclude globs for benchmark test files
3298
- * @default []
3299
+ *
3300
+ * @default ['**\/node_modules/**', '**\/.git/**']
3299
3301
  */
3300
3302
  exclude?: string[];
3301
3303
  /**
@@ -3336,7 +3338,7 @@ type ApiConfig = Pick<ServerOptions, "port" | "strictPort" | "host" | "middlewar
3336
3338
  /**
3337
3339
  * Allow any write operations from the API server.
3338
3340
  *
3339
- * @default true if `api.host` is exposed to network, false otherwise
3341
+ * @default false if `api.host` is exposed to network, true otherwise
3340
3342
  */
3341
3343
  allowWrite?: boolean;
3342
3344
  /**
@@ -3344,7 +3346,7 @@ type ApiConfig = Pick<ServerOptions, "port" | "strictPort" | "host" | "middlewar
3344
3346
  * If `api.host` is exposed to network and `allowWrite` is true,
3345
3347
  * anyone connected to the API server can run arbitrary code on your machine.
3346
3348
  *
3347
- * @default true if `api.host` is exposed to network, false otherwise
3349
+ * @default false if `api.host` is exposed to network, true otherwise
3348
3350
  */
3349
3351
  allowExec?: boolean;
3350
3352
  };
@@ -3411,7 +3413,7 @@ interface SequenceOptions {
3411
3413
  * Defines how setup files should be ordered
3412
3414
  * - 'parallel' will run all setup files in parallel
3413
3415
  * - 'list' will run all setup files in the order they are defined in the config file
3414
- * @default 'parallel'
3416
+ * @default 'list'
3415
3417
  */
3416
3418
  setupFiles?: SequenceSetupFiles;
3417
3419
  /**
@@ -3665,7 +3667,7 @@ interface InlineConfig {
3665
3667
  /**
3666
3668
  * Watch mode
3667
3669
  *
3668
- * @default !process.env.CI
3670
+ * @default !process.env.CI && process.stdin.isTTY && !isAgent
3669
3671
  */
3670
3672
  watch?: boolean;
3671
3673
  /**
@@ -18,27 +18,28 @@ class VitestEvaluatedModules extends EvaluatedModules {
18
18
  }
19
19
 
20
20
  const { get } = Reflect;
21
+ const globalProcess = globalThis.process;
21
22
  function withSafeTimers(fn) {
22
23
  const { setTimeout, clearTimeout, nextTick, setImmediate, clearImmediate } = getSafeTimers();
23
24
  const currentSetTimeout = globalThis.setTimeout;
24
25
  const currentClearTimeout = globalThis.clearTimeout;
25
26
  const currentSetImmediate = globalThis.setImmediate;
26
27
  const currentClearImmediate = globalThis.clearImmediate;
27
- const currentNextTick = globalThis.process?.nextTick;
28
+ const currentNextTick = globalProcess?.nextTick;
28
29
  try {
29
30
  globalThis.setTimeout = setTimeout;
30
31
  globalThis.clearTimeout = clearTimeout;
31
32
  if (setImmediate) globalThis.setImmediate = setImmediate;
32
33
  if (clearImmediate) globalThis.clearImmediate = clearImmediate;
33
- if (globalThis.process && nextTick) globalThis.process.nextTick = nextTick;
34
+ if (globalProcess && nextTick) globalProcess.nextTick = nextTick;
34
35
  return fn();
35
36
  } finally {
36
37
  globalThis.setTimeout = currentSetTimeout;
37
38
  globalThis.clearTimeout = currentClearTimeout;
38
39
  globalThis.setImmediate = currentSetImmediate;
39
40
  globalThis.clearImmediate = currentClearImmediate;
40
- if (globalThis.process && nextTick) nextTick(() => {
41
- globalThis.process.nextTick = currentNextTick;
41
+ if (globalProcess && nextTick) nextTick(() => {
42
+ globalProcess.nextTick = currentNextTick;
42
43
  });
43
44
  }
44
45
  }
@@ -7,7 +7,7 @@ async function setupCommonEnv(config) {
7
7
  if (globalSetup) return;
8
8
  globalSetup = true;
9
9
  setSafeTimers();
10
- if (config.globals) (await import('./globals.D9ucJdZZ.js')).registerApiGlobally();
10
+ if (config.globals) (await import('./globals.Brdv9iOs.js')).registerApiGlobally();
11
11
  }
12
12
  function setupDefines(config) {
13
13
  for (const key in config.defines) globalThis[key] = config.defines[key];
@@ -6,6 +6,7 @@ const MOCK_RESTORE = /* @__PURE__ */ new Set();
6
6
  // but it makes the state slower to access and return different values
7
7
  // if you stored it before calling `mockClear` where it will be recreated
8
8
  const DIRTY_MOCK_STATES = /* @__PURE__ */ new Set();
9
+ const addDirtyMock = DIRTY_MOCK_STATES.add.bind(DIRTY_MOCK_STATES);
9
10
  const REGISTERED_MOCKS = /* @__PURE__ */ new Set();
10
11
  const MOCK_FINALIZER = new FinalizationRegistry((ref) => {
11
12
  REGISTERED_MOCKS.delete(ref);
@@ -268,8 +269,8 @@ function createMock({ state, config, name: mockName, prototypeState, prototypeCo
268
269
  const namedObject = {
269
270
  // to keep the name of the function intact
270
271
  [name]: (function(...args) {
271
- DIRTY_MOCK_STATES.add(namedObject[name]);
272
- if (prototypeMock) DIRTY_MOCK_STATES.add(prototypeMock);
272
+ addDirtyMock(namedObject[name]);
273
+ if (prototypeMock) addDirtyMock(prototypeMock);
273
274
  registerCalls(args, state, prototypeState);
274
275
  registerInvocationOrder(invocationCallCounter++, state, prototypeState);
275
276
  const result = {
@@ -1,7 +1,7 @@
1
1
  import { fileURLToPath, pathToFileURL } from 'node:url';
2
2
  import v8 from 'node:v8';
3
3
  import vm, { isContext, runInContext } from 'node:vm';
4
- import { l as loadEnvironment, a as listenForErrors, e as emitModuleRunner } from './init.3UJvPvQg.js';
4
+ import { l as loadEnvironment, a as listenForErrors, e as emitModuleRunner } from './init.IsjtLXKe.js';
5
5
  import { distDir } from '../path.js';
6
6
  import { createCustomConsole } from './console.B09ye7y0.js';
7
7
  import fs__default from 'node:fs';
@@ -10,9 +10,9 @@ import { d as dirname, f as extname, b as basename, C as CSS_LANGS_RE, h as KNOW
10
10
  import { l as lookupPackageScopeType } from './resolver.NpfwMKt9.js';
11
11
  import { initSync, parse } from 'es-module-lexer';
12
12
  import { dirname as dirname$1 } from 'node:path';
13
- import { V as VITEST_VM_CONTEXT_SYMBOL, s as startVitestModuleRunner, c as createNodeImportMeta } from './index.D4dXTzh9.js';
13
+ import { V as VITEST_VM_CONTEXT_SYMBOL, s as startVitestModuleRunner, c as createNodeImportMeta } from './index.hTNFpC24.js';
14
14
  import { getDefaultRequestStubs } from '../module-evaluator.js';
15
- import { b as setupEnv } from './setup-common.BkQOiNcI.js';
15
+ import { b as setupEnv } from './setup-common.Ct8rQvjH.js';
16
16
  import { p as provideWorkerState } from './utils.DYj33du9.js';
17
17
 
18
18
  /**
package/dist/cli.js CHANGED
@@ -1,4 +1,4 @@
1
- import { c as createCLI } from './chunks/cac.fSuRXrAx.js';
1
+ import { c as createCLI } from './chunks/cac.BLbEtnDd.js';
2
2
  import './chunks/pathe.M-eThtNZ.DwEga6ro.js';
3
3
  import 'events';
4
4
  import './chunks/tinyrainbow.Ht9iggcq.js';
package/dist/config.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { HookHandler, UserConfig, ConfigEnv } from 'vite';
2
2
  export { ConfigEnv, Plugin, UserConfig as ViteUserConfig, mergeConfig } from 'vite';
3
- import { F as FieldsWithDefaultValues, U as UserWorkspaceConfig, a as UserProjectConfigFn, b as UserProjectConfigExport } from './chunks/plugin.d.CN87HSxv.js';
3
+ import { F as FieldsWithDefaultValues, U as UserWorkspaceConfig, a as UserProjectConfigFn, b as UserProjectConfigExport } from './chunks/plugin.d.My_z-jmU.js';
4
4
  import { InlineConfig, ResolvedConfig, VitestPluginContext, CoverageOptions } from './node.js';
5
- export { T as TestProjectConfiguration, c as TestProjectInlineConfiguration, d as TestUserConfig, W as WatcherTriggerPattern } from './chunks/plugin.d.CN87HSxv.js';
5
+ export { T as TestProjectConfiguration, c as TestProjectInlineConfiguration, d as TestUserConfig, W as WatcherTriggerPattern } from './chunks/plugin.d.My_z-jmU.js';
6
6
  import { C as Config } from './chunks/config.d.CU_b-wJj.js';
7
7
  export { e as TestTagDefinition } from './chunks/config.d.CU_b-wJj.js';
8
8
  import 'node:stream';
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- export { S as Snapshots, T as TestRunner, a as assert, b as assertType, c as createExpect, g as expect, d as inject, s as should, v as vi, e as vitest } from './chunks/index.m3L2HgmY.js';
2
- export { V as EvaluatedModules } from './chunks/rpc.Bvs-iVxs.js';
1
+ export { S as Snapshots, T as TestRunner, a as assert, b as assertType, c as createExpect, g as expect, d as inject, s as should, v as vi, e as vitest } from './chunks/index.DGdajAO2.js';
2
+ export { V as EvaluatedModules } from './chunks/rpc.CJVl3hZH.js';
3
3
  export { j as afterAll, k as afterEach, l as aroundAll, n as aroundEach, o as beforeAll, q as beforeEach, r as describe, t as it, u as onTestFailed, v as onTestFinished, w as recordArtifact, x as suite, y as test } from './chunks/run.C5UmxDPh.js';
4
4
  export { expectTypeOf } from 'expect-type';
5
5
  import * as chai from 'chai';
@@ -7,7 +7,7 @@ export { chai };
7
7
  import './chunks/utils.DYj33du9.js';
8
8
  import './chunks/source-map.BH0bbrs9.js';
9
9
  import './chunks/pathe.M-eThtNZ.DwEga6ro.js';
10
- import './chunks/spy.DQ0ZsPbi.js';
10
+ import './chunks/spy.KLHgXex_.js';
11
11
  import './chunks/display.pkpxlVcY.js';
12
12
  import './chunks/index.M2dsQ_UQ.js';
13
13
  import './chunks/tinyrainbow.Ht9iggcq.js';
package/dist/node.d.ts CHANGED
@@ -3,8 +3,8 @@ import { UserConfig as UserConfig$1, ResolvedConfig as ResolvedConfig$1, Transfo
3
3
  export { vite as Vite };
4
4
  export { esbuildVersion, isCSSRequest, isFileLoadingAllowed, parseAst, parseAstAsync, rollupVersion, version as viteVersion } from 'vite';
5
5
  import { IncomingMessage } from 'node:http';
6
- import { R as ResolvedConfig, e as CliOptions, d as UserConfig, L as Logger, A as ApiConfig, P as PluginHarness, f as Vitest, g as ResolvedCoverageOptions, h as CoverageMap, i as ReportContext, j as TestProject, k as VitestOptions, l as VitestRunMode, m as TestSpecification, n as PoolWorker, o as PoolOptions, p as WorkerRequest, q as TestSequencer } from './chunks/plugin.d.CN87HSxv.js';
7
- export { M as AgentReporter, B as BaseCoverageOptions, r as BaseReporter, s as BenchmarkUserOptions, t as BrowserBuiltinProvider, u as BrowserCommand, v as BrowserCommandContext, w as BrowserConfigOptions, x as BrowserInstanceOption, y as BrowserModuleMocker, z as BrowserOrchestrator, D as BrowserProvider, E as BrowserProviderOption, G as BrowserScript, H as BrowserServerContribution, J as BrowserServerFactory, K as BrowserServerState, N as BrowserServerStateSession, O as BrowserTraceViewOptions, Q as BuiltinEnvironment, S as BuiltinReporterOptions, X as BuiltinReporters, Y as CSSModuleScopeStrategy, Z as CacheKeyIdGenerator, _ as CacheKeyIdGeneratorContext, $ as CoverageInstrumenter, a0 as CoverageIstanbulOptions, C as CoverageOptions, a1 as CoverageProvider, a2 as CoverageProviderModule, a3 as CoverageReporter, a4 as CoverageV8Options, a5 as CustomProviderOptions, a6 as DefaultReporter, a7 as DepsOptimizationOptions, a8 as DotReporter, a9 as EnvironmentOptions, aa as GithubActionsReporter, ab as HTMLOptions, ac as HangingProcessReporter, I as InlineConfig, ad as InstrumenterOptions, ae as JUnitOptions, af as JUnitReporter, ag as JsonAssertionResult, ah as JsonOptions, ai as JsonReporter, aj as JsonTestResult, ak as JsonTestResults, M as MinimalReporter, al as ModuleDiagnostic, am as OnServerRestartHandler, an as OnTestsRerunHandler, ao as ParentProjectBrowser, ap as Pool, aq as PoolRunnerInitializer, ar as PoolTask, as as ProjectBrowser, at as ProjectConfig, au as Report, av as ReportedHookContext, aw as Reporter, ax as ReportersMap, ay as ResolveSnapshotPathHandler, az as ResolveSnapshotPathHandlerContext, aA as ResolvedBrowserOptions, aB as ResolvedProjectConfig, aC as SerializedTestProject, aD as SuiteNameTemplateVariables, aE as TapFlatReporter, aF as TapReporter, aG as TaskOptions, aH as TestCase, aI as TestCollection, aJ as TestDiagnostic, aK as TestModule, aL as TestModuleState, aM as TestResult, aN as TestResultFailed, aO as TestResultPassed, aP as TestResultPending, aQ as TestResultSkipped, aR as TestRunEndReason, aS as TestRunResult, aT as TestSequencerConstructor, aU as TestSpecificationOptions, aV as TestState, aW as TestSuite, aX as TestSuiteState, aY as ToMatchScreenshotComparators, aZ as ToMatchScreenshotOptions, a_ as TypecheckConfig, U as UserWorkspaceConfig, a$ as VerboseReporter, b0 as VitestEnvironment, b1 as VitestPackageInstaller, V as VitestPluginContext, W as WatcherTriggerPattern, b2 as WorkerResponse, b3 as _BrowserNames, b4 as experimental_getRunnerTask, b5 as startVitest } from './chunks/plugin.d.CN87HSxv.js';
6
+ import { R as ResolvedConfig, e as CliOptions, d as UserConfig, L as Logger, A as ApiConfig, P as PluginHarness, f as Vitest, g as ResolvedCoverageOptions, h as CoverageMap, i as ReportContext, j as TestProject, k as VitestOptions, l as VitestRunMode, m as TestSpecification, n as PoolWorker, o as PoolOptions, p as WorkerRequest, q as TestSequencer } from './chunks/plugin.d.My_z-jmU.js';
7
+ export { M as AgentReporter, B as BaseCoverageOptions, r as BaseReporter, s as BenchmarkUserOptions, t as BrowserBuiltinProvider, u as BrowserCommand, v as BrowserCommandContext, w as BrowserConfigOptions, x as BrowserInstanceOption, y as BrowserModuleMocker, z as BrowserOrchestrator, D as BrowserProvider, E as BrowserProviderOption, G as BrowserScript, H as BrowserServerContribution, J as BrowserServerFactory, K as BrowserServerState, N as BrowserServerStateSession, O as BrowserTraceViewOptions, Q as BuiltinEnvironment, S as BuiltinReporterOptions, X as BuiltinReporters, Y as CSSModuleScopeStrategy, Z as CacheKeyIdGenerator, _ as CacheKeyIdGeneratorContext, $ as CoverageInstrumenter, a0 as CoverageIstanbulOptions, C as CoverageOptions, a1 as CoverageProvider, a2 as CoverageProviderModule, a3 as CoverageReporter, a4 as CoverageV8Options, a5 as CustomProviderOptions, a6 as DefaultReporter, a7 as DepsOptimizationOptions, a8 as DotReporter, a9 as EnvironmentOptions, aa as GithubActionsReporter, ab as HTMLOptions, ac as HangingProcessReporter, I as InlineConfig, ad as InstrumenterOptions, ae as JUnitOptions, af as JUnitReporter, ag as JsonAssertionResult, ah as JsonOptions, ai as JsonReporter, aj as JsonTestResult, ak as JsonTestResults, M as MinimalReporter, al as ModuleDiagnostic, am as OnServerRestartHandler, an as OnTestsRerunHandler, ao as ParentProjectBrowser, ap as Pool, aq as PoolRunnerInitializer, ar as PoolTask, as as ProjectBrowser, at as ProjectConfig, au as Report, av as ReportedHookContext, aw as Reporter, ax as ReportersMap, ay as ResolveSnapshotPathHandler, az as ResolveSnapshotPathHandlerContext, aA as ResolvedBrowserOptions, aB as ResolvedProjectConfig, aC as SerializedTestProject, aD as SuiteNameTemplateVariables, aE as TapFlatReporter, aF as TapReporter, aG as TaskOptions, aH as TestCase, aI as TestCollection, aJ as TestDiagnostic, aK as TestModule, aL as TestModuleState, aM as TestResult, aN as TestResultFailed, aO as TestResultPassed, aP as TestResultPending, aQ as TestResultSkipped, aR as TestRunEndReason, aS as TestRunResult, aT as TestSequencerConstructor, aU as TestSpecificationOptions, aV as TestState, aW as TestSuite, aX as TestSuiteState, aY as ToMatchScreenshotComparators, aZ as ToMatchScreenshotOptions, a_ as TypecheckConfig, U as UserWorkspaceConfig, a$ as VerboseReporter, b0 as VitestEnvironment, b1 as VitestPackageInstaller, V as VitestPluginContext, W as WatcherTriggerPattern, b2 as WorkerResponse, b3 as _BrowserNames, b4 as experimental_getRunnerTask, b5 as startVitest } from './chunks/plugin.d.My_z-jmU.js';
8
8
  import { EventEmitter } from 'events';
9
9
  import { A as Awaitable } from './chunks/config.d.CU_b-wJj.js';
10
10
  import { AfterSuiteRunMeta } from './index.js';
package/dist/node.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import * as vite from 'vite';
2
2
  export { esbuildVersion, isCSSRequest, isFileLoadingAllowed, parseAst, parseAstAsync, rollupVersion, version as viteVersion } from 'vite';
3
- import { V as Vitest } from './chunks/index.DzobfTyw.js';
4
- export { M as AgentReporter, B as BaseCoverageProvider, a as BaseSequencer, b as BrowserConnectionError, D as DefaultReporter, c as DotReporter, F as ForksPoolWorker, G as GitNotFoundError, d as GithubActionsReporter, H as HangingProcessReporter, J as JUnitReporter, e as JsonReporter, L as Logger, M as MinimalReporter, P as PluginHarness, R as ReportersMap, T as TapFlatReporter, f as TapReporter, g as TestsNotFoundError, h as ThreadsPoolWorker, i as TypecheckPoolWorker, j as VerboseReporter, k as VitestPackageInstaller, l as VmForksPoolWorker, m as VmThreadsPoolWorker, n as createDebugger, o as createMethodsRPC, p as createViteLogger, q as escapeTestName, r as experimental_getRunnerTask, s as getFilePoolName, t as isFileServingAllowed, u as isValidApiRequest, v as resolveApiServerConfig, w as resolveConfig, x as resolveFsAllow } from './chunks/index.DzobfTyw.js';
5
- export { c as createCLI, p as parseCLI } from './chunks/cac.fSuRXrAx.js';
6
- export { c as createVitest, r as registerConsoleShortcuts, s as startVitest } from './chunks/cli-api.DcLieX4F.js';
3
+ import { V as Vitest } from './chunks/index.C-uw7tH9.js';
4
+ export { M as AgentReporter, B as BaseCoverageProvider, a as BaseSequencer, b as BrowserConnectionError, D as DefaultReporter, c as DotReporter, F as ForksPoolWorker, G as GitNotFoundError, d as GithubActionsReporter, H as HangingProcessReporter, J as JUnitReporter, e as JsonReporter, L as Logger, M as MinimalReporter, P as PluginHarness, R as ReportersMap, T as TapFlatReporter, f as TapReporter, g as TestsNotFoundError, h as ThreadsPoolWorker, i as TypecheckPoolWorker, j as VerboseReporter, k as VitestPackageInstaller, l as VmForksPoolWorker, m as VmThreadsPoolWorker, n as createDebugger, o as createMethodsRPC, p as createViteLogger, q as escapeTestName, r as experimental_getRunnerTask, s as getFilePoolName, t as isFileServingAllowed, u as isValidApiRequest, v as resolveApiServerConfig, w as resolveConfig, x as resolveFsAllow } from './chunks/index.C-uw7tH9.js';
5
+ export { c as createCLI, p as parseCLI } from './chunks/cac.BLbEtnDd.js';
6
+ export { c as createVitest, r as registerConsoleShortcuts, s as startVitest } from './chunks/cli-api.DL4Bd7Vh.js';
7
7
  export { distDir, rootDir } from './path.js';
8
8
  export { generateFileHash } from './task-utils.js';
9
9
  export { m as disableDefaultColors } from './chunks/tinyrainbow.Ht9iggcq.js';
package/dist/runtime.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VitestModuleEvaluator } from './module-evaluator.js';
2
- import { V as VITEST_VM_CONTEXT_SYMBOL, s as startVitestModuleRunner, a as VitestModuleRunner } from './chunks/index.D4dXTzh9.js';
3
- export { e as builtinEnvironments, p as populateGlobal } from './chunks/index.D4dXTzh9.js';
2
+ import { V as VITEST_VM_CONTEXT_SYMBOL, s as startVitestModuleRunner, a as VitestModuleRunner } from './chunks/index.hTNFpC24.js';
3
+ export { e as builtinEnvironments, p as populateGlobal } from './chunks/index.hTNFpC24.js';
4
4
  import { g as getWorkerState } from './chunks/utils.DYj33du9.js';
5
5
  export { VitestNodeSnapshotEnvironment as VitestSnapshotEnvironment } from './chunks/node.CfQ_OGWr.js';
6
6
  import 'node:module';
package/dist/spy.js CHANGED
@@ -1 +1 @@
1
- export { c as clearAllMocks, d as createMockInstance, f as fn, i as isMockFunction, b as resetAllMocks, r as restoreAllMocks, a as spyOn } from './chunks/spy.DQ0ZsPbi.js';
1
+ export { c as clearAllMocks, d as createMockInstance, f as fn, i as isMockFunction, b as resetAllMocks, r as restoreAllMocks, a as spyOn } from './chunks/spy.KLHgXex_.js';
package/dist/worker.js CHANGED
@@ -1,23 +1,23 @@
1
- export { r as runBaseTests, s as setupEnvironment } from './chunks/base.Cc3oda2V.js';
2
- export { i as init } from './chunks/init.3UJvPvQg.js';
1
+ export { r as runBaseTests, s as setupEnvironment } from './chunks/base.5tQXSzMP.js';
2
+ export { i as init } from './chunks/init.IsjtLXKe.js';
3
3
  import 'node:vm';
4
- import './chunks/spy.DQ0ZsPbi.js';
5
- import './chunks/index.DNv8WNGe.js';
4
+ import './chunks/spy.KLHgXex_.js';
5
+ import './chunks/index.BgwtGYxD.js';
6
6
  import 'chai';
7
7
  import 'node:async_hooks';
8
8
  import './chunks/coverage.AipniaqB.js';
9
9
  import './chunks/coverage.CX7NN5s7.js';
10
10
  import './chunks/pathe.M-eThtNZ.DwEga6ro.js';
11
- import './chunks/rpc.Bvs-iVxs.js';
11
+ import './chunks/rpc.CJVl3hZH.js';
12
12
  import 'vite/module-runner';
13
13
  import './chunks/source-map.BH0bbrs9.js';
14
14
  import './chunks/index.DmDMHCg8.js';
15
15
  import './chunks/utils.DYj33du9.js';
16
- import './chunks/setup-common.BkQOiNcI.js';
16
+ import './chunks/setup-common.Ct8rQvjH.js';
17
17
  import './chunks/plugins.Cigb0uSy.js';
18
18
  import './chunks/index.M2dsQ_UQ.js';
19
19
  import './chunks/tinyrainbow.Ht9iggcq.js';
20
- import './chunks/index.m3L2HgmY.js';
20
+ import './chunks/index.DGdajAO2.js';
21
21
  import './chunks/run.C5UmxDPh.js';
22
22
  import './chunks/display.pkpxlVcY.js';
23
23
  import './task-utils.js';
@@ -25,7 +25,7 @@ import './chunks/offset.Dy-5Fdfn.js';
25
25
  import 'tinybench';
26
26
  import 'expect-type';
27
27
  import './traces.js';
28
- import './chunks/index.D4dXTzh9.js';
28
+ import './chunks/index.hTNFpC24.js';
29
29
  import 'node:fs';
30
30
  import './chunks/modules.BJuCwlRJ.js';
31
31
  import 'node:module';
@@ -1,34 +1,34 @@
1
- import { r as runBaseTests, s as setupBaseEnvironment } from '../chunks/base.Cc3oda2V.js';
2
- import { w as workerInit } from '../chunks/init-forks.DgHqDQHC.js';
1
+ import { r as runBaseTests, s as setupBaseEnvironment } from '../chunks/base.5tQXSzMP.js';
2
+ import { w as workerInit } from '../chunks/init-forks.CdGu3HUy.js';
3
3
  import 'node:vm';
4
- import '../chunks/spy.DQ0ZsPbi.js';
5
- import '../chunks/index.DNv8WNGe.js';
4
+ import '../chunks/spy.KLHgXex_.js';
5
+ import '../chunks/index.BgwtGYxD.js';
6
6
  import 'chai';
7
7
  import 'node:async_hooks';
8
8
  import '../chunks/coverage.AipniaqB.js';
9
9
  import '../chunks/coverage.CX7NN5s7.js';
10
10
  import '../chunks/pathe.M-eThtNZ.DwEga6ro.js';
11
- import '../chunks/rpc.Bvs-iVxs.js';
11
+ import '../chunks/rpc.CJVl3hZH.js';
12
12
  import 'vite/module-runner';
13
13
  import '../chunks/source-map.BH0bbrs9.js';
14
14
  import '../chunks/index.DmDMHCg8.js';
15
15
  import '../chunks/utils.DYj33du9.js';
16
- import '../chunks/setup-common.BkQOiNcI.js';
16
+ import '../chunks/setup-common.Ct8rQvjH.js';
17
17
  import '../chunks/plugins.Cigb0uSy.js';
18
18
  import '../chunks/index.M2dsQ_UQ.js';
19
19
  import '../chunks/tinyrainbow.Ht9iggcq.js';
20
- import '../chunks/index.m3L2HgmY.js';
20
+ import '../chunks/index.DGdajAO2.js';
21
21
  import '../chunks/run.C5UmxDPh.js';
22
22
  import '../chunks/display.pkpxlVcY.js';
23
23
  import '../task-utils.js';
24
24
  import '../chunks/offset.Dy-5Fdfn.js';
25
25
  import 'tinybench';
26
26
  import 'expect-type';
27
- import '../chunks/init.3UJvPvQg.js';
27
+ import '../chunks/init.IsjtLXKe.js';
28
28
  import 'node:fs';
29
29
  import 'node:module';
30
30
  import 'node:url';
31
- import '../chunks/index.D4dXTzh9.js';
31
+ import '../chunks/index.hTNFpC24.js';
32
32
  import '../chunks/modules.BJuCwlRJ.js';
33
33
  import '../path.js';
34
34
  import 'node:path';
@@ -4,21 +4,21 @@ import timers from 'node:timers';
4
4
  import timersPromises from 'node:timers/promises';
5
5
  import util from 'node:util';
6
6
  import { K as KNOWN_ASSET_TYPES } from '../chunks/pathe.M-eThtNZ.DwEga6ro.js';
7
- import { s as setupChaiConfig, r as resolveTestRunner, a as resolveSnapshotEnvironment, d as detectAsyncLeaks } from '../chunks/index.DNv8WNGe.js';
7
+ import { s as setupChaiConfig, r as resolveTestRunner, a as resolveSnapshotEnvironment, d as detectAsyncLeaks } from '../chunks/index.BgwtGYxD.js';
8
8
  import { s as startCoverageInsideWorker, a as stopCoverageInsideWorker } from '../chunks/coverage.AipniaqB.js';
9
- import { i as index, g as globalExpect } from '../chunks/index.m3L2HgmY.js';
9
+ import { i as index, g as globalExpect } from '../chunks/index.DGdajAO2.js';
10
10
  import { c as closeInspector } from '../chunks/inspector.CvyFGlXm.js';
11
11
  import { s as startTests, p as publicCollect } from '../chunks/run.C5UmxDPh.js';
12
- import { s as setupCommonEnv } from '../chunks/setup-common.BkQOiNcI.js';
12
+ import { s as setupCommonEnv } from '../chunks/setup-common.Ct8rQvjH.js';
13
13
  import { g as getWorkerState } from '../chunks/utils.DYj33du9.js';
14
14
  import 'chai';
15
15
  import 'node:async_hooks';
16
- import '../chunks/rpc.Bvs-iVxs.js';
16
+ import '../chunks/rpc.CJVl3hZH.js';
17
17
  import 'vite/module-runner';
18
18
  import '../chunks/source-map.BH0bbrs9.js';
19
19
  import '../chunks/index.DmDMHCg8.js';
20
20
  import '../chunks/coverage.CX7NN5s7.js';
21
- import '../chunks/spy.DQ0ZsPbi.js';
21
+ import '../chunks/spy.KLHgXex_.js';
22
22
  import '../chunks/display.pkpxlVcY.js';
23
23
  import '../chunks/index.M2dsQ_UQ.js';
24
24
  import '../chunks/tinyrainbow.Ht9iggcq.js';
@@ -1,34 +1,34 @@
1
- import { s as setupBaseEnvironment, r as runBaseTests } from '../chunks/base.Cc3oda2V.js';
2
- import { w as workerInit } from '../chunks/init-threads.B-t1iYCi.js';
1
+ import { s as setupBaseEnvironment, r as runBaseTests } from '../chunks/base.5tQXSzMP.js';
2
+ import { w as workerInit } from '../chunks/init-threads.2f_lsHNK.js';
3
3
  import 'node:vm';
4
- import '../chunks/spy.DQ0ZsPbi.js';
5
- import '../chunks/index.DNv8WNGe.js';
4
+ import '../chunks/spy.KLHgXex_.js';
5
+ import '../chunks/index.BgwtGYxD.js';
6
6
  import 'chai';
7
7
  import 'node:async_hooks';
8
8
  import '../chunks/coverage.AipniaqB.js';
9
9
  import '../chunks/coverage.CX7NN5s7.js';
10
10
  import '../chunks/pathe.M-eThtNZ.DwEga6ro.js';
11
- import '../chunks/rpc.Bvs-iVxs.js';
11
+ import '../chunks/rpc.CJVl3hZH.js';
12
12
  import 'vite/module-runner';
13
13
  import '../chunks/source-map.BH0bbrs9.js';
14
14
  import '../chunks/index.DmDMHCg8.js';
15
15
  import '../chunks/utils.DYj33du9.js';
16
- import '../chunks/setup-common.BkQOiNcI.js';
16
+ import '../chunks/setup-common.Ct8rQvjH.js';
17
17
  import '../chunks/plugins.Cigb0uSy.js';
18
18
  import '../chunks/index.M2dsQ_UQ.js';
19
19
  import '../chunks/tinyrainbow.Ht9iggcq.js';
20
- import '../chunks/index.m3L2HgmY.js';
20
+ import '../chunks/index.DGdajAO2.js';
21
21
  import '../chunks/run.C5UmxDPh.js';
22
22
  import '../chunks/display.pkpxlVcY.js';
23
23
  import '../task-utils.js';
24
24
  import '../chunks/offset.Dy-5Fdfn.js';
25
25
  import 'tinybench';
26
26
  import 'expect-type';
27
- import '../chunks/init.3UJvPvQg.js';
27
+ import '../chunks/init.IsjtLXKe.js';
28
28
  import 'node:fs';
29
29
  import 'node:module';
30
30
  import 'node:url';
31
- import '../chunks/index.D4dXTzh9.js';
31
+ import '../chunks/index.hTNFpC24.js';
32
32
  import '../chunks/modules.BJuCwlRJ.js';
33
33
  import '../path.js';
34
34
  import 'node:path';
@@ -1,11 +1,11 @@
1
- import { w as workerInit } from '../chunks/init-forks.DgHqDQHC.js';
2
- import { r as runVmTests, s as setupVmWorker } from '../chunks/vm.W4G5WMTl.js';
3
- import '../chunks/init.3UJvPvQg.js';
1
+ import { w as workerInit } from '../chunks/init-forks.CdGu3HUy.js';
2
+ import { r as runVmTests, s as setupVmWorker } from '../chunks/vm.KI2AYADz.js';
3
+ import '../chunks/init.IsjtLXKe.js';
4
4
  import 'node:fs';
5
5
  import 'node:module';
6
6
  import 'node:url';
7
7
  import 'vite/module-runner';
8
- import '../chunks/index.D4dXTzh9.js';
8
+ import '../chunks/index.hTNFpC24.js';
9
9
  import '../chunks/pathe.M-eThtNZ.DwEga6ro.js';
10
10
  import '../chunks/modules.BJuCwlRJ.js';
11
11
  import '../chunks/utils.DYj33du9.js';
@@ -20,7 +20,7 @@ import 'node:console';
20
20
  import '../chunks/source-map.BH0bbrs9.js';
21
21
  import '../chunks/index.M2dsQ_UQ.js';
22
22
  import '../chunks/tinyrainbow.Ht9iggcq.js';
23
- import '../chunks/rpc.Bvs-iVxs.js';
23
+ import '../chunks/rpc.CJVl3hZH.js';
24
24
  import '../chunks/index.DmDMHCg8.js';
25
25
  import '../chunks/inspector.CvyFGlXm.js';
26
26
  import 'node:v8';
@@ -28,7 +28,7 @@ import '../chunks/console.B09ye7y0.js';
28
28
  import 'node:stream';
29
29
  import '../chunks/resolver.NpfwMKt9.js';
30
30
  import 'es-module-lexer';
31
- import '../chunks/setup-common.BkQOiNcI.js';
31
+ import '../chunks/setup-common.Ct8rQvjH.js';
32
32
  import '../chunks/plugins.Cigb0uSy.js';
33
33
 
34
34
  workerInit({
@@ -1,12 +1,12 @@
1
- import { w as workerInit } from '../chunks/init-threads.B-t1iYCi.js';
2
- import { s as setupVmWorker, r as runVmTests } from '../chunks/vm.W4G5WMTl.js';
1
+ import { w as workerInit } from '../chunks/init-threads.2f_lsHNK.js';
2
+ import { s as setupVmWorker, r as runVmTests } from '../chunks/vm.KI2AYADz.js';
3
3
  import 'node:worker_threads';
4
- import '../chunks/init.3UJvPvQg.js';
4
+ import '../chunks/init.IsjtLXKe.js';
5
5
  import 'node:fs';
6
6
  import 'node:module';
7
7
  import 'node:url';
8
8
  import 'vite/module-runner';
9
- import '../chunks/index.D4dXTzh9.js';
9
+ import '../chunks/index.hTNFpC24.js';
10
10
  import '../chunks/pathe.M-eThtNZ.DwEga6ro.js';
11
11
  import '../chunks/modules.BJuCwlRJ.js';
12
12
  import '../chunks/utils.DYj33du9.js';
@@ -21,7 +21,7 @@ import 'node:console';
21
21
  import '../chunks/source-map.BH0bbrs9.js';
22
22
  import '../chunks/index.M2dsQ_UQ.js';
23
23
  import '../chunks/tinyrainbow.Ht9iggcq.js';
24
- import '../chunks/rpc.Bvs-iVxs.js';
24
+ import '../chunks/rpc.CJVl3hZH.js';
25
25
  import '../chunks/index.DmDMHCg8.js';
26
26
  import '../chunks/inspector.CvyFGlXm.js';
27
27
  import 'node:v8';
@@ -29,7 +29,7 @@ import '../chunks/console.B09ye7y0.js';
29
29
  import 'node:stream';
30
30
  import '../chunks/resolver.NpfwMKt9.js';
31
31
  import 'es-module-lexer';
32
- import '../chunks/setup-common.BkQOiNcI.js';
32
+ import '../chunks/setup-common.Ct8rQvjH.js';
33
33
  import '../chunks/plugins.Cigb0uSy.js';
34
34
 
35
35
  workerInit({
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vitest",
3
3
  "type": "module",
4
- "version": "5.0.1",
4
+ "version": "5.0.2",
5
5
  "description": "Next generation testing framework powered by Vite",
6
6
  "author": "Anthony Fu <anthonyfu117@hotmail.com>",
7
7
  "license": "MIT",
@@ -113,12 +113,12 @@
113
113
  "@edge-runtime/vm": "*",
114
114
  "@opentelemetry/api": "^1.9.0",
115
115
  "@types/node": "^22.0.0 || >=24.0.0",
116
- "@vitest/browser-playwright": "5.0.1",
117
- "@vitest/browser-preview": "5.0.1",
116
+ "@vitest/browser-playwright": "5.0.2",
117
+ "@vitest/browser-preview": "5.0.2",
118
118
  "@vitest/browser-webdriverio": "^5.0.0-beta.5 || >=5.0.0",
119
- "@vitest/coverage-istanbul": "5.0.1",
120
- "@vitest/coverage-v8": "5.0.1",
121
- "@vitest/ui": "5.0.1",
119
+ "@vitest/coverage-istanbul": "5.0.2",
120
+ "@vitest/coverage-v8": "5.0.2",
121
+ "@vitest/ui": "5.0.2",
122
122
  "happy-dom": "*",
123
123
  "jsdom": "*",
124
124
  "vite": "^6.4.0 || ^7.0.0 || ^8.0.0"
@@ -163,7 +163,7 @@
163
163
  },
164
164
  "dependencies": {
165
165
  "@types/chai": "^5.2.2",
166
- "@vitest/mocker": "5.0.1",
166
+ "@vitest/mocker": "5.0.2",
167
167
  "chai": "^6.2.2",
168
168
  "es-module-lexer": "^2.3.2",
169
169
  "expect-type": "^1.4.0",
@@ -171,10 +171,10 @@
171
171
  "obug": "^2.1.4",
172
172
  "picomatch": "^4.0.7",
173
173
  "std-env": "^4.2.0",
174
- "tinybench": "6.1.4",
175
- "tinyexec": "1.3.0",
174
+ "tinybench": "^6.1.4",
175
+ "tinyexec": "^1.3.0",
176
176
  "tinyglobby": "^0.2.17",
177
- "why-is-node-running": "^2.3.0"
177
+ "why-is-node-running": "^3.2.1"
178
178
  },
179
179
  "devDependencies": {
180
180
  "@antfu/install-pkg": "^2.0.1",
@@ -187,13 +187,13 @@
187
187
  "@types/node": "^24.13.3",
188
188
  "@types/picomatch": "^4.0.3",
189
189
  "@types/prompts": "^2.4.9",
190
- "@vitest/expect": "5.0.1",
190
+ "@vitest/expect": "5.0.2",
191
191
  "@vitest/istanbul-lib-coverage": "^1.0.0",
192
192
  "@vitest/istanbul-lib-report": "^1.0.0",
193
- "@vitest/pretty-format": "5.0.1",
194
- "@vitest/snapshot": "5.0.1",
195
- "@vitest/spy": "5.0.1",
196
- "@vitest/utils": "5.0.1",
193
+ "@vitest/pretty-format": "5.0.2",
194
+ "@vitest/snapshot": "5.0.2",
195
+ "@vitest/spy": "5.0.2",
196
+ "@vitest/utils": "5.0.2",
197
197
  "acorn": "8.11.3",
198
198
  "acorn-walk": "^8.3.5",
199
199
  "birpc": "^4.2.0",