vitest 0.23.4 → 0.24.0

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 (53) hide show
  1. package/dist/browser.d.ts +3 -3
  2. package/dist/browser.js +24 -0
  3. package/dist/{chunk-api-setup.11cfd513.mjs → chunk-api-setup.33222ae9.js} +20 -20
  4. package/dist/{chunk-constants.71e8a211.mjs → chunk-constants.22640ce4.js} +0 -0
  5. package/dist/{chunk-env-node.ceb43f1c.mjs → chunk-env-node.700b7e95.js} +2 -1
  6. package/dist/{chunk-install-pkg.3aa3eae6.mjs → chunk-install-pkg.107b0cd7.js} +56 -20
  7. package/dist/{chunk-integrations-coverage.99c020eb.mjs → chunk-integrations-coverage.cca09977.js} +0 -0
  8. package/dist/chunk-integrations-globals.f50b2307.js +25 -0
  9. package/dist/{chunk-magic-string.56b2b543.mjs → chunk-magic-string.cacfbf9d.js} +53 -7
  10. package/dist/{chunk-mock-date.2917be60.mjs → chunk-mock-date.b1b404e8.js} +3 -3
  11. package/dist/{chunk-node-git.a44b4872.mjs → chunk-node-git.6d82fb34.js} +5 -5
  12. package/dist/{chunk-runtime-chain.0ab05798.mjs → chunk-runtime-chain.4dd0a07a.js} +16 -16
  13. package/dist/{chunk-runtime-error.f5506f40.mjs → chunk-runtime-error.38d92035.js} +24 -16
  14. package/dist/{chunk-runtime-hooks.e4219ed5.mjs → chunk-runtime-hooks.72f95cdb.js} +6 -6
  15. package/dist/{chunk-runtime-mocker.4bbb070f.mjs → chunk-runtime-mocker.623b90b6.js} +5 -5
  16. package/dist/{chunk-runtime-rpc.00a890d2.mjs → chunk-runtime-rpc.4f6f88e8.js} +2 -2
  17. package/dist/{chunk-utils-source-map.2be5aa48.mjs → chunk-utils-source-map.175ffa40.js} +10 -6
  18. package/dist/{chunk-utils-timers.b48455ed.mjs → chunk-utils-timers.ab764c0c.js} +0 -0
  19. package/dist/{chunk-vite-node-client.da0a17ff.mjs → chunk-vite-node-client.4dd32c96.js} +2 -2
  20. package/dist/{chunk-vite-node-debug.536c4c5b.mjs → chunk-vite-node-debug.77d9dcea.js} +1 -1
  21. package/dist/{chunk-vite-node-externalize.8d8032d0.mjs → chunk-vite-node-externalize.a2e9daf4.js} +30 -23
  22. package/dist/{chunk-vite-node-utils.473cd0b2.mjs → chunk-vite-node-utils.c8c74a41.js} +39 -15
  23. package/dist/{cli-wrapper.mjs → cli-wrapper.js} +6 -6
  24. package/dist/{cli.mjs → cli.js} +14 -14
  25. package/dist/config.d.ts +1 -1
  26. package/dist/{config.mjs → config.js} +0 -0
  27. package/dist/{entry.mjs → entry.js} +12 -12
  28. package/dist/environments.d.ts +1 -1
  29. package/dist/{environments.mjs → environments.js} +1 -1
  30. package/dist/{global-e98f203b.d.ts → global-6d79484b.d.ts} +2 -2
  31. package/dist/{index-6e18a03a.d.ts → index-e0804ba8.d.ts} +1 -1
  32. package/dist/index.d.ts +4 -4
  33. package/dist/{index.mjs → index.js} +9 -9
  34. package/dist/{loader.mjs → loader.js} +3 -3
  35. package/dist/node.d.ts +2 -2
  36. package/dist/node.js +37 -0
  37. package/dist/{spy.mjs → spy.js} +0 -0
  38. package/dist/suite.js +16 -0
  39. package/dist/{vendor-_commonjsHelpers.4da45ef5.mjs → vendor-_commonjsHelpers.addc3445.js} +0 -0
  40. package/dist/{vendor-index.fbec8a81.mjs → vendor-index.07e6fc5a.js} +2 -2
  41. package/dist/{vendor-index.0557b03a.mjs → vendor-index.534e612c.js} +1 -1
  42. package/dist/{vendor-index.29636037.mjs → vendor-index.8919d83a.js} +1 -1
  43. package/dist/{vendor-index.2ae8040a.mjs → vendor-index.95542d0a.js} +1 -1
  44. package/dist/{vendor-index.ae96af6e.mjs → vendor-index.9f20a9be.js} +0 -0
  45. package/dist/{vendor-index.9d9196cc.mjs → vendor-index.c902d578.js} +0 -0
  46. package/dist/{worker.mjs → worker.js} +8 -8
  47. package/index.cjs +0 -0
  48. package/package.json +28 -21
  49. package/vitest.mjs +1 -1
  50. package/dist/browser.mjs +0 -24
  51. package/dist/chunk-integrations-globals.d8c90af9.mjs +0 -25
  52. package/dist/node.mjs +0 -37
  53. package/dist/suite.mjs +0 -16
@@ -1,9 +1,9 @@
1
- import { V as ViteNodeRunner } from './chunk-vite-node-client.da0a17ff.mjs';
1
+ import { V as ViteNodeRunner } from './chunk-vite-node-client.4dd32c96.js';
2
2
  import { normalizePath } from 'vite';
3
- import { g as getWorkerState, G as mergeSlashes, s as slash, l as getType, H as getAllMockableProperties } from './chunk-mock-date.2917be60.mjs';
3
+ import { g as getWorkerState, G as mergeSlashes, s as slash, l as getType, H as getAllMockableProperties } from './chunk-mock-date.b1b404e8.js';
4
4
  import { existsSync, readdirSync } from 'fs';
5
- import { n as normalizeRequestId, p as pathFromRoot, i as isNodeBuiltin, b as toFilePath } from './chunk-vite-node-utils.473cd0b2.mjs';
6
- import { d as dirname, j as join, b as basename, h as extname, a as resolve, c as distDir } from './chunk-constants.71e8a211.mjs';
5
+ import { n as normalizeRequestId, p as pathFromRoot, i as isNodeBuiltin, b as toFilePath } from './chunk-vite-node-utils.c8c74a41.js';
6
+ import { d as dirname, j as join, b as basename, h as extname, a as resolve, c as distDir } from './chunk-constants.22640ce4.js';
7
7
 
8
8
  class RefTracker {
9
9
  constructor() {
@@ -243,7 +243,7 @@ const _VitestMocker = class {
243
243
  async ensureSpy() {
244
244
  if (_VitestMocker.spyModule)
245
245
  return;
246
- _VitestMocker.spyModule = await this.request(`/@fs/${slash(resolve(distDir, "spy.mjs"))}`);
246
+ _VitestMocker.spyModule = await this.request(`/@fs/${slash(resolve(distDir, "spy.js"))}`);
247
247
  }
248
248
  async requestWithMock(dep) {
249
249
  var _a;
@@ -1,5 +1,5 @@
1
- import { g as getWorkerState } from './chunk-mock-date.2917be60.mjs';
2
- import { w as withSafeTimers } from './chunk-utils-timers.b48455ed.mjs';
1
+ import { g as getWorkerState } from './chunk-mock-date.b1b404e8.js';
2
+ import { w as withSafeTimers } from './chunk-utils-timers.ab764c0c.js';
3
3
 
4
4
  const rpc = () => {
5
5
  const { rpc: rpc2 } = getWorkerState();
@@ -1,5 +1,5 @@
1
- import { s as slash, j as notNullish } from './chunk-mock-date.2917be60.mjs';
2
- import { p as picocolors } from './chunk-constants.71e8a211.mjs';
1
+ import { s as slash, j as notNullish } from './chunk-mock-date.b1b404e8.js';
2
+ import { p as picocolors } from './chunk-constants.22640ce4.js';
3
3
 
4
4
  var build = {};
5
5
 
@@ -5648,14 +5648,16 @@ function getOriginalPos(map, { line, column }) {
5648
5648
  });
5649
5649
  }
5650
5650
  async function interpretSourcePos(stackFrames, ctx) {
5651
- var _a;
5651
+ var _a, _b, _c;
5652
5652
  for (const frame of stackFrames) {
5653
5653
  if ("sourcePos" in frame)
5654
5654
  continue;
5655
- const transformResult = (_a = ctx.server.moduleGraph.getModuleById(frame.file)) == null ? void 0 : _a.ssrTransformResult;
5656
- if (!transformResult)
5655
+ const ssrTransformResult = (_a = ctx.server.moduleGraph.getModuleById(frame.file)) == null ? void 0 : _a.ssrTransformResult;
5656
+ const fetchResult = (_c = (_b = ctx.vitenode) == null ? void 0 : _b.fetchCache.get(frame.file)) == null ? void 0 : _c.result;
5657
+ const map = (fetchResult == null ? void 0 : fetchResult.map) || (ssrTransformResult == null ? void 0 : ssrTransformResult.map);
5658
+ if (!map)
5657
5659
  continue;
5658
- const sourcePos = await getOriginalPos(transformResult.map, frame);
5660
+ const sourcePos = await getOriginalPos(map, frame);
5659
5661
  if (sourcePos)
5660
5662
  frame.sourcePos = sourcePos;
5661
5663
  }
@@ -5678,6 +5680,8 @@ function extractLocation(urlLike) {
5678
5680
  return [parts[1], parts[2] || void 0, parts[3] || void 0];
5679
5681
  }
5680
5682
  function parseStacktrace(e, full = false) {
5683
+ if (!e)
5684
+ return [];
5681
5685
  if (e.stacks)
5682
5686
  return e.stacks;
5683
5687
  const stackStr = e.stack || e.stackStr || "";
@@ -1,8 +1,8 @@
1
1
  import { createRequire } from 'module';
2
2
  import { pathToFileURL, fileURLToPath } from 'url';
3
3
  import vm from 'vm';
4
- import { a as resolve, d as dirname, i as isAbsolute, h as extname } from './chunk-constants.71e8a211.mjs';
5
- import { s as slash, n as normalizeRequestId, b as toFilePath, i as isNodeBuiltin, c as isPrimitive, d as normalizeModuleId, m as mergeSlashes } from './chunk-vite-node-utils.473cd0b2.mjs';
4
+ import { a as resolve, d as dirname, i as isAbsolute, h as extname } from './chunk-constants.22640ce4.js';
5
+ import { s as slash, n as normalizeRequestId, b as toFilePath, i as isNodeBuiltin, c as isPrimitive, d as normalizeModuleId, m as mergeSlashes } from './chunk-vite-node-utils.c8c74a41.js';
6
6
  import createDebug from 'debug';
7
7
 
8
8
  const debugExecute = createDebug("vite-node:client:execute");
@@ -1,5 +1,5 @@
1
1
  import { existsSync, promises } from 'fs';
2
- import { a as resolve, p as picocolors, j as join } from './chunk-constants.71e8a211.mjs';
2
+ import { a as resolve, p as picocolors, j as join } from './chunk-constants.22640ce4.js';
3
3
  import 'tty';
4
4
  import 'url';
5
5
  import 'path';
@@ -1,7 +1,7 @@
1
- import { a as resolve, j as join, b as basename, d as dirname, c as distDir, e as rootDir, p as picocolors, i as isAbsolute, r as relative, f as configFiles, g as defaultPort, n as normalize, t as toNamespacedPath, E as EXIT_CODE_RESTART } from './chunk-constants.71e8a211.mjs';
2
- import { p as pLimit, g as getCoverageProvider, C as CoverageProviderMap } from './chunk-integrations-coverage.99c020eb.mjs';
3
- import { g as getEnvPackageName } from './chunk-env-node.ceb43f1c.mjs';
4
- import { A as AggregateErrorPonyfill, s as slash$2, o as isNode, p as relativePath, z as getTests, e as getFullName, x as hasFailed, B as hasFailedSnapshot, C as getSuites, j as notNullish, v as shuffle, t as toArray$1, n as noop$1, D as deepMerge, b as getCallLastIndex, E as ensurePackageInstalled, F as stdout } from './chunk-mock-date.2917be60.mjs';
1
+ import { a as resolve, j as join, b as basename, d as dirname, c as distDir, e as rootDir, p as picocolors, i as isAbsolute, r as relative, f as configFiles, g as defaultPort, n as normalize, t as toNamespacedPath, E as EXIT_CODE_RESTART } from './chunk-constants.22640ce4.js';
2
+ import { p as pLimit, g as getCoverageProvider, C as CoverageProviderMap } from './chunk-integrations-coverage.cca09977.js';
3
+ import { g as getEnvPackageName } from './chunk-env-node.700b7e95.js';
4
+ import { A as AggregateErrorPonyfill, s as slash$2, o as isNode, p as relativePath, z as getTests, e as getFullName, x as hasFailed, B as hasFailedSnapshot, C as getSuites, j as notNullish, v as shuffle, t as toArray$1, n as noop$1, D as deepMerge, b as getCallLastIndex, E as ensurePackageInstalled, F as stdout } from './chunk-mock-date.b1b404e8.js';
5
5
  import { loadConfigFromFile, normalizePath, createServer, mergeConfig } from 'vite';
6
6
  import path$a from 'path';
7
7
  import url, { fileURLToPath } from 'url';
@@ -11,25 +11,25 @@ import require$$0, { cpus, hostname } from 'os';
11
11
  import util$2 from 'util';
12
12
  import require$$0$1 from 'stream';
13
13
  import require$$2 from 'events';
14
- import { c as commonjsGlobal } from './vendor-_commonjsHelpers.4da45ef5.mjs';
15
- import { c as createBirpc, V as ViteNodeRunner } from './chunk-vite-node-client.da0a17ff.mjs';
14
+ import { c as commonjsGlobal } from './vendor-_commonjsHelpers.addc3445.js';
15
+ import { c as createBirpc, V as ViteNodeRunner } from './chunk-vite-node-client.4dd32c96.js';
16
16
  import { performance } from 'perf_hooks';
17
17
  import createDebug from 'debug';
18
- import { i as isNodeBuiltin, a as isValidNodeImport, s as slash$1, t as toArray, b as toFilePath, w as withInlineSourcemap } from './chunk-vite-node-utils.473cd0b2.mjs';
18
+ import { i as isNodeBuiltin, a as isValidNodeImport, s as slash$1, t as toArray, b as toFilePath, w as withInlineSourcemap } from './chunk-vite-node-utils.c8c74a41.js';
19
19
  import { MessageChannel } from 'worker_threads';
20
20
  import { Tinypool } from 'tinypool';
21
- import { c as stripAnsi, d as cliTruncate, p as parseStacktrace, i as interpretSourcePos, e as stringWidth, h as ansiStyles, j as sliceAnsi, s as stringify$5, u as unifiedDiff, b as posToNumber, l as lineSplitRE } from './chunk-utils-source-map.2be5aa48.mjs';
22
- import { b as safeSetInterval, c as safeClearInterval, s as safeSetTimeout, a as safeClearTimeout } from './chunk-utils-timers.b48455ed.mjs';
21
+ import { c as stripAnsi, d as cliTruncate, p as parseStacktrace, i as interpretSourcePos, e as stringWidth, h as ansiStyles, j as sliceAnsi, s as stringify$5, u as unifiedDiff, b as posToNumber, l as lineSplitRE } from './chunk-utils-source-map.175ffa40.js';
22
+ import { b as safeSetInterval, c as safeClearInterval, s as safeSetTimeout, a as safeClearTimeout } from './chunk-utils-timers.ab764c0c.js';
23
23
  import { resolveModule } from 'local-pkg';
24
24
  import { createHash } from 'crypto';
25
- import { o as onetime } from './vendor-index.9d9196cc.mjs';
26
- import { s as signalExit } from './vendor-index.29636037.mjs';
27
- import MagicString from './chunk-magic-string.56b2b543.mjs';
25
+ import { o as onetime } from './vendor-index.c902d578.js';
26
+ import { s as signalExit } from './vendor-index.8919d83a.js';
27
+ import MagicString from './chunk-magic-string.cacfbf9d.js';
28
28
  import { stripLiteral } from 'strip-literal';
29
29
  import require$$0$2 from 'readline';
30
- import { p as prompts } from './vendor-index.ae96af6e.mjs';
30
+ import { p as prompts } from './vendor-index.9f20a9be.js';
31
31
 
32
- var version$1 = "0.23.4";
32
+ var version$1 = "0.24.0";
33
33
 
34
34
  class EndError extends Error {
35
35
  constructor(value) {
@@ -6889,7 +6889,7 @@ class ViteNodeServer {
6889
6889
  }, options.debug ?? {});
6890
6890
  }
6891
6891
  if (options.debug)
6892
- import('./chunk-vite-node-debug.536c4c5b.mjs').then((r) => this.debugger = new r.Debugger(server.config.root, options.debug));
6892
+ import('./chunk-vite-node-debug.77d9dcea.js').then((r) => this.debugger = new r.Debugger(server.config.root, options.debug));
6893
6893
  }
6894
6894
  shouldExternalize(id) {
6895
6895
  return shouldExternalize(id, this.options.deps, this.externalizeCache);
@@ -7055,8 +7055,8 @@ function addSnapshotResult(summary, result) {
7055
7055
  summary.total += result.added + result.matched + result.unmatched + result.updated;
7056
7056
  }
7057
7057
 
7058
- const workerPath = url.pathToFileURL(resolve(distDir, "./worker.mjs")).href;
7059
- const loaderPath = url.pathToFileURL(resolve(distDir, "./loader.mjs")).href;
7058
+ const workerPath = url.pathToFileURL(resolve(distDir, "./worker.js")).href;
7059
+ const loaderPath = url.pathToFileURL(resolve(distDir, "./loader.js")).href;
7060
7060
  const suppressLoaderWarningsPath = resolve(rootDir, "./suppress-warnings.cjs");
7061
7061
  function createPool(ctx) {
7062
7062
  var _a, _b, _c;
@@ -9464,7 +9464,7 @@ createLogUpdate(process$1.stdout);
9464
9464
 
9465
9465
  createLogUpdate(process$1.stderr);
9466
9466
 
9467
- var version = "0.23.4";
9467
+ var version = "0.24.0";
9468
9468
 
9469
9469
  function fileFromParsedStack(stack) {
9470
9470
  var _a, _b;
@@ -9481,6 +9481,13 @@ async function printError(error, ctx, options = {}) {
9481
9481
  stack: error
9482
9482
  };
9483
9483
  }
9484
+ if (!e) {
9485
+ const error2 = new Error("unknown error");
9486
+ e = {
9487
+ message: e ?? error2.message,
9488
+ stack: error2.stack
9489
+ };
9490
+ }
9484
9491
  const stacks = parseStacktrace(e, fullStack);
9485
9492
  await interpretSourcePos(stacks, ctx);
9486
9493
  const nearest = stacks.find(
@@ -9879,7 +9886,7 @@ class Vitest {
9879
9886
  }
9880
9887
  async filterTestsBySource(tests) {
9881
9888
  if (this.config.changed && !this.config.related) {
9882
- const { VitestGit } = await import('./chunk-node-git.a44b4872.mjs');
9889
+ const { VitestGit } = await import('./chunk-node-git.6d82fb34.js');
9883
9890
  const vitestGit = new VitestGit(this.config.root);
9884
9891
  const related2 = await vitestGit.findChangedFiles({
9885
9892
  changedSince: this.config.changed
@@ -9898,15 +9905,15 @@ class Vitest {
9898
9905
  return tests;
9899
9906
  if (!related.length)
9900
9907
  return [];
9901
- const testDeps = await Promise.all(
9908
+ const testGraphs = await Promise.all(
9902
9909
  tests.map(async (filepath) => {
9903
9910
  const deps = await this.getTestDependencies(filepath);
9904
9911
  return [filepath, deps];
9905
9912
  })
9906
9913
  );
9907
9914
  const runningTests = [];
9908
- for (const [filepath, deps] of testDeps) {
9909
- if (deps.size && related.some((path) => path === filepath || deps.has(path)))
9915
+ for (const [filepath, deps] of testGraphs) {
9916
+ if (related.some((path) => path === filepath || deps.has(path)))
9910
9917
  runningTests.push(filepath);
9911
9918
  }
9912
9919
  return runningTests;
@@ -10550,7 +10557,7 @@ async function VitestPlugin(options = {}, ctx = new Vitest("test")) {
10550
10557
  try {
10551
10558
  await ctx.setServer(options, server);
10552
10559
  if (options.api && options.watch)
10553
- (await import('./chunk-api-setup.11cfd513.mjs')).setup(ctx);
10560
+ (await import('./chunk-api-setup.33222ae9.js')).setup(ctx);
10554
10561
  } catch (err) {
10555
10562
  ctx.logger.printError(err, true);
10556
10563
  process.exit(1);
@@ -1,5 +1,5 @@
1
1
  import { pathToFileURL, fileURLToPath as fileURLToPath$1, URL as URL$1 } from 'url';
2
- import { a as resolve$1, r as relative } from './chunk-constants.71e8a211.mjs';
2
+ import { a as resolve$1, r as relative } from './chunk-constants.22640ce4.js';
3
3
  import { builtinModules } from 'module';
4
4
  import fs, { promises, statSync, existsSync, realpathSync, Stats } from 'fs';
5
5
  import path from 'path';
@@ -5587,6 +5587,22 @@ function joinURL(base, ...input) {
5587
5587
  return url;
5588
5588
  }
5589
5589
 
5590
+ function normalizeWindowsPath$1(input = "") {
5591
+ if (!input || !input.includes("\\")) {
5592
+ return input;
5593
+ }
5594
+ return input.replace(/\\/g, "/");
5595
+ }
5596
+ const _IS_ABSOLUTE_RE$1 = /^[\\/](?![\\/])|^[\\/]{2}(?!\.)|^[a-zA-Z]:[\\/]/;
5597
+ const isAbsolute$1 = function(p) {
5598
+ return _IS_ABSOLUTE_RE$1.test(p);
5599
+ };
5600
+ const _EXTNAME_RE = /.(\.[^/.]+)$/;
5601
+ const extname = function(p) {
5602
+ const match = _EXTNAME_RE.exec(normalizeWindowsPath$1(p));
5603
+ return match && match[1] || "";
5604
+ };
5605
+
5590
5606
  function normalizeWindowsPath(input = "") {
5591
5607
  if (!input || !input.includes("\\")) {
5592
5608
  return input;
@@ -5726,15 +5742,11 @@ function normalizeString(path, allowAboveRoot) {
5726
5742
  const isAbsolute = function(p) {
5727
5743
  return _IS_ABSOLUTE_RE.test(p);
5728
5744
  };
5729
- const _EXTNAME_RE = /.(\.[^/.]+)$/;
5730
- const extname = function(p) {
5731
- const match = _EXTNAME_RE.exec(normalizeWindowsPath(p));
5732
- return match && match[1] || "";
5733
- };
5734
5745
 
5735
5746
  const defaultFindOptions = {
5736
5747
  startingFrom: ".",
5737
5748
  rootPattern: /^node_modules$/,
5749
+ reverse: false,
5738
5750
  test: (filePath) => {
5739
5751
  try {
5740
5752
  if (statSync(filePath).isFile()) {
@@ -5745,7 +5757,7 @@ const defaultFindOptions = {
5745
5757
  return null;
5746
5758
  }
5747
5759
  };
5748
- async function findNearestFile(filename, _options = {}) {
5760
+ async function findFile(filename, _options = {}) {
5749
5761
  const options = { ...defaultFindOptions, ..._options };
5750
5762
  const basePath = resolve(options.startingFrom);
5751
5763
  const leadingSlash = basePath[0] === "/";
@@ -5757,14 +5769,26 @@ async function findNearestFile(filename, _options = {}) {
5757
5769
  if (root === -1) {
5758
5770
  root = 0;
5759
5771
  }
5760
- for (let i = segments.length; i > root; i--) {
5761
- const filePath = join(...segments.slice(0, i), filename);
5762
- if (await options.test(filePath)) {
5763
- return filePath;
5772
+ if (!options.reverse) {
5773
+ for (let i = segments.length; i > root; i--) {
5774
+ const filePath = join(...segments.slice(0, i), filename);
5775
+ if (await options.test(filePath)) {
5776
+ return filePath;
5777
+ }
5778
+ }
5779
+ } else {
5780
+ for (let i = root + 1; i <= segments.length; i++) {
5781
+ const filePath = join(...segments.slice(0, i), filename);
5782
+ if (await options.test(filePath)) {
5783
+ return filePath;
5784
+ }
5764
5785
  }
5765
5786
  }
5766
5787
  throw new Error(`Cannot find matching ${filename} in ${options.startingFrom} or parent directories`);
5767
5788
  }
5789
+ function findNearestFile(filename, _options = {}) {
5790
+ return findFile(filename, _options);
5791
+ }
5768
5792
  async function readPackageJSON(id, opts = {}) {
5769
5793
  const resolvedPath = await resolvePackageJSON(id, opts);
5770
5794
  const blob = await promises.readFile(resolvedPath, "utf-8");
@@ -6758,7 +6782,7 @@ function _resolve(id, opts = {}) {
6758
6782
  if (BUILTIN_MODULES.has(id)) {
6759
6783
  return "node:" + id;
6760
6784
  }
6761
- if (isAbsolute(id) && existsSync(id)) {
6785
+ if (isAbsolute$1(id) && existsSync(id)) {
6762
6786
  const realPath2 = realpathSync(fileURLToPath(id));
6763
6787
  return pathToFileURL(realPath2).toString();
6764
6788
  }
@@ -6843,13 +6867,13 @@ async function isValidNodeImport(id, _opts = {}) {
6843
6867
  if (extension !== ".js") {
6844
6868
  return false;
6845
6869
  }
6846
- if (resolvedPath.match(/\.(\w+-)?esm?(-\w+)?\.js$/)) {
6847
- return false;
6848
- }
6849
6870
  const pkg = await readPackageJSON(resolvedPath).catch(() => null);
6850
6871
  if (pkg?.type === "module") {
6851
6872
  return true;
6852
6873
  }
6874
+ if (resolvedPath.match(/\.(\w+-)?esm?(-\w+)?\.js$|\/(esm?)\//)) {
6875
+ return false;
6876
+ }
6853
6877
  const code = opts.code || await promises.readFile(resolvedPath, "utf-8").catch(() => null) || "";
6854
6878
  return hasCJSSyntax(code) || !hasESMSyntax(code);
6855
6879
  }
@@ -1,22 +1,22 @@
1
1
  import { fileURLToPath } from 'url';
2
- import { p as picocolors, E as EXIT_CODE_RESTART } from './chunk-constants.71e8a211.mjs';
3
- import { e as execa } from './vendor-index.fbec8a81.mjs';
2
+ import { p as picocolors, E as EXIT_CODE_RESTART } from './chunk-constants.22640ce4.js';
3
+ import { e as execa } from './vendor-index.07e6fc5a.js';
4
4
  import 'tty';
5
5
  import 'path';
6
6
  import 'buffer';
7
7
  import 'child_process';
8
8
  import 'process';
9
- import './vendor-index.2ae8040a.mjs';
10
- import './vendor-_commonjsHelpers.4da45ef5.mjs';
9
+ import './vendor-index.95542d0a.js';
10
+ import './vendor-_commonjsHelpers.addc3445.js';
11
11
  import 'fs';
12
12
  import 'stream';
13
13
  import 'util';
14
14
  import 'os';
15
- import './vendor-index.29636037.mjs';
15
+ import './vendor-index.8919d83a.js';
16
16
  import 'assert';
17
17
  import 'events';
18
18
 
19
- const ENTRY = new URL("./cli.mjs", import.meta.url);
19
+ const ENTRY = new URL("./cli.js", import.meta.url);
20
20
  const NODE_ARGS = [
21
21
  "--inspect",
22
22
  "--inspect-brk",
@@ -1,39 +1,39 @@
1
1
  import { EventEmitter } from 'events';
2
- import { p as picocolors } from './chunk-constants.71e8a211.mjs';
3
- import { v as version, s as startVitest, d as divider } from './chunk-vite-node-externalize.8d8032d0.mjs';
2
+ import { p as picocolors } from './chunk-constants.22640ce4.js';
3
+ import { v as version, s as startVitest, d as divider } from './chunk-vite-node-externalize.a2e9daf4.js';
4
4
  import 'tty';
5
5
  import 'url';
6
6
  import 'path';
7
- import './chunk-integrations-coverage.99c020eb.mjs';
7
+ import './chunk-integrations-coverage.cca09977.js';
8
8
  import 'local-pkg';
9
- import './chunk-env-node.ceb43f1c.mjs';
9
+ import './chunk-env-node.700b7e95.js';
10
10
  import 'console';
11
- import './chunk-mock-date.2917be60.mjs';
11
+ import './chunk-mock-date.b1b404e8.js';
12
12
  import 'vite';
13
13
  import 'process';
14
14
  import 'fs';
15
15
  import 'os';
16
16
  import 'util';
17
17
  import 'stream';
18
- import './vendor-_commonjsHelpers.4da45ef5.mjs';
19
- import './chunk-vite-node-client.da0a17ff.mjs';
18
+ import './vendor-_commonjsHelpers.addc3445.js';
19
+ import './chunk-vite-node-client.4dd32c96.js';
20
20
  import 'module';
21
21
  import 'vm';
22
- import './chunk-vite-node-utils.473cd0b2.mjs';
22
+ import './chunk-vite-node-utils.c8c74a41.js';
23
23
  import 'assert';
24
24
  import 'debug';
25
25
  import 'perf_hooks';
26
26
  import 'worker_threads';
27
27
  import 'tinypool';
28
- import './chunk-utils-source-map.2be5aa48.mjs';
29
- import './chunk-utils-timers.b48455ed.mjs';
28
+ import './chunk-utils-source-map.175ffa40.js';
29
+ import './chunk-utils-timers.ab764c0c.js';
30
30
  import 'crypto';
31
- import './vendor-index.9d9196cc.mjs';
32
- import './vendor-index.29636037.mjs';
33
- import './chunk-magic-string.56b2b543.mjs';
31
+ import './vendor-index.c902d578.js';
32
+ import './vendor-index.8919d83a.js';
33
+ import './chunk-magic-string.cacfbf9d.js';
34
34
  import 'strip-literal';
35
35
  import 'readline';
36
- import './vendor-index.ae96af6e.mjs';
36
+ import './vendor-index.9f20a9be.js';
37
37
 
38
38
  function toArr(any) {
39
39
  return any == null ? [] : Array.isArray(any) ? any : [any];
package/dist/config.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { UserConfig as UserConfig$2, ConfigEnv } from 'vite';
2
2
  export { ConfigEnv } from 'vite';
3
- import { U as UserConfig$1, ad as ResolvedCoverageOptions, F as FakeTimerInstallOpts } from './global-e98f203b.js';
3
+ import { U as UserConfig$1, ad as ResolvedCoverageOptions, F as FakeTimerInstallOpts } from './global-6d79484b.js';
4
4
  import 'tinybench';
5
5
  import 'fs';
6
6
  import 'worker_threads';
File without changes
@@ -1,24 +1,24 @@
1
1
  import { promises } from 'fs';
2
- import { g as getWorkerState, a as resetModules } from './chunk-mock-date.2917be60.mjs';
3
- import { a as envs } from './chunk-env-node.ceb43f1c.mjs';
4
- import { a as setupGlobalEnv, s as startTests, w as withEnv } from './chunk-runtime-error.f5506f40.mjs';
2
+ import { g as getWorkerState, a as resetModules } from './chunk-mock-date.b1b404e8.js';
3
+ import { a as envs } from './chunk-env-node.700b7e95.js';
4
+ import { a as setupGlobalEnv, s as startTests, w as withEnv } from './chunk-runtime-error.38d92035.js';
5
5
  import 'path';
6
- import './chunk-constants.71e8a211.mjs';
6
+ import './chunk-constants.22640ce4.js';
7
7
  import 'tty';
8
8
  import 'url';
9
9
  import 'local-pkg';
10
10
  import 'console';
11
11
  import 'perf_hooks';
12
- import './chunk-integrations-coverage.99c020eb.mjs';
13
- import './chunk-runtime-hooks.e4219ed5.mjs';
14
- import './chunk-runtime-chain.0ab05798.mjs';
12
+ import './chunk-integrations-coverage.cca09977.js';
13
+ import './chunk-runtime-hooks.72f95cdb.js';
14
+ import './chunk-runtime-chain.4dd0a07a.js';
15
15
  import 'util';
16
16
  import 'chai';
17
- import './vendor-_commonjsHelpers.4da45ef5.mjs';
18
- import './chunk-runtime-rpc.00a890d2.mjs';
19
- import './chunk-utils-timers.b48455ed.mjs';
20
- import './chunk-utils-source-map.2be5aa48.mjs';
21
- import './spy.mjs';
17
+ import './vendor-_commonjsHelpers.addc3445.js';
18
+ import './chunk-runtime-rpc.4f6f88e8.js';
19
+ import './chunk-utils-timers.ab764c0c.js';
20
+ import './chunk-utils-source-map.175ffa40.js';
21
+ import './spy.js';
22
22
  import 'tinyspy';
23
23
 
24
24
  async function run(files, config) {
@@ -1,4 +1,4 @@
1
- import { a3 as Environment } from './global-e98f203b.js';
1
+ import { a3 as Environment } from './global-6d79484b.js';
2
2
  import 'vite';
3
3
  import 'tinybench';
4
4
  import 'fs';
@@ -1,3 +1,3 @@
1
- export { e as builtinEnvironments, p as populateGlobal } from './chunk-env-node.ceb43f1c.mjs';
1
+ export { e as builtinEnvironments, p as populateGlobal } from './chunk-env-node.700b7e95.js';
2
2
  import 'console';
3
3
  import 'local-pkg';
@@ -1077,9 +1077,9 @@ interface BenchmarkResult extends TaskResult$1 {
1077
1077
  rank: number;
1078
1078
  }
1079
1079
  declare type BenchFunction = (this: Bench) => Promise<void> | void;
1080
- declare type BenchmarkAPI = ChainableFunction<'skip' | 'only', [
1080
+ declare type BenchmarkAPI = ChainableFunction<'skip' | 'only' | 'todo', [
1081
1081
  name: string,
1082
- fn: BenchFunction,
1082
+ fn?: BenchFunction,
1083
1083
  options?: Options
1084
1084
  ], void> & {
1085
1085
  skipIf(condition: any): BenchmarkAPI;
@@ -1,5 +1,5 @@
1
1
  import { SpyImpl } from 'tinyspy';
2
- import { m as SuiteAPI, l as TestAPI, al as BenchmarkAPI, o as SuiteHooks, H as HookListener, s as TestContext, S as Suite, n as HookCleanupCallback, h as Test } from './global-e98f203b.js';
2
+ import { m as SuiteAPI, l as TestAPI, al as BenchmarkAPI, o as SuiteHooks, H as HookListener, s as TestContext, S as Suite, n as HookCleanupCallback, h as Test } from './global-6d79484b.js';
3
3
 
4
4
  interface MockResultReturn<T> {
5
5
  type: 'return';
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { s as spyOn, f as fn, M as MaybeMockedDeep, a as MaybeMocked, b as MaybePartiallyMocked, c as MaybePartiallyMockedDeep, E as EnhancedSpy } from './index-6e18a03a.js';
2
- export { E as EnhancedSpy, r as Mock, u as MockContext, q as MockInstance, v as Mocked, w as MockedClass, o as MockedFunction, p as MockedObject, S as SpyInstance, j as afterAll, l as afterEach, h as beforeAll, k as beforeEach, g as bench, n as createExpect, e as describe, m as expect, i as it, d as suite, t as test } from './index-6e18a03a.js';
3
- import { D as DoneCallback, F as FakeTimerInstallOpts, a as File, T as TaskResultPack, R as ResolvedConfig, M as ModuleGraphData, b as Reporter } from './global-e98f203b.js';
4
- export { L as AfterSuiteRunMeta, A as ApiConfig, Y as ArgumentsType, X as Arrayable, P as Awaitable, ae as BaseCoverageOptions, ak as BenchFunction, ai as Benchmark, al as BenchmarkAPI, aj as BenchmarkResult, ah as BenchmarkUserOptions, B as BuiltinEnvironment, C as CSSModuleScopeStrategy, a0 as Constructable, ag as CoverageC8Options, af as CoverageIstanbulOptions, ac as CoverageOptions, a9 as CoverageProvider, aa as CoverageProviderModule, ab as CoverageReporter, _ as DeepMerge, D as DoneCallback, a3 as Environment, E as EnvironmentOptions, a2 as EnvironmentReturn, a7 as ErrorWithDiff, a as File, n as HookCleanupCallback, H as HookListener, I as InlineConfig, J as JSDOMOptions, Z as MergeInsertions, a1 as ModuleCache, M as ModuleGraphData, $ as MutableArray, Q as Nullable, a8 as OnServerRestartHandler, a6 as ParsedStack, a5 as Position, b as Reporter, K as ResolveIdFunction, R as ResolvedConfig, ad as ResolvedCoverageOptions, d as RunMode, r as RuntimeContext, u as SnapshotData, x as SnapshotMatchOptions, y as SnapshotResult, w as SnapshotStateOptions, G as SnapshotSummary, v as SnapshotUpdateState, S as Suite, m as SuiteAPI, p as SuiteCollector, q as SuiteFactory, o as SuiteHooks, i as Task, f as TaskBase, g as TaskResult, T as TaskResultPack, e as TaskState, h as Test, l as TestAPI, s as TestContext, j as TestFunction, k as TestOptions, z as UncheckedSnapshot, U as UserConfig, a4 as UserConsoleLog, t as Vitest, V as VitestEnvironment, c as VitestRunMode, W as WorkerContext, O as WorkerGlobalState, N as WorkerRPC } from './global-e98f203b.js';
1
+ import { s as spyOn, f as fn, M as MaybeMockedDeep, a as MaybeMocked, b as MaybePartiallyMocked, c as MaybePartiallyMockedDeep, E as EnhancedSpy } from './index-e0804ba8.js';
2
+ export { E as EnhancedSpy, r as Mock, u as MockContext, q as MockInstance, v as Mocked, w as MockedClass, o as MockedFunction, p as MockedObject, S as SpyInstance, j as afterAll, l as afterEach, h as beforeAll, k as beforeEach, g as bench, n as createExpect, e as describe, m as expect, i as it, d as suite, t as test } from './index-e0804ba8.js';
3
+ import { D as DoneCallback, F as FakeTimerInstallOpts, a as File, T as TaskResultPack, R as ResolvedConfig, M as ModuleGraphData, b as Reporter } from './global-6d79484b.js';
4
+ export { L as AfterSuiteRunMeta, A as ApiConfig, Y as ArgumentsType, X as Arrayable, P as Awaitable, ae as BaseCoverageOptions, ak as BenchFunction, ai as Benchmark, al as BenchmarkAPI, aj as BenchmarkResult, ah as BenchmarkUserOptions, B as BuiltinEnvironment, C as CSSModuleScopeStrategy, a0 as Constructable, ag as CoverageC8Options, af as CoverageIstanbulOptions, ac as CoverageOptions, a9 as CoverageProvider, aa as CoverageProviderModule, ab as CoverageReporter, _ as DeepMerge, D as DoneCallback, a3 as Environment, E as EnvironmentOptions, a2 as EnvironmentReturn, a7 as ErrorWithDiff, a as File, n as HookCleanupCallback, H as HookListener, I as InlineConfig, J as JSDOMOptions, Z as MergeInsertions, a1 as ModuleCache, M as ModuleGraphData, $ as MutableArray, Q as Nullable, a8 as OnServerRestartHandler, a6 as ParsedStack, a5 as Position, b as Reporter, K as ResolveIdFunction, R as ResolvedConfig, ad as ResolvedCoverageOptions, d as RunMode, r as RuntimeContext, u as SnapshotData, x as SnapshotMatchOptions, y as SnapshotResult, w as SnapshotStateOptions, G as SnapshotSummary, v as SnapshotUpdateState, S as Suite, m as SuiteAPI, p as SuiteCollector, q as SuiteFactory, o as SuiteHooks, i as Task, f as TaskBase, g as TaskResult, T as TaskResultPack, e as TaskState, h as Test, l as TestAPI, s as TestContext, j as TestFunction, k as TestOptions, z as UncheckedSnapshot, U as UserConfig, a4 as UserConsoleLog, t as Vitest, V as VitestEnvironment, c as VitestRunMode, W as WorkerContext, O as WorkerGlobalState, N as WorkerRPC } from './global-6d79484b.js';
5
5
  import { TransformResult } from 'vite';
6
6
  import * as chai from 'chai';
7
7
  export { chai };
@@ -1,19 +1,19 @@
1
- export { b as bench, c as createExpect, d as describe, e as expect, i as it, s as suite, t as test } from './chunk-runtime-chain.0ab05798.mjs';
2
- export { a as afterAll, d as afterEach, b as beforeAll, c as beforeEach, h as getRunningMode, f as isFirstRun, j as isWatchMode, e as runOnce, v as vi, g as vitest, w as withCallback } from './chunk-runtime-hooks.e4219ed5.mjs';
1
+ export { b as bench, c as createExpect, d as describe, e as expect, i as it, s as suite, t as test } from './chunk-runtime-chain.4dd0a07a.js';
2
+ export { a as afterAll, d as afterEach, b as beforeAll, c as beforeEach, h as getRunningMode, f as isFirstRun, j as isWatchMode, e as runOnce, v as vi, g as vitest, w as withCallback } from './chunk-runtime-hooks.72f95cdb.js';
3
3
  import * as chai from 'chai';
4
4
  export { chai };
5
5
  export { assert, should } from 'chai';
6
6
  import 'util';
7
- import './chunk-mock-date.2917be60.mjs';
7
+ import './chunk-mock-date.b1b404e8.js';
8
8
  import 'path';
9
- import './chunk-constants.71e8a211.mjs';
9
+ import './chunk-constants.22640ce4.js';
10
10
  import 'tty';
11
11
  import 'url';
12
12
  import 'local-pkg';
13
- import './vendor-_commonjsHelpers.4da45ef5.mjs';
14
- import './chunk-runtime-rpc.00a890d2.mjs';
15
- import './chunk-utils-timers.b48455ed.mjs';
13
+ import './vendor-_commonjsHelpers.addc3445.js';
14
+ import './chunk-runtime-rpc.4f6f88e8.js';
15
+ import './chunk-utils-timers.ab764c0c.js';
16
16
  import 'fs';
17
- import './chunk-utils-source-map.2be5aa48.mjs';
18
- import './spy.mjs';
17
+ import './chunk-utils-source-map.175ffa40.js';
18
+ import './spy.js';
19
19
  import 'tinyspy';
@@ -1,8 +1,8 @@
1
1
  import { pathToFileURL } from 'url';
2
2
  import { readFile } from 'fs/promises';
3
- import { i as isNodeBuiltin, d as normalizeModuleId, h as hasCJSSyntax } from './chunk-vite-node-utils.473cd0b2.mjs';
4
- import { g as getWorkerState } from './chunk-mock-date.2917be60.mjs';
5
- import './chunk-constants.71e8a211.mjs';
3
+ import { i as isNodeBuiltin, d as normalizeModuleId, h as hasCJSSyntax } from './chunk-vite-node-utils.c8c74a41.js';
4
+ import { g as getWorkerState } from './chunk-mock-date.b1b404e8.js';
5
+ import './chunk-constants.22640ce4.js';
6
6
  import 'tty';
7
7
  import 'path';
8
8
  import 'module';
package/dist/node.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { c as VitestRunMode, U as UserConfig, t as Vitest, am as ModuleCacheMap, an as ViteNodeRunnerOptions, ao as MockMap, ap as ViteNodeRunner, aq as TestSequencer } from './global-e98f203b.js';
2
- export { aq as TestSequencer, as as TestSequencerConstructor, t as Vitest, ar as startVitest } from './global-e98f203b.js';
1
+ import { c as VitestRunMode, U as UserConfig, t as Vitest, am as ModuleCacheMap, an as ViteNodeRunnerOptions, ao as MockMap, ap as ViteNodeRunner, aq as TestSequencer } from './global-6d79484b.js';
2
+ export { aq as TestSequencer, as as TestSequencerConstructor, t as Vitest, ar as startVitest } from './global-6d79484b.js';
3
3
  import { UserConfig as UserConfig$1, Plugin } from 'vite';
4
4
  import 'tinybench';
5
5
  import 'fs';
package/dist/node.js ADDED
@@ -0,0 +1,37 @@
1
+ export { B as BaseSequencer, V as VitestPlugin, c as createVitest, s as startVitest } from './chunk-vite-node-externalize.a2e9daf4.js';
2
+ export { V as VitestRunner } from './chunk-runtime-mocker.623b90b6.js';
3
+ import './chunk-constants.22640ce4.js';
4
+ import 'tty';
5
+ import 'url';
6
+ import 'path';
7
+ import './chunk-integrations-coverage.cca09977.js';
8
+ import 'local-pkg';
9
+ import './chunk-env-node.700b7e95.js';
10
+ import 'console';
11
+ import './chunk-mock-date.b1b404e8.js';
12
+ import 'vite';
13
+ import 'process';
14
+ import 'fs';
15
+ import 'os';
16
+ import 'util';
17
+ import 'stream';
18
+ import 'events';
19
+ import './vendor-_commonjsHelpers.addc3445.js';
20
+ import './chunk-vite-node-client.4dd32c96.js';
21
+ import 'module';
22
+ import 'vm';
23
+ import './chunk-vite-node-utils.c8c74a41.js';
24
+ import 'assert';
25
+ import 'debug';
26
+ import 'perf_hooks';
27
+ import 'worker_threads';
28
+ import 'tinypool';
29
+ import './chunk-utils-source-map.175ffa40.js';
30
+ import './chunk-utils-timers.ab764c0c.js';
31
+ import 'crypto';
32
+ import './vendor-index.c902d578.js';
33
+ import './vendor-index.8919d83a.js';
34
+ import './chunk-magic-string.cacfbf9d.js';
35
+ import 'strip-literal';
36
+ import 'readline';
37
+ import './vendor-index.9f20a9be.js';
File without changes
package/dist/suite.js ADDED
@@ -0,0 +1,16 @@
1
+ import 'util';
2
+ import './chunk-mock-date.b1b404e8.js';
3
+ export { b as bench, f as clearCollectorContext, p as createSuiteHooks, h as defaultSuite, d as describe, g as getCurrentSuite, i as it, s as suite, t as test } from './chunk-runtime-chain.4dd0a07a.js';
4
+ import 'path';
5
+ import './chunk-constants.22640ce4.js';
6
+ import 'tty';
7
+ import 'url';
8
+ import 'local-pkg';
9
+ import 'chai';
10
+ import './vendor-_commonjsHelpers.addc3445.js';
11
+ import './chunk-runtime-rpc.4f6f88e8.js';
12
+ import './chunk-utils-timers.ab764c0c.js';
13
+ import 'fs';
14
+ import './chunk-utils-source-map.175ffa40.js';
15
+ import './spy.js';
16
+ import 'tinyspy';