vitest 5.0.0 → 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 (49) hide show
  1. package/browser/context.d.ts +1 -1
  2. package/config.d.ts +0 -2
  3. package/dist/browser.d.ts +14 -1
  4. package/dist/browser.js +7 -7
  5. package/dist/chunks/{base.BTS5G301.js → base.5tQXSzMP.js} +14 -14
  6. package/dist/chunks/{cac.D805sv8h.js → cac.BLbEtnDd.js} +13 -13
  7. package/dist/chunks/{cli-api.LUtK11-x.js → cli-api.DL4Bd7Vh.js} +3 -3
  8. package/dist/chunks/{console.CHi0lDgQ.js → console.B09ye7y0.js} +2 -2
  9. package/dist/chunks/{coverage.BtDxDqSU.js → coverage.AipniaqB.js} +1 -1
  10. package/dist/chunks/{coverage.BcXK1DsQ.js → coverage.CX7NN5s7.js} +1 -1
  11. package/dist/chunks/{creator.BHJ7K266.js → creator.2VTnpYzN.js} +10 -10
  12. package/dist/chunks/{doctor.CrUoUtdU.js → doctor.BCXa6-1R.js} +7 -6
  13. package/dist/chunks/{globals.DQ4rmEUL.js → globals.Brdv9iOs.js} +6 -6
  14. package/dist/chunks/{index.5J3Pr46F.js → index.BgwtGYxD.js} +17 -7
  15. package/dist/chunks/{index.B89dZ0-N.js → index.C-uw7tH9.js} +3732 -3722
  16. package/dist/chunks/{index.OVGXnVRj.js → index.DGdajAO2.js} +26 -11
  17. package/dist/chunks/{index.1_nbEjJY.js → index.hTNFpC24.js} +13 -6
  18. package/dist/chunks/{init-forks.CiCtIMPj.js → init-forks.CdGu3HUy.js} +1 -1
  19. package/dist/chunks/{init-threads.DbGO6vUd.js → init-threads.2f_lsHNK.js} +1 -1
  20. package/dist/chunks/{init.BS957yFf.js → init.IsjtLXKe.js} +4 -4
  21. package/dist/chunks/{native.cLbCmZDO.js → native.CF4uT5hY.js} +1 -1
  22. package/dist/chunks/{nativeModuleMocker.E7jPi2fl.js → nativeModuleMocker.DwRB4F9R.js} +2 -2
  23. package/dist/chunks/{nativeModuleRunner.BOvBCgI_.js → nativeModuleRunner.J0QLzNtK.js} +1 -1
  24. package/dist/chunks/{node.Es9ukMGX.js → node.CfQ_OGWr.js} +1 -1
  25. package/dist/chunks/{pathe.M-eThtNZ.Clq7AXhv.js → pathe.M-eThtNZ.DwEga6ro.js} +2 -1
  26. package/dist/chunks/{plugin.d.BbcoZhuj.d.ts → plugin.d.My_z-jmU.d.ts} +12 -10
  27. package/dist/chunks/{resolver.CBCHRZ7j.js → resolver.NpfwMKt9.js} +1 -1
  28. package/dist/chunks/{rpc.DWKX1ZbI.js → rpc.CJVl3hZH.js} +7 -6
  29. package/dist/chunks/{run.CQOUYP-x.js → run.C5UmxDPh.js} +3 -3
  30. package/dist/chunks/{setup-common.D5-2VgqG.js → setup-common.Ct8rQvjH.js} +2 -2
  31. package/dist/chunks/{source-map.Dx3YPjIe.js → source-map.BH0bbrs9.js} +1 -1
  32. package/dist/chunks/{spy.DPLvp2J7.js → spy.KLHgXex_.js} +4 -3
  33. package/dist/chunks/{utils.CtqmNjXD.js → utils.CJ0JImL8.js} +1 -1
  34. package/dist/chunks/{vm.BQTVRi0W.js → vm.KI2AYADz.js} +6 -6
  35. package/dist/cli.js +2 -2
  36. package/dist/config.d.ts +2 -2
  37. package/dist/index.js +6 -6
  38. package/dist/node.d.ts +2 -2
  39. package/dist/node.js +14 -14
  40. package/dist/runtime.js +4 -4
  41. package/dist/spy.js +1 -1
  42. package/dist/task-utils.js +1 -1
  43. package/dist/worker.js +13 -13
  44. package/dist/workers/forks.js +14 -14
  45. package/dist/workers/runVmTests.js +10 -10
  46. package/dist/workers/threads.js +14 -14
  47. package/dist/workers/vmForks.js +10 -10
  48. package/dist/workers/vmThreads.js +10 -10
  49. package/package.json +15 -15
@@ -1,8 +1,8 @@
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.CQOUYP-x.js';
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
- import { e as getDefaultExportFromCjs, f as parseErrorStacktrace, h as commonjsGlobal, a as getSafeTimers, i as parseSingleStack, j as delay } from './source-map.Dx3YPjIe.js';
4
- import { i as isMockFunction, f as fn, a as spyOn, r as restoreAllMocks, b as resetAllMocks, c as clearAllMocks } from './spy.DPLvp2J7.js';
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.Clq7AXhv.js';
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.KLHgXex_.js';
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';
8
8
  import * as chai from 'chai';
@@ -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.DWKX1ZbI.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
 
@@ -462,7 +462,7 @@ class SnapshotState {
462
462
  // skip snapshots with following keys
463
463
  // testName n
464
464
  // testName > xxx n (this is for toMatchSnapshot("xxx") API)
465
- if (/ \d+$| > /.test(uncheckedKey.slice(testName.length))) this._uncheckedKeys.delete(uncheckedKey);
465
+ if (uncheckedKey.startsWith(testName) && /^ \d+$|^ > /.test(uncheckedKey.slice(testName.length))) this._uncheckedKeys.delete(uncheckedKey);
466
466
  });
467
467
  }
468
468
  clearTest(testId) {
@@ -940,7 +940,7 @@ class SnapshotClient {
940
940
  };
941
941
  }
942
942
  // TODO: should `all` mode ignore parse error?
943
- // Sielently hiding the error and creating snaphsot full scratch isn't good either.
943
+ // Silently hiding the error and creating snapshot full scratch isn't good either.
944
944
  // Users can fix or purge the broken snapshot manually and that decision affects how domain snapshot gets updated.
945
945
  const matchResult = expectedSnapshot.data !== void 0 ? adapter.match(stableResult.captured, adapter.parseExpected(expectedSnapshot.data)) : void 0;
946
946
  const { actual, expected, key, pass } = snapshotState.processDomainSnapshot({
@@ -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) {
@@ -6819,6 +6830,10 @@ class FakeTimers {
6819
6830
  if (toFake === void 0 && toNotFake === void 0)
6820
6831
  // Do not mock timers internally used by node by default. It can still be mocked through userConfig.
6821
6832
  toFake = Object.keys(this._fakeTimers.timers).filter((timer) => timer !== "nextTick" && timer !== "queueMicrotask");
6833
+ else if (toFake === void 0 && toNotFake !== void 0) {
6834
+ // Do not mock timers internally used by node via `toNotFake`
6835
+ for (const timer of ["nextTick", "queueMicrotask"]) if (!toNotFake.includes(timer)) toNotFake = [...toNotFake, timer];
6836
+ }
6822
6837
  if (isChildProcess() && toNotFake && !toNotFake.includes("nextTick")) toNotFake = [...toNotFake, "nextTick"];
6823
6838
  this._clock = this._fakeTimers.install({
6824
6839
  now: fakeDate,
@@ -1,5 +1,5 @@
1
1
  import fs__default from 'node:fs';
2
- import { n as normalize, k as splitFileAndPostfix$1, j as join, l as isBareImport } from './pathe.M-eThtNZ.Clq7AXhv.js';
2
+ import { n as normalize, k as splitFileAndPostfix$1, j as join, l as isBareImport } from './pathe.M-eThtNZ.DwEga6ro.js';
3
3
  import { i as isBuiltin, a as isBrowserExternal, t as toBuiltin } from './modules.BJuCwlRJ.js';
4
4
  import { E as EnvironmentTeardownError, a as getSafeWorkerState } from './utils.DYj33du9.js';
5
5
  import { pathToFileURL, URL as URL$1 } from 'node:url';
@@ -615,13 +615,19 @@ 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 = {};
621
622
  const externalizeMap = /* @__PURE__ */ new Map();
623
+ function getRelativeDistDir(root) {
624
+ const normalizedRoot = normalize(root).replace(/\/+$/, "") || "/";
625
+ const rootPrefix = normalizedRoot === "/" ? normalizedRoot : `${normalizedRoot}/`;
626
+ return normalizedDistDir.startsWith(rootPrefix) ? normalizedDistDir.slice(normalizedRoot.length) : "";
627
+ }
622
628
  // all Vitest imports always need to be externalized
623
629
  function getCachedVitestImport(id, state) {
624
- 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);
625
631
  if (externalizeMap.has(id)) return {
626
632
  externalize: externalizeMap.get(id),
627
633
  type: "module"
@@ -629,7 +635,7 @@ function getCachedVitestImport(id, state) {
629
635
  // always externalize Vitest because we import from there before running tests
630
636
  // so we already have it cached by Node.js
631
637
  const root = state().config.root;
632
- const relativeRoot = relativeIds[root] ?? (relativeIds[root] = normalizedDistDir.slice(root.length));
638
+ const relativeRoot = relativeIds[root] ?? (relativeIds[root] = getRelativeDistDir(root));
633
639
  if (id.includes(distDir) || id.includes(normalizedDistDir)) {
634
640
  const { file, postfix } = splitFileAndPostfix$1(id);
635
641
  const externalize = id.startsWith("file://") ? id : `${pathToFileURL(file)}${postfix}`;
@@ -742,7 +748,7 @@ function startVitestModuleRunner(options) {
742
748
  const vitest = getCachedVitestImport(id, state);
743
749
  if (vitest) return vitest;
744
750
  // strip _vitest_original query added by importActual so that
745
- // the plugin pipeline sees the original import id (e.g. virtual modules's load hook)
751
+ // the plugin pipeline sees the original import id (e.g. virtual modules' load hook)
746
752
  const isImportActual = id.includes("_vitest_original");
747
753
  if (isImportActual) id = removeQuery(id, "_vitest_original");
748
754
  const rawId = unwrapId(id);
@@ -1428,8 +1434,9 @@ function createCompatUtils(window) {
1428
1434
  return nodeFormData;
1429
1435
  },
1430
1436
  makeCompatBlob(blob) {
1431
- const buffer = blob[implSymbol]._buffer;
1432
- 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 });
1433
1440
  }
1434
1441
  };
1435
1442
  return utils;
@@ -1,4 +1,4 @@
1
- import { i as init } from './init.BS957yFf.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.BS957yFf.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.1_nbEjJY.js';
6
- import { r as resolve } from './pathe.M-eThtNZ.Clq7AXhv.js';
7
- import { b as serializeValue, c as createStackString, p as parseStacktrace } from './source-map.Dx3YPjIe.js';
5
+ import { e as environments, b as VitestTransport } from './index.hTNFpC24.js';
6
+ import { r as resolve } from './pathe.M-eThtNZ.DwEga6ro.js';
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.DWKX1ZbI.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
 
@@ -2,7 +2,7 @@ import module$1, { isBuiltin } from 'node:module';
2
2
  import { fileURLToPath } from 'node:url';
3
3
  import { MessageChannel } from 'node:worker_threads';
4
4
  import { initSyntaxLexers, hoistMocks } from '@vitest/mocker/transforms';
5
- import { c as cleanUrl, r as resolve } from './pathe.M-eThtNZ.Clq7AXhv.js';
5
+ import { c as cleanUrl, r as resolve } from './pathe.M-eThtNZ.DwEga6ro.js';
6
6
  import { p as parse } from './acorn.C1kjbUFw.js';
7
7
  import MagicString from 'magic-string';
8
8
  import { y } from './tinyrainbow.Ht9iggcq.js';
@@ -1,10 +1,10 @@
1
1
  import module$1, { isBuiltin } from 'node:module';
2
2
  import { fileURLToPath, pathToFileURL } from 'node:url';
3
3
  import { automockModule, createManualModuleSource, collectModuleExports } from '@vitest/mocker/transforms';
4
- import { c as cleanUrl, e as createDefer, i as isAbsolute } from './pathe.M-eThtNZ.Clq7AXhv.js';
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.1_nbEjJY.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';
@@ -7,7 +7,7 @@ import fs from 'node:fs/promises';
7
7
  import assert from 'node:assert';
8
8
  import v8 from 'node:v8';
9
9
  import { format, inspect } from 'node:util';
10
- import { i as isAbsolute, r as resolve } from './pathe.M-eThtNZ.Clq7AXhv.js';
10
+ import { i as isAbsolute, r as resolve } from './pathe.M-eThtNZ.DwEga6ro.js';
11
11
  import { ModuleRunner } from 'vite/module-runner';
12
12
 
13
13
  const JOIN_LEADING_SLASH_RE = /^\.?\//;
@@ -1,6 +1,6 @@
1
1
  import { g as getWorkerState } from './utils.DYj33du9.js';
2
2
  import { promises, existsSync } from 'node:fs';
3
- import { i as isAbsolute, r as resolve, d as dirname, j as join, b as basename } from './pathe.M-eThtNZ.Clq7AXhv.js';
3
+ import { i as isAbsolute, r as resolve, d as dirname, j as join, b as basename } from './pathe.M-eThtNZ.DwEga6ro.js';
4
4
 
5
5
  class NodeSnapshotEnvironment {
6
6
  options;
@@ -280,6 +280,7 @@ function deepMerge(target, ...sources) {
280
280
  const source = sources.shift();
281
281
  if (source === void 0) return target;
282
282
  if (isMergeableObject(target) && isMergeableObject(source)) Object.keys(source).forEach((key) => {
283
+ if (key === "__proto__" || key === "constructor" || key === "prototype") return;
283
284
  const _source = source;
284
285
  if (isMergeableObject(_source[key])) {
285
286
  if (!target[key]) target[key] = {};
@@ -486,4 +487,4 @@ const basename = function(p, extension) {
486
487
  return extension && lastSegment.endsWith(extension) ? lastSegment.slice(0, -extension.length) : lastSegment;
487
488
  };
488
489
 
489
- export { objectAttr as A, getCallLastIndex as B, CSS_LANGS_RE as C, noop as D, createSimpleStackTrace as E, withTrailingSlash as F, wrapId as G, deepMerge as H, isExternalUrl as I, unwrapId as J, KNOWN_ASSET_TYPES as K, sanitizeFilePath as L, relative as a, basename as b, cleanUrl as c, dirname as d, createDefer as e, extname as f, getType as g, KNOWN_ASSET_RE as h, isAbsolute as i, join as j, splitFileAndPostfix as k, isBareImport as l, isPrimitive as m, normalize as n, notNullish as o, deepClone as p, getOwnProperties as q, resolve as r, slash as s, toArray as t, isObject as u, filterOutComments as v, ordinal as w, assertTypes as x, isNegativeNaN as y, unique as z };
490
+ export { objectAttr as A, getCallLastIndex as B, CSS_LANGS_RE as C, noop as D, createSimpleStackTrace as E, withTrailingSlash as F, wrapId as G, isExternalUrl as H, unwrapId as I, deepMerge as J, KNOWN_ASSET_TYPES as K, sanitizeFilePath as L, relative as a, basename as b, cleanUrl as c, dirname as d, createDefer as e, extname as f, getType as g, KNOWN_ASSET_RE as h, isAbsolute as i, join as j, splitFileAndPostfix as k, isBareImport as l, isPrimitive as m, normalize as n, notNullish as o, deepClone as p, getOwnProperties as q, resolve as r, slash as s, toArray as t, isObject as u, filterOutComments as v, ordinal as w, assertTypes as x, isNegativeNaN as y, unique as z };
@@ -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
  /**
@@ -3326,7 +3328,7 @@ interface BenchmarkUserOptions {
3326
3328
  suppressExportGetterWarnings?: boolean;
3327
3329
  }
3328
3330
  type ResolvedBenchmarkOptions = Omit<Required<BenchmarkUserOptions>, "provider"> & {
3329
- provider?: string | undefined;
3331
+ provider?: string;
3330
3332
  };
3331
3333
 
3332
3334
  type BuiltinEnvironment = "node" | "jsdom" | "happy-dom" | "edge-runtime";
@@ -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
  /**
@@ -4254,7 +4256,7 @@ interface TypecheckConfig {
4254
4256
  /**
4255
4257
  * Pattern for files that should not be treated as test files
4256
4258
  *
4257
- * @default ['**\/node_modules/**', '**\/dist/**', '**\/cypress/**', '**\/.{idea,git,cache,output,temp}/**', '**\/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*']
4259
+ * @default ['**\/node_modules/**', '**\/.git/**']
4258
4260
  */
4259
4261
  exclude: string[];
4260
4262
  /**
@@ -4399,7 +4401,7 @@ interface ResolvedConfig extends Omit<Required<UserConfig>, "project" | "config"
4399
4401
  };
4400
4402
  runner?: string;
4401
4403
  maxWorkers: number;
4402
- vmMemoryLimit?: UserConfig["vmMemoryLimit"];
4404
+ vmMemoryLimit?: string | number;
4403
4405
  dumpDir?: string;
4404
4406
  tagsFilter?: string[];
4405
4407
  mergeReportsLabel?: string;
@@ -1,5 +1,5 @@
1
1
  import fs__default from 'node:fs';
2
- import { b as basename, j as join, d as dirname } from './pathe.M-eThtNZ.Clq7AXhv.js';
2
+ import { b as basename, j as join, d as dirname } from './pathe.M-eThtNZ.DwEga6ro.js';
3
3
 
4
4
  const packageScopeTypeCache = /* @__PURE__ */ new Map();
5
5
  // mirrors LOOKUP_PACKAGE_SCOPE from the ESM resolution algorithm:
@@ -1,6 +1,6 @@
1
1
  import { EvaluatedModules } from 'vite/module-runner';
2
- import { d as dirname, r as resolve } from './pathe.M-eThtNZ.Clq7AXhv.js';
3
- import { a as getSafeTimers } from './source-map.Dx3YPjIe.js';
2
+ import { d as dirname, r as resolve } from './pathe.M-eThtNZ.DwEga6ro.js';
3
+ import { a as getSafeTimers } from './source-map.BH0bbrs9.js';
4
4
  import { c as createBirpc } from './index.DmDMHCg8.js';
5
5
  import { g as getWorkerState } from './utils.DYj33du9.js';
6
6
 
@@ -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
  }
@@ -1,8 +1,8 @@
1
1
  import { f as format, p as plugins } from './index.M2dsQ_UQ.js';
2
2
  import { y } from './tinyrainbow.Ht9iggcq.js';
3
3
  import { s as stringify, f as format$1, a as formatRegExp, t as truncateString, i as inspect } from './display.pkpxlVcY.js';
4
- import { p as deepClone, q as getOwnProperties, g as getType$1, u as isObject, v as filterOutComments, w as ordinal, e as createDefer, x as assertTypes, t as toArray, y as isNegativeNaN, z as unique, A as objectAttr } from './pathe.M-eThtNZ.Clq7AXhv.js';
5
- import { d as diffSequences, b as serializeValue, p as parseStacktrace, a as getSafeTimers } from './source-map.Dx3YPjIe.js';
4
+ import { p as deepClone, q as getOwnProperties, g as getType$1, u as isObject, v as filterOutComments, w as ordinal, e as createDefer, x as assertTypes, t as toArray, y as isNegativeNaN, z as unique, A as objectAttr } from './pathe.M-eThtNZ.DwEga6ro.js';
5
+ import { d as diffSequences, b as serializeValue, p as parseStacktrace, a as getSafeTimers } from './source-map.BH0bbrs9.js';
6
6
  import { createTaskName, createFileTask, calculateSuiteHash, interpretTaskModes, hasFailed } from '../task-utils.js';
7
7
 
8
8
  const RealDate = Date;
@@ -2202,7 +2202,7 @@ function validateTags(config, tags) {
2202
2202
  for (const tag of tags) if (!availableTags.has(tag)) throw createNoTagsError(config.tags, tag);
2203
2203
  }
2204
2204
  function createNoTagsError(availableTags, tag, prefix = "tag") {
2205
- if (!availableTags.length) throw new Error(`The Vitest config does't define any "tags", cannot apply "${tag}" ${prefix} for this test. See: https://vitest.dev/guide/test-tags`);
2205
+ if (!availableTags.length) throw new Error(`The Vitest config doesn't define any "tags", cannot apply "${tag}" ${prefix} for this test. See: https://vitest.dev/guide/test-tags`);
2206
2206
  throw new Error(`The ${prefix} "${tag}" is not defined in the configuration. Available tags are:\n${availableTags.map((t) => `- ${t.name}${t.description ? `: ${t.description}` : ""}`).join("\n")}`);
2207
2207
  }
2208
2208
  function createTagsFilter(tagsExpr, availableTags) {
@@ -1,4 +1,4 @@
1
- import { s as setSafeTimers } from './source-map.Dx3YPjIe.js';
1
+ import { s as setSafeTimers } from './source-map.BH0bbrs9.js';
2
2
  import { a as addSerializer } from './plugins.Cigb0uSy.js';
3
3
 
4
4
  let globalSetup = false;
@@ -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.DQ4rmEUL.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];
@@ -1,4 +1,4 @@
1
- import { m as isPrimitive, o as notNullish, r as resolve$1 } from './pathe.M-eThtNZ.Clq7AXhv.js';
1
+ import { m as isPrimitive, o as notNullish, r as resolve$1 } from './pathe.M-eThtNZ.DwEga6ro.js';
2
2
 
3
3
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
4
4
  function getDefaultExportFromCjs(x) {
@@ -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 = {
@@ -368,7 +369,7 @@ function reparentMockPrototype(mock, implementation) {
368
369
  // function) reverts the chain to `Object.prototype`, the parent every mock
369
370
  // is created with
370
371
  const parent = implementation?.prototype ?? Object.prototype;
371
- if (Object.getPrototypeOf(mockPrototype) !== parent) Object.setPrototypeOf(mockPrototype, parent);
372
+ if (mockPrototype !== parent && Object.getPrototypeOf(mockPrototype) !== parent) Object.setPrototypeOf(mockPrototype, parent);
372
373
  }
373
374
  function registerCalls(args, state, prototypeState) {
374
375
  state.calls.push(args);
@@ -1,6 +1,6 @@
1
1
  import { stripVTControlCharacters } from 'node:util';
2
2
  import { t as truncateString$1 } from './display.pkpxlVcY.js';
3
- import { i as isAbsolute, a as relative, d as dirname, b as basename, s as slash } from './pathe.M-eThtNZ.Clq7AXhv.js';
3
+ import { i as isAbsolute, a as relative, d as dirname, b as basename, s as slash } from './pathe.M-eThtNZ.DwEga6ro.js';
4
4
  import { y } from './tinyrainbow.Ht9iggcq.js';
5
5
 
6
6
  const F_RIGHT = "→";
@@ -1,18 +1,18 @@
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.BS957yFf.js';
4
+ import { l as loadEnvironment, a as listenForErrors, e as emitModuleRunner } from './init.IsjtLXKe.js';
5
5
  import { distDir } from '../path.js';
6
- import { createCustomConsole } from './console.CHi0lDgQ.js';
6
+ import { createCustomConsole } from './console.B09ye7y0.js';
7
7
  import fs__default from 'node:fs';
8
8
  import { createRequire, Module, isBuiltin } from 'node:module';
9
- import { d as dirname, f as extname, b as basename, C as CSS_LANGS_RE, h as KNOWN_ASSET_RE, t as toArray, k as splitFileAndPostfix, n as normalize, l as isBareImport, r as resolve } from './pathe.M-eThtNZ.Clq7AXhv.js';
10
- import { l as lookupPackageScopeType } from './resolver.CBCHRZ7j.js';
9
+ import { d as dirname, f as extname, b as basename, C as CSS_LANGS_RE, h as KNOWN_ASSET_RE, t as toArray, k as splitFileAndPostfix, n as normalize, l as isBareImport, r as resolve } from './pathe.M-eThtNZ.DwEga6ro.js';
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.1_nbEjJY.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.D5-2VgqG.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,5 +1,5 @@
1
- import { c as createCLI } from './chunks/cac.D805sv8h.js';
2
- import './chunks/pathe.M-eThtNZ.Clq7AXhv.js';
1
+ import { c as createCLI } from './chunks/cac.BLbEtnDd.js';
2
+ import './chunks/pathe.M-eThtNZ.DwEga6ro.js';
3
3
  import 'events';
4
4
  import './chunks/tinyrainbow.Ht9iggcq.js';
5
5
  import './chunks/env.DzFJjrmK.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.BbcoZhuj.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.BbcoZhuj.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,13 +1,13 @@
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.OVGXnVRj.js';
2
- export { V as EvaluatedModules } from './chunks/rpc.DWKX1ZbI.js';
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.CQOUYP-x.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
+ 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';
6
6
  export { chai };
7
7
  import './chunks/utils.DYj33du9.js';
8
- import './chunks/source-map.Dx3YPjIe.js';
9
- import './chunks/pathe.M-eThtNZ.Clq7AXhv.js';
10
- import './chunks/spy.DPLvp2J7.js';
8
+ import './chunks/source-map.BH0bbrs9.js';
9
+ import './chunks/pathe.M-eThtNZ.DwEga6ro.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.BbcoZhuj.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.BbcoZhuj.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';