vitest 2.1.0-beta.5 → 2.1.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +59 -320
- package/dist/browser.d.ts +6 -3
- package/dist/browser.js +2 -2
- package/dist/chunks/{RandomSequencer.B4M2ux5b.js → RandomSequencer.Bh5-tlNJ.js} +77 -58
- package/dist/chunks/{base.BH-FAiX7.js → base.BlXpj3e_.js} +1 -29
- package/dist/chunks/{base.BYvKfYzm.js → base.CchlWrnV.js} +2 -4
- package/dist/chunks/{cac.DosbLiJg.js → cac.B5XYKv2_.js} +26 -17
- package/dist/chunks/{cli-api.D8zgNrBU.js → cli-api.ByZPnilx.js} +7419 -7959
- package/dist/chunks/{constants.CaAN7icJ.js → constants.fzPh7AOq.js} +1 -1
- package/dist/chunks/{coverage.CqfT4xaf.js → coverage.zlNdAMHK.js} +5 -3
- package/dist/chunks/{creator.COdKw_ZN.js → creator.zfBZSJzo.js} +9 -9
- package/dist/chunks/{environment.0M5R1SX_.d.ts → environment.C5eAp3K6.d.ts} +1 -1
- package/dist/chunks/{execute.DT9BA6zp.js → execute._eQQfgI8.js} +322 -232
- package/dist/chunks/{git.ZtkbKc8u.js → git.B5SDxu-n.js} +5 -5
- package/dist/chunks/{globals.DRPLtPOv.js → globals.jM7MxN2t.js} +4 -4
- package/dist/chunks/{index.CM5UI-4O.js → index.Bn75ITYg.js} +3 -3
- package/dist/chunks/index.CPD77dLA.js +133 -0
- package/dist/chunks/{index.CxWPpGJz.js → index.CSjyR2-v.js} +2 -2
- package/dist/chunks/{index.Dx3f477d.js → index.DpJO1tkB.js} +1110 -1104
- package/dist/chunks/{index.CNZXZ9PJ.js → index.xm8OIiKD.js} +1 -1
- package/dist/chunks/mocker.cRtM890J.d.ts +17 -0
- package/dist/chunks/{reporters.DbwOGCsU.d.ts → reporters.WnPwkmgA.d.ts} +154 -129
- package/dist/chunks/{resolveConfig.RHsAM2_Q.js → resolveConfig.-K5hHm0S.js} +56 -34
- package/dist/chunks/{runBaseTests.BAhL8UH_.js → runBaseTests.Cztfoflv.js} +7 -7
- package/dist/chunks/{setup-common.KBrCO5LJ.js → setup-common.fGBFoQKJ.js} +1 -1
- package/dist/chunks/{utils.C3_cBsyn.js → utils.Cn0zI1t3.js} +16 -3
- package/dist/chunks/{utils.DO38lwfj.js → utils.Dbnmsfq1.js} +1 -1
- package/dist/chunks/{vi.B6QZ938s.js → vi.DGgiNzJE.js} +46 -37
- package/dist/chunks/vite.D2yAwzwa.d.ts +11 -0
- package/dist/chunks/{vm.kl9T_5ai.js → vm.CPXwWp4C.js} +1 -2
- package/dist/chunks/{worker.Cx2xE71X.d.ts → worker.Bws9Zuxu.d.ts} +1 -1
- package/dist/chunks/{worker.BANO5ak1.d.ts → worker.CmPmTxgH.d.ts} +2 -14
- package/dist/cli.js +3 -3
- package/dist/config.cjs +1 -0
- package/dist/config.d.ts +70 -2
- package/dist/config.js +1 -0
- package/dist/coverage.d.ts +4 -3
- package/dist/coverage.js +29 -5
- package/dist/environments.d.ts +2 -2
- package/dist/execute.d.ts +13 -14
- package/dist/execute.js +3 -2
- package/dist/index.d.ts +23 -16
- package/dist/index.js +4 -4
- package/dist/mocker.d.ts +1 -0
- package/dist/mocker.js +1 -0
- package/dist/node.d.ts +27 -9
- package/dist/node.js +44 -39
- package/dist/reporters.d.ts +2 -2
- package/dist/reporters.js +8 -8
- package/dist/runners.js +2 -2
- package/dist/utils.d.ts +1 -0
- package/dist/worker.js +3 -2
- package/dist/workers/forks.js +5 -4
- package/dist/workers/runVmTests.js +6 -6
- package/dist/workers/threads.js +5 -4
- package/dist/workers/vmForks.js +4 -4
- package/dist/workers/vmThreads.js +4 -4
- package/dist/workers.d.ts +4 -16
- package/dist/workers.js +6 -5
- package/mocker.d.ts +1 -0
- package/package.json +22 -17
- package/dist/chunks/index.DNUmWFkO.js +0 -319
|
@@ -9,16 +9,16 @@ import assert from 'node:assert';
|
|
|
9
9
|
import v8 from 'node:v8';
|
|
10
10
|
import { format, inspect } from 'node:util';
|
|
11
11
|
import c from 'tinyrainbow';
|
|
12
|
-
import { e as extraInlineDeps, d as defaultPort, a as defaultBrowserPort, b as defaultInspectPort } from './constants.
|
|
12
|
+
import { e as extraInlineDeps, d as defaultPort, a as defaultBrowserPort, b as defaultInspectPort } from './constants.fzPh7AOq.js';
|
|
13
13
|
import * as nodeos from 'node:os';
|
|
14
14
|
import nodeos__default from 'node:os';
|
|
15
15
|
import { i as isWindows } from './env.CmHVDJnw.js';
|
|
16
16
|
import { isCI, provider } from 'std-env';
|
|
17
17
|
import { hasFailed } from '@vitest/runner/utils';
|
|
18
|
-
import {
|
|
18
|
+
import { g as groupBy, A as AggregateErrorPonyfill, a as slash, t as toArray } from './base.BlXpj3e_.js';
|
|
19
19
|
import { createDefer } from '@vitest/utils';
|
|
20
20
|
import crypto, { createHash } from 'node:crypto';
|
|
21
|
-
import { w as wrapSerializableConfig, T as Typechecker, R as RandomSequencer, B as BaseSequencer } from './RandomSequencer.
|
|
21
|
+
import { w as wrapSerializableConfig, T as Typechecker, R as RandomSequencer, B as BaseSequencer } from './RandomSequencer.Bh5-tlNJ.js';
|
|
22
22
|
import { g as getDefaultExportFromCjs } from './_commonjsHelpers.BFTU3MAI.js';
|
|
23
23
|
import require$$0 from 'util';
|
|
24
24
|
import p from 'path';
|
|
@@ -4010,7 +4010,9 @@ function getTransformMode(patterns, filename) {
|
|
|
4010
4010
|
}
|
|
4011
4011
|
async function groupFilesByEnv(files) {
|
|
4012
4012
|
const filesWithEnv = await Promise.all(
|
|
4013
|
-
files.map(async (
|
|
4013
|
+
files.map(async (spec) => {
|
|
4014
|
+
const file = spec.moduleId;
|
|
4015
|
+
const project = spec.project.workspaceProject;
|
|
4014
4016
|
const code = await promises$1.readFile(file, "utf-8");
|
|
4015
4017
|
let env = code.match(/@(?:vitest|jest)-environment\s+([\w-]+)\b/)?.[1];
|
|
4016
4018
|
if (!env) {
|
|
@@ -4237,16 +4239,18 @@ function createForksPool(ctx, { execArgv, env }) {
|
|
|
4237
4239
|
return config;
|
|
4238
4240
|
};
|
|
4239
4241
|
const workspaceMap = /* @__PURE__ */ new Map();
|
|
4240
|
-
for (const
|
|
4242
|
+
for (const spec of specs) {
|
|
4243
|
+
const file = spec.moduleId;
|
|
4244
|
+
const project = spec.project.workspaceProject;
|
|
4241
4245
|
const workspaceFiles = workspaceMap.get(file) ?? [];
|
|
4242
4246
|
workspaceFiles.push(project);
|
|
4243
4247
|
workspaceMap.set(file, workspaceFiles);
|
|
4244
4248
|
}
|
|
4245
4249
|
const singleFork = specs.filter(
|
|
4246
|
-
(
|
|
4250
|
+
(spec) => spec.project.config.poolOptions?.forks?.singleFork
|
|
4247
4251
|
);
|
|
4248
4252
|
const multipleForks = specs.filter(
|
|
4249
|
-
(
|
|
4253
|
+
(spec) => !spec.project.config.poolOptions?.forks?.singleFork
|
|
4250
4254
|
);
|
|
4251
4255
|
if (multipleForks.length) {
|
|
4252
4256
|
const filesByEnv = await groupFilesByEnv(multipleForks);
|
|
@@ -4439,10 +4443,10 @@ See https://vitest.dev/guide/common-errors.html#failed-to-terminate-worker for t
|
|
|
4439
4443
|
workspaceMap.set(file, workspaceFiles);
|
|
4440
4444
|
}
|
|
4441
4445
|
const singleThreads = specs.filter(
|
|
4442
|
-
(
|
|
4446
|
+
(spec) => spec.project.config.poolOptions?.threads?.singleThread
|
|
4443
4447
|
);
|
|
4444
4448
|
const multipleThreads = specs.filter(
|
|
4445
|
-
(
|
|
4449
|
+
(spec) => !spec.project.config.poolOptions?.threads?.singleThread
|
|
4446
4450
|
);
|
|
4447
4451
|
if (multipleThreads.length) {
|
|
4448
4452
|
const filesByEnv = await groupFilesByEnv(multipleThreads);
|
|
@@ -4740,7 +4744,7 @@ function getMemoryLimit$1(config) {
|
|
|
4740
4744
|
|
|
4741
4745
|
function createTypecheckPool(ctx) {
|
|
4742
4746
|
const promisesMap = /* @__PURE__ */ new WeakMap();
|
|
4743
|
-
const rerunTriggered = /* @__PURE__ */ new
|
|
4747
|
+
const rerunTriggered = /* @__PURE__ */ new WeakSet();
|
|
4744
4748
|
async function onParseEnd(project, { files, sourceErrors }) {
|
|
4745
4749
|
const checker = project.typechecker;
|
|
4746
4750
|
await ctx.report("onTaskUpdate", checker.getTestPacks());
|
|
@@ -4756,7 +4760,7 @@ function createTypecheckPool(ctx) {
|
|
|
4756
4760
|
ctx.state.catchError(error, "Typecheck Error");
|
|
4757
4761
|
}
|
|
4758
4762
|
promisesMap.get(project)?.resolve();
|
|
4759
|
-
rerunTriggered.
|
|
4763
|
+
rerunTriggered.delete(project);
|
|
4760
4764
|
if (ctx.config.watch && !ctx.runningPromise) {
|
|
4761
4765
|
await ctx.report("onFinished", files, []);
|
|
4762
4766
|
await ctx.report("onWatcherStart", files, [
|
|
@@ -4778,7 +4782,7 @@ function createTypecheckPool(ctx) {
|
|
|
4778
4782
|
});
|
|
4779
4783
|
checker.onParseEnd((result) => onParseEnd(project, result));
|
|
4780
4784
|
checker.onWatcherRerun(async () => {
|
|
4781
|
-
rerunTriggered.
|
|
4785
|
+
rerunTriggered.add(project);
|
|
4782
4786
|
if (!ctx.runningPromise) {
|
|
4783
4787
|
ctx.state.clearErrors();
|
|
4784
4788
|
await ctx.report(
|
|
@@ -4804,19 +4808,19 @@ function createTypecheckPool(ctx) {
|
|
|
4804
4808
|
await checker.start();
|
|
4805
4809
|
}
|
|
4806
4810
|
async function collectTests(specs) {
|
|
4807
|
-
const specsByProject = groupBy(specs, (
|
|
4811
|
+
const specsByProject = groupBy(specs, (spec) => spec.project.name);
|
|
4808
4812
|
for (const name in specsByProject) {
|
|
4809
|
-
const project = specsByProject[name][0]
|
|
4810
|
-
const files = specsByProject[name].map((
|
|
4811
|
-
const checker = await createWorkspaceTypechecker(project, files);
|
|
4813
|
+
const project = specsByProject[name][0].project;
|
|
4814
|
+
const files = specsByProject[name].map((spec) => spec.moduleId);
|
|
4815
|
+
const checker = await createWorkspaceTypechecker(project.workspaceProject, files);
|
|
4812
4816
|
checker.setFiles(files);
|
|
4813
4817
|
await checker.collectTests();
|
|
4814
|
-
ctx.state.collectFiles(project, checker.getTestFiles());
|
|
4818
|
+
ctx.state.collectFiles(project.workspaceProject, checker.getTestFiles());
|
|
4815
4819
|
await ctx.report("onCollected");
|
|
4816
4820
|
}
|
|
4817
4821
|
}
|
|
4818
4822
|
async function runTests(specs) {
|
|
4819
|
-
const specsByProject = groupBy(specs, (
|
|
4823
|
+
const specsByProject = groupBy(specs, (spec) => spec.project.name);
|
|
4820
4824
|
const promises = [];
|
|
4821
4825
|
for (const name in specsByProject) {
|
|
4822
4826
|
const project = specsByProject[name][0][0];
|
|
@@ -4824,7 +4828,7 @@ function createTypecheckPool(ctx) {
|
|
|
4824
4828
|
const promise = createDefer();
|
|
4825
4829
|
const _p = new Promise((resolve) => {
|
|
4826
4830
|
const _i = setInterval(() => {
|
|
4827
|
-
if (!project.typechecker || rerunTriggered.
|
|
4831
|
+
if (!project.typechecker || rerunTriggered.has(project)) {
|
|
4828
4832
|
resolve(true);
|
|
4829
4833
|
clearInterval(_i);
|
|
4830
4834
|
}
|
|
@@ -5013,14 +5017,7 @@ const builtinPools = [
|
|
|
5013
5017
|
"vmForks",
|
|
5014
5018
|
"typescript"
|
|
5015
5019
|
];
|
|
5016
|
-
function getDefaultPoolName(project
|
|
5017
|
-
if (project.config.typecheck.enabled) {
|
|
5018
|
-
for (const glob of project.config.typecheck.include) {
|
|
5019
|
-
if (mm.isMatch(file, glob, { cwd: project.config.root })) {
|
|
5020
|
-
return "typescript";
|
|
5021
|
-
}
|
|
5022
|
-
}
|
|
5023
|
-
}
|
|
5020
|
+
function getDefaultPoolName(project) {
|
|
5024
5021
|
if (project.config.browser.enabled) {
|
|
5025
5022
|
return "browser";
|
|
5026
5023
|
}
|
|
@@ -5037,7 +5034,7 @@ function getFilePoolName(project, file) {
|
|
|
5037
5034
|
return pool;
|
|
5038
5035
|
}
|
|
5039
5036
|
}
|
|
5040
|
-
return getDefaultPoolName(project
|
|
5037
|
+
return getDefaultPoolName(project);
|
|
5041
5038
|
}
|
|
5042
5039
|
function createPool(ctx) {
|
|
5043
5040
|
const pools = {
|
|
@@ -5122,7 +5119,7 @@ function createPool(ctx) {
|
|
|
5122
5119
|
typescript: () => createTypecheckPool(ctx)
|
|
5123
5120
|
};
|
|
5124
5121
|
for (const spec of files) {
|
|
5125
|
-
const pool =
|
|
5122
|
+
const { pool } = spec[2];
|
|
5126
5123
|
filesByPool[pool] ??= [];
|
|
5127
5124
|
filesByPool[pool].push(spec);
|
|
5128
5125
|
}
|
|
@@ -7337,6 +7334,7 @@ const coverageConfigDefaults = {
|
|
|
7337
7334
|
".marko"
|
|
7338
7335
|
],
|
|
7339
7336
|
allowExternal: false,
|
|
7337
|
+
excludeAfterRemap: false,
|
|
7340
7338
|
ignoreEmptyLines: true,
|
|
7341
7339
|
processingConcurrency: Math.min(
|
|
7342
7340
|
20,
|
|
@@ -7669,10 +7667,34 @@ function resolveConfig(mode, options, viteConfig, logger) {
|
|
|
7669
7667
|
);
|
|
7670
7668
|
}
|
|
7671
7669
|
}
|
|
7672
|
-
if (resolved.
|
|
7673
|
-
|
|
7674
|
-
|
|
7675
|
-
|
|
7670
|
+
if (resolved.browser.enabled && !(resolved.browser.provider === "playwright" && resolved.browser.name === "chromium")) {
|
|
7671
|
+
const browserConfig = { browser: { provider: resolved.browser.provider, name: resolved.browser.name } };
|
|
7672
|
+
if (resolved.coverage.enabled && resolved.coverage.provider === "v8") {
|
|
7673
|
+
throw new Error(
|
|
7674
|
+
`@vitest/coverage-v8 does not work with
|
|
7675
|
+
${JSON.stringify(browserConfig, null, 2)}
|
|
7676
|
+
|
|
7677
|
+
Use either:
|
|
7678
|
+
${JSON.stringify({ browser: { provider: "playwright", name: "chromium" } }, null, 2)}
|
|
7679
|
+
|
|
7680
|
+
...or change your coverage provider to:
|
|
7681
|
+
${JSON.stringify({ coverage: { provider: "istanbul" } }, null, 2)}
|
|
7682
|
+
`
|
|
7683
|
+
);
|
|
7684
|
+
}
|
|
7685
|
+
if (resolved.inspect || resolved.inspectBrk) {
|
|
7686
|
+
const inspectOption = `--inspect${resolved.inspectBrk ? "-brk" : ""}`;
|
|
7687
|
+
throw new Error(
|
|
7688
|
+
`${inspectOption} does not work with
|
|
7689
|
+
${JSON.stringify(browserConfig, null, 2)}
|
|
7690
|
+
|
|
7691
|
+
Use either:
|
|
7692
|
+
${JSON.stringify({ browser: { provider: "playwright", name: "chromium" } }, null, 2)}
|
|
7693
|
+
|
|
7694
|
+
...or disable ${inspectOption}
|
|
7695
|
+
`
|
|
7696
|
+
);
|
|
7697
|
+
}
|
|
7676
7698
|
}
|
|
7677
7699
|
resolved.coverage.reporter = resolveCoverageReporters(resolved.coverage.reporter);
|
|
7678
7700
|
if (resolved.coverage.enabled && resolved.coverage.reportsDirectory) {
|
|
@@ -8118,4 +8140,4 @@ function resolveCoverageReporters(configReporters) {
|
|
|
8118
8140
|
return resolvedReporters;
|
|
8119
8141
|
}
|
|
8120
8142
|
|
|
8121
|
-
export { VitestCache as V,
|
|
8143
|
+
export { VitestCache as V, resolveApiServerConfig as a, resolveConfig as b, createMethodsRPC as c, configDefaults as d, isPackageExists as e, createPool as f, getFilePoolName as g, coverageConfigDefaults as h, isBrowserEnabled as i, mm as m, resolveCoverageReporters as r };
|
|
@@ -5,16 +5,16 @@ import '@vitest/runner/utils';
|
|
|
5
5
|
import { getSafeTimers } from '@vitest/utils';
|
|
6
6
|
import { g as getWorkerState } from './utils.Ck2hJTRs.js';
|
|
7
7
|
import './env.CmHVDJnw.js';
|
|
8
|
-
import { a as globalExpect, r as resetModules, v as vi } from './vi.
|
|
9
|
-
import { a as startCoverageInsideWorker, s as stopCoverageInsideWorker } from './coverage.
|
|
10
|
-
import { a as resolveSnapshotEnvironment, s as setupChaiConfig, r as resolveTestRunner } from './index.
|
|
8
|
+
import { a as globalExpect, r as resetModules, v as vi } from './vi.DGgiNzJE.js';
|
|
9
|
+
import { a as startCoverageInsideWorker, s as stopCoverageInsideWorker } from './coverage.zlNdAMHK.js';
|
|
10
|
+
import { a as resolveSnapshotEnvironment, s as setupChaiConfig, r as resolveTestRunner } from './index.CSjyR2-v.js';
|
|
11
11
|
import { createRequire } from 'node:module';
|
|
12
12
|
import util from 'node:util';
|
|
13
13
|
import timers from 'node:timers';
|
|
14
14
|
import { installSourcemapsSupport } from 'vite-node/source-map';
|
|
15
15
|
import { KNOWN_ASSET_TYPES } from 'vite-node/constants';
|
|
16
|
-
import { V as VitestIndex } from './index.
|
|
17
|
-
import { s as setupCommonEnv } from './setup-common.
|
|
16
|
+
import { V as VitestIndex } from './index.xm8OIiKD.js';
|
|
17
|
+
import { s as setupCommonEnv } from './setup-common.fGBFoQKJ.js';
|
|
18
18
|
import { c as closeInspector } from './inspector.70d6emsh.js';
|
|
19
19
|
import 'std-env';
|
|
20
20
|
import 'chai';
|
|
@@ -24,7 +24,7 @@ import '@vitest/snapshot';
|
|
|
24
24
|
import '@vitest/utils/error';
|
|
25
25
|
import './tasks.BZnCS9aT.js';
|
|
26
26
|
import '@vitest/utils/source-map';
|
|
27
|
-
import './base.
|
|
27
|
+
import './base.BlXpj3e_.js';
|
|
28
28
|
import './date.W2xKR2qe.js';
|
|
29
29
|
import '@vitest/spy';
|
|
30
30
|
import '../path.js';
|
|
@@ -122,7 +122,7 @@ async function run(method, files, config, environment, executor) {
|
|
|
122
122
|
const isIsolatedThreads = config.pool === "threads" && (config.poolOptions?.threads?.isolate ?? true);
|
|
123
123
|
const isIsolatedForks = config.pool === "forks" && (config.poolOptions?.forks?.isolate ?? true);
|
|
124
124
|
if (isIsolatedThreads || isIsolatedForks) {
|
|
125
|
-
|
|
125
|
+
executor.mocker.reset();
|
|
126
126
|
resetModules(workerState.moduleCache, true);
|
|
127
127
|
}
|
|
128
128
|
workerState.filepath = file;
|
|
@@ -13,7 +13,7 @@ async function setupCommonEnv(config) {
|
|
|
13
13
|
globalSetup = true;
|
|
14
14
|
setSafeTimers();
|
|
15
15
|
if (config.globals) {
|
|
16
|
-
(await import('./globals.
|
|
16
|
+
(await import('./globals.jM7MxN2t.js')).registerApiGlobally();
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
function setupDefines(defines) {
|
|
@@ -3,6 +3,8 @@ import { parseRegexp } from '@vitest/utils';
|
|
|
3
3
|
const REGEXP_WRAP_PREFIX = "$$vitest:";
|
|
4
4
|
const processSend = process.send?.bind(process);
|
|
5
5
|
const processOn = process.on?.bind(process);
|
|
6
|
+
const processOff = process.off?.bind(process);
|
|
7
|
+
const dispose = [];
|
|
6
8
|
function createThreadsRpcOptions({
|
|
7
9
|
port
|
|
8
10
|
}) {
|
|
@@ -15,6 +17,15 @@ function createThreadsRpcOptions({
|
|
|
15
17
|
}
|
|
16
18
|
};
|
|
17
19
|
}
|
|
20
|
+
function disposeInternalListeners() {
|
|
21
|
+
for (const fn of dispose) {
|
|
22
|
+
try {
|
|
23
|
+
fn();
|
|
24
|
+
} catch {
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
dispose.length = 0;
|
|
28
|
+
}
|
|
18
29
|
function createForksRpcOptions(nodeV8) {
|
|
19
30
|
return {
|
|
20
31
|
serialize: nodeV8.serialize,
|
|
@@ -23,12 +34,14 @@ function createForksRpcOptions(nodeV8) {
|
|
|
23
34
|
processSend(v);
|
|
24
35
|
},
|
|
25
36
|
on(fn) {
|
|
26
|
-
|
|
37
|
+
const handler = (message, ...extras) => {
|
|
27
38
|
if (message?.__tinypool_worker_message__) {
|
|
28
39
|
return;
|
|
29
40
|
}
|
|
30
41
|
return fn(message, ...extras);
|
|
31
|
-
}
|
|
42
|
+
};
|
|
43
|
+
processOn("message", handler);
|
|
44
|
+
dispose.push(() => processOff("message", handler));
|
|
32
45
|
}
|
|
33
46
|
};
|
|
34
47
|
}
|
|
@@ -52,4 +65,4 @@ function unwrapSerializableConfig(config) {
|
|
|
52
65
|
return config;
|
|
53
66
|
}
|
|
54
67
|
|
|
55
|
-
export { createThreadsRpcOptions as a, createForksRpcOptions as c, unwrapSerializableConfig as u };
|
|
68
|
+
export { createThreadsRpcOptions as a, createForksRpcOptions as c, disposeInternalListeners as d, unwrapSerializableConfig as u };
|
|
@@ -11,7 +11,7 @@ import { getSafeTimers, assertTypes, createSimpleStackTrace } from '@vitest/util
|
|
|
11
11
|
import 'pathe';
|
|
12
12
|
import './env.CmHVDJnw.js';
|
|
13
13
|
import { parseSingleStack } from '@vitest/utils/source-map';
|
|
14
|
-
import { i as isChildProcess } from './base.
|
|
14
|
+
import { i as isChildProcess } from './base.BlXpj3e_.js';
|
|
15
15
|
import { R as RealDate, r as resetDate, m as mockDate } from './date.W2xKR2qe.js';
|
|
16
16
|
import { spyOn, fn, isMockFunction, mocks } from '@vitest/spy';
|
|
17
17
|
|
|
@@ -191,16 +191,16 @@ function getError(expected, promise) {
|
|
|
191
191
|
}
|
|
192
192
|
throw new Error("snapshot function didn't throw");
|
|
193
193
|
}
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
name: getNames(test).slice(1).join(" > ")
|
|
202
|
-
};
|
|
194
|
+
function getTestNames(test) {
|
|
195
|
+
if (!test) {
|
|
196
|
+
return {};
|
|
197
|
+
}
|
|
198
|
+
return {
|
|
199
|
+
filepath: test.file.filepath,
|
|
200
|
+
name: getNames(test).slice(1).join(" > ")
|
|
203
201
|
};
|
|
202
|
+
}
|
|
203
|
+
const SnapshotPlugin = (chai, utils) => {
|
|
204
204
|
for (const key of ["matchSnapshot", "toMatchSnapshot"]) {
|
|
205
205
|
utils.addMethod(
|
|
206
206
|
chai.Assertion.prototype,
|
|
@@ -3228,6 +3228,11 @@ class FakeTimers {
|
|
|
3228
3228
|
await this._clock.tickAsync(msToRun);
|
|
3229
3229
|
}
|
|
3230
3230
|
}
|
|
3231
|
+
advanceTimersToNextFrame() {
|
|
3232
|
+
if (this._checkFakeTimers()) {
|
|
3233
|
+
this._clock.runToFrame();
|
|
3234
|
+
}
|
|
3235
|
+
}
|
|
3231
3236
|
runAllTicks() {
|
|
3232
3237
|
if (this._checkFakeTimers()) {
|
|
3233
3238
|
this._clock.runMicrotasks();
|
|
@@ -3464,18 +3469,6 @@ function waitUntil(callback, options = {}) {
|
|
|
3464
3469
|
function createVitest() {
|
|
3465
3470
|
let _mockedDate = null;
|
|
3466
3471
|
let _config = null;
|
|
3467
|
-
function _mocker() {
|
|
3468
|
-
return typeof __vitest_mocker__ !== "undefined" ? __vitest_mocker__ : new Proxy(
|
|
3469
|
-
{},
|
|
3470
|
-
{
|
|
3471
|
-
get(_, name) {
|
|
3472
|
-
throw new Error(
|
|
3473
|
-
`Vitest mocker was not initialized in this environment. vi.${String(name)}() is forbidden.`
|
|
3474
|
-
);
|
|
3475
|
-
}
|
|
3476
|
-
}
|
|
3477
|
-
);
|
|
3478
|
-
}
|
|
3479
3472
|
const workerState = getWorkerState();
|
|
3480
3473
|
let _timers;
|
|
3481
3474
|
const timers = () => _timers ||= new FakeTimers({
|
|
@@ -3485,15 +3478,6 @@ function createVitest() {
|
|
|
3485
3478
|
const _stubsGlobal = /* @__PURE__ */ new Map();
|
|
3486
3479
|
const _stubsEnv = /* @__PURE__ */ new Map();
|
|
3487
3480
|
const _envBooleans = ["PROD", "DEV", "SSR"];
|
|
3488
|
-
const getImporter = (name) => {
|
|
3489
|
-
const stackTrace = createSimpleStackTrace({ stackTraceLimit: 5 });
|
|
3490
|
-
const stackArray = stackTrace.split("\n");
|
|
3491
|
-
const importerStackIndex = stackArray.findIndex((stack2) => {
|
|
3492
|
-
return stack2.includes(` at Object.${name}`) || stack2.includes(`${name}@`);
|
|
3493
|
-
});
|
|
3494
|
-
const stack = parseSingleStack(stackArray[importerStackIndex + 1]);
|
|
3495
|
-
return stack?.file || "";
|
|
3496
|
-
};
|
|
3497
3481
|
const utils = {
|
|
3498
3482
|
useFakeTimers(config) {
|
|
3499
3483
|
if (isChildProcess()) {
|
|
@@ -3555,6 +3539,10 @@ function createVitest() {
|
|
|
3555
3539
|
await timers().advanceTimersToNextTimerAsync();
|
|
3556
3540
|
return utils;
|
|
3557
3541
|
},
|
|
3542
|
+
advanceTimersToNextFrame() {
|
|
3543
|
+
timers().advanceTimersToNextFrame();
|
|
3544
|
+
return utils;
|
|
3545
|
+
},
|
|
3558
3546
|
getTimerCount() {
|
|
3559
3547
|
return timers().getTimerCount();
|
|
3560
3548
|
},
|
|
@@ -3593,14 +3581,13 @@ function createVitest() {
|
|
|
3593
3581
|
_mocker().queueMock(
|
|
3594
3582
|
path,
|
|
3595
3583
|
importer,
|
|
3596
|
-
factory ? () => factory(
|
|
3584
|
+
typeof factory === "function" ? () => factory(
|
|
3597
3585
|
() => _mocker().importActual(
|
|
3598
3586
|
path,
|
|
3599
3587
|
importer,
|
|
3600
3588
|
_mocker().getMockContext().callstack
|
|
3601
3589
|
)
|
|
3602
|
-
) :
|
|
3603
|
-
true
|
|
3590
|
+
) : factory
|
|
3604
3591
|
);
|
|
3605
3592
|
},
|
|
3606
3593
|
unmock(path) {
|
|
@@ -3621,14 +3608,13 @@ function createVitest() {
|
|
|
3621
3608
|
_mocker().queueMock(
|
|
3622
3609
|
path,
|
|
3623
3610
|
importer,
|
|
3624
|
-
factory ? () => factory(
|
|
3611
|
+
typeof factory === "function" ? () => factory(
|
|
3625
3612
|
() => _mocker().importActual(
|
|
3626
3613
|
path,
|
|
3627
3614
|
importer,
|
|
3628
3615
|
_mocker().getMockContext().callstack
|
|
3629
3616
|
)
|
|
3630
|
-
) :
|
|
3631
|
-
false
|
|
3617
|
+
) : factory
|
|
3632
3618
|
);
|
|
3633
3619
|
},
|
|
3634
3620
|
doUnmock(path) {
|
|
@@ -3689,6 +3675,8 @@ function createVitest() {
|
|
|
3689
3675
|
}
|
|
3690
3676
|
if (_envBooleans.includes(name)) {
|
|
3691
3677
|
process.env[name] = value ? "1" : "";
|
|
3678
|
+
} else if (value === void 0) {
|
|
3679
|
+
delete process.env[name];
|
|
3692
3680
|
} else {
|
|
3693
3681
|
process.env[name] = String(value);
|
|
3694
3682
|
}
|
|
@@ -3739,5 +3727,26 @@ function createVitest() {
|
|
|
3739
3727
|
}
|
|
3740
3728
|
const vitest = createVitest();
|
|
3741
3729
|
const vi = vitest;
|
|
3730
|
+
function _mocker() {
|
|
3731
|
+
return typeof __vitest_mocker__ !== "undefined" ? __vitest_mocker__ : new Proxy(
|
|
3732
|
+
{},
|
|
3733
|
+
{
|
|
3734
|
+
get(_, name) {
|
|
3735
|
+
throw new Error(
|
|
3736
|
+
`Vitest mocker was not initialized in this environment. vi.${String(name)}() is forbidden.`
|
|
3737
|
+
);
|
|
3738
|
+
}
|
|
3739
|
+
}
|
|
3740
|
+
);
|
|
3741
|
+
}
|
|
3742
|
+
function getImporter(name) {
|
|
3743
|
+
const stackTrace = createSimpleStackTrace({ stackTraceLimit: 5 });
|
|
3744
|
+
const stackArray = stackTrace.split("\n");
|
|
3745
|
+
const importerStackIndex = stackArray.findIndex((stack2) => {
|
|
3746
|
+
return stack2.includes(` at Object.${name}`) || stack2.includes(`${name}@`);
|
|
3747
|
+
});
|
|
3748
|
+
const stack = parseSingleStack(stackArray[importerStackIndex + 1]);
|
|
3749
|
+
return stack?.file || "";
|
|
3750
|
+
}
|
|
3742
3751
|
|
|
3743
3752
|
export { globalExpect as a, vitest as b, createExpect as c, getSnapshotClient as g, resetModules as r, vi as v };
|
|
@@ -2,7 +2,7 @@ import vm, { isContext } from 'node:vm';
|
|
|
2
2
|
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
3
3
|
import { dirname, basename, extname, normalize, join, resolve } from 'pathe';
|
|
4
4
|
import { createCustomConsole } from './console.DI3gHgtH.js';
|
|
5
|
-
import { g as getDefaultRequestStubs, s as startVitestExecutor } from './execute.
|
|
5
|
+
import { g as getDefaultRequestStubs, s as startVitestExecutor } from './execute._eQQfgI8.js';
|
|
6
6
|
import { distDir } from '../path.js';
|
|
7
7
|
import { dirname as dirname$1 } from 'node:path';
|
|
8
8
|
import fs from 'node:fs';
|
|
@@ -822,7 +822,6 @@ async function runVmTests(method, state) {
|
|
|
822
822
|
const executor = await startVitestExecutor({
|
|
823
823
|
context,
|
|
824
824
|
moduleCache: state.moduleCache,
|
|
825
|
-
mockMap: state.mockMap,
|
|
826
825
|
state,
|
|
827
826
|
externalModulesExecutor,
|
|
828
827
|
requestStubs: stubs
|
|
@@ -2,18 +2,7 @@ import { FetchResult, ViteNodeResolveId, RawSourceMap, ModuleCacheMap } from 'vi
|
|
|
2
2
|
import { File, TaskResultPack, CancelReason, Task } from '@vitest/runner';
|
|
3
3
|
import { S as SerializedConfig } from './config.CHuotKvS.js';
|
|
4
4
|
import { SnapshotResult } from '@vitest/snapshot';
|
|
5
|
-
import { T as TransformMode, U as UserConsoleLog, A as AfterSuiteRunMeta, E as Environment } from './environment.
|
|
6
|
-
|
|
7
|
-
type MockFactoryWithHelper<M = unknown> = (importOriginal: <T extends M>() => Promise<T>) => any;
|
|
8
|
-
type MockFactory = () => any;
|
|
9
|
-
type MockMap = Map<string, Record<string, string | null | MockFactory>>;
|
|
10
|
-
interface PendingSuiteMock {
|
|
11
|
-
id: string;
|
|
12
|
-
importer: string;
|
|
13
|
-
type: 'mock' | 'unmock';
|
|
14
|
-
throwIfCached: boolean;
|
|
15
|
-
factory?: MockFactory;
|
|
16
|
-
}
|
|
5
|
+
import { T as TransformMode, U as UserConsoleLog, A as AfterSuiteRunMeta, E as Environment } from './environment.C5eAp3K6.js';
|
|
17
6
|
|
|
18
7
|
interface RuntimeRPC {
|
|
19
8
|
fetch: (id: string, transformMode: TransformMode) => Promise<{
|
|
@@ -133,7 +122,6 @@ interface WorkerGlobalState {
|
|
|
133
122
|
environmentTeardownRun?: boolean;
|
|
134
123
|
onCancel: Promise<CancelReason>;
|
|
135
124
|
moduleCache: ModuleCacheMap;
|
|
136
|
-
mockMap: MockMap;
|
|
137
125
|
providedContext: Record<string, any>;
|
|
138
126
|
durations: {
|
|
139
127
|
environment: number;
|
|
@@ -141,4 +129,4 @@ interface WorkerGlobalState {
|
|
|
141
129
|
};
|
|
142
130
|
}
|
|
143
131
|
|
|
144
|
-
export type { BirpcOptions as B, ContextRPC as C,
|
|
132
|
+
export type { BirpcOptions as B, ContextRPC as C, RuntimeRPC as R, WorkerGlobalState as W, BirpcReturn as a, RunnerRPC as b, ResolveIdFunction as c, WorkerRPC as d, ContextTestEnvironment as e };
|
package/dist/cli.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { c as createCLI } from './chunks/cac.
|
|
1
|
+
import { c as createCLI } from './chunks/cac.B5XYKv2_.js';
|
|
2
2
|
import 'pathe';
|
|
3
3
|
import 'events';
|
|
4
4
|
import 'tinyrainbow';
|
|
5
|
-
import './chunks/base.
|
|
5
|
+
import './chunks/base.BlXpj3e_.js';
|
|
6
6
|
import '@vitest/utils';
|
|
7
|
-
import './chunks/constants.
|
|
7
|
+
import './chunks/constants.fzPh7AOq.js';
|
|
8
8
|
|
|
9
9
|
createCLI().parse();
|
package/dist/config.cjs
CHANGED
package/dist/config.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
import './chunks/vite.D2yAwzwa.js';
|
|
2
|
+
import { ConfigEnv, UserConfig } from 'vite';
|
|
2
3
|
export { ConfigEnv, Plugin, UserConfig, mergeConfig } from 'vite';
|
|
4
|
+
import { R as ResolvedCoverageOptions, b as CoverageV8Options, U as UserWorkspaceConfig, c as UserProjectConfigFn, d as UserProjectConfigExport, W as WorkspaceProjectConfiguration } from './chunks/reporters.WnPwkmgA.js';
|
|
3
5
|
import '@vitest/runner';
|
|
4
6
|
import '@vitest/pretty-format';
|
|
5
7
|
import './chunks/config.CHuotKvS.js';
|
|
6
8
|
import '@vitest/snapshot';
|
|
7
9
|
import '@vitest/snapshot/environment';
|
|
8
10
|
import 'vite-node';
|
|
9
|
-
import './chunks/environment.
|
|
11
|
+
import './chunks/environment.C5eAp3K6.js';
|
|
10
12
|
import 'node:stream';
|
|
11
13
|
import 'vite-node/client';
|
|
12
14
|
import '@vitest/snapshot/manager';
|
|
@@ -18,3 +20,69 @@ import 'chai';
|
|
|
18
20
|
import './chunks/benchmark.puBFxyfE.js';
|
|
19
21
|
import '@vitest/runner/utils';
|
|
20
22
|
import 'tinybench';
|
|
23
|
+
|
|
24
|
+
declare const defaultBrowserPort = 63315;
|
|
25
|
+
declare const extraInlineDeps: RegExp[];
|
|
26
|
+
|
|
27
|
+
declare const defaultInclude: string[];
|
|
28
|
+
declare const defaultExclude: string[];
|
|
29
|
+
declare const coverageConfigDefaults: ResolvedCoverageOptions;
|
|
30
|
+
declare const configDefaults: Readonly<{
|
|
31
|
+
allowOnly: boolean;
|
|
32
|
+
isolate: true;
|
|
33
|
+
watch: boolean;
|
|
34
|
+
globals: false;
|
|
35
|
+
environment: "node";
|
|
36
|
+
pool: "forks";
|
|
37
|
+
clearMocks: false;
|
|
38
|
+
restoreMocks: false;
|
|
39
|
+
mockReset: false;
|
|
40
|
+
unstubGlobals: false;
|
|
41
|
+
unstubEnvs: false;
|
|
42
|
+
include: string[];
|
|
43
|
+
exclude: string[];
|
|
44
|
+
teardownTimeout: number;
|
|
45
|
+
forceRerunTriggers: string[];
|
|
46
|
+
update: false;
|
|
47
|
+
reporters: never[];
|
|
48
|
+
silent: false;
|
|
49
|
+
hideSkippedTests: false;
|
|
50
|
+
api: false;
|
|
51
|
+
ui: false;
|
|
52
|
+
uiBase: string;
|
|
53
|
+
open: boolean;
|
|
54
|
+
css: {
|
|
55
|
+
include: never[];
|
|
56
|
+
};
|
|
57
|
+
coverage: CoverageV8Options;
|
|
58
|
+
fakeTimers: {
|
|
59
|
+
loopLimit: number;
|
|
60
|
+
shouldClearNativeTimers: true;
|
|
61
|
+
toFake: ("setTimeout" | "setInterval" | "clearInterval" | "clearTimeout" | "setImmediate" | "clearImmediate" | "Date")[];
|
|
62
|
+
};
|
|
63
|
+
maxConcurrency: number;
|
|
64
|
+
dangerouslyIgnoreUnhandledErrors: false;
|
|
65
|
+
typecheck: {
|
|
66
|
+
checker: "tsc";
|
|
67
|
+
include: string[];
|
|
68
|
+
exclude: string[];
|
|
69
|
+
};
|
|
70
|
+
slowTestThreshold: number;
|
|
71
|
+
disableConsoleIntercept: false;
|
|
72
|
+
}>;
|
|
73
|
+
|
|
74
|
+
type UserConfigFnObject = (env: ConfigEnv) => UserConfig;
|
|
75
|
+
type UserConfigFnPromise = (env: ConfigEnv) => Promise<UserConfig>;
|
|
76
|
+
type UserConfigFn = (env: ConfigEnv) => UserConfig | Promise<UserConfig>;
|
|
77
|
+
type UserConfigExport = UserConfig | Promise<UserConfig> | UserConfigFnObject | UserConfigFnPromise | UserConfigFn;
|
|
78
|
+
declare function defineConfig(config: UserConfig): UserConfig;
|
|
79
|
+
declare function defineConfig(config: Promise<UserConfig>): Promise<UserConfig>;
|
|
80
|
+
declare function defineConfig(config: UserConfigFnObject): UserConfigFnObject;
|
|
81
|
+
declare function defineConfig(config: UserConfigExport): UserConfigExport;
|
|
82
|
+
declare function defineProject(config: UserWorkspaceConfig): UserWorkspaceConfig;
|
|
83
|
+
declare function defineProject(config: Promise<UserWorkspaceConfig>): Promise<UserWorkspaceConfig>;
|
|
84
|
+
declare function defineProject(config: UserProjectConfigFn): UserProjectConfigFn;
|
|
85
|
+
declare function defineProject(config: UserProjectConfigExport): UserProjectConfigExport;
|
|
86
|
+
declare function defineWorkspace(config: WorkspaceProjectConfiguration[]): WorkspaceProjectConfiguration[];
|
|
87
|
+
|
|
88
|
+
export { type UserConfigExport, type UserConfigFn, type UserConfigFnObject, type UserConfigFnPromise, UserProjectConfigExport, UserProjectConfigFn, UserWorkspaceConfig, WorkspaceProjectConfiguration, configDefaults, coverageConfigDefaults, defaultBrowserPort, defaultExclude, defaultInclude, defineConfig, defineProject, defineWorkspace, extraInlineDeps };
|