vitest 4.0.0-beta.1 → 4.0.0-beta.10
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 +2 -2
- package/dist/browser.d.ts +13 -14
- package/dist/browser.js +6 -5
- package/dist/chunks/base.Cjha6usc.js +129 -0
- package/dist/chunks/{benchmark.CYdenmiT.js → benchmark.CJUa-Hsa.js} +6 -8
- package/dist/chunks/{benchmark.d.BwvBVTda.d.ts → benchmark.d.DAaHLpsq.d.ts} +4 -4
- package/dist/chunks/{browser.d.q8Z0P0q1.d.ts → browser.d.yFAklsD1.d.ts} +5 -5
- package/dist/chunks/{cac.D3EzDDZd.js → cac.DCxo_nSu.js} +70 -152
- package/dist/chunks/{cli-api.Dn5gKePv.js → cli-api.BJJXh9BV.js} +1330 -1677
- package/dist/chunks/{config.d.HJdfX-8k.d.ts → config.d.B_LthbQq.d.ts} +58 -63
- package/dist/chunks/{console.CtFJOzRO.js → console.7h5kHUIf.js} +34 -70
- package/dist/chunks/{constants.DnKduX2e.js → constants.D_Q9UYh-.js} +1 -9
- package/dist/chunks/{coverage.Cwa-XhJt.js → coverage.BCU-r2QL.js} +515 -781
- package/dist/chunks/{coverage.DVF1vEu8.js → coverage.D_JHT54q.js} +2 -2
- package/dist/chunks/{coverage.d.S9RMNXIe.d.ts → coverage.d.BZtK59WP.d.ts} +10 -8
- package/dist/chunks/{creator.GK6I-cL4.js → creator.08Gi-vCA.js} +93 -77
- package/dist/chunks/{date.Bq6ZW5rf.js → date.-jtEtIeV.js} +6 -17
- package/dist/chunks/{environment.d.CUq4cUgQ.d.ts → environment.d.BsToaxti.d.ts} +27 -6
- package/dist/chunks/{git.BVQ8w_Sw.js → git.BFNcloKD.js} +1 -2
- package/dist/chunks/{global.d.CVbXEflG.d.ts → global.d.BK3X7FW1.d.ts} +2 -5
- package/dist/chunks/{globals.Cxal6MLI.js → globals.DG-S3xFe.js} +8 -8
- package/dist/chunks/{index.CZI_8rVt.js → index.BIP7prJq.js} +289 -608
- package/dist/chunks/{index.B521nVV-.js → index.Bgo3tNWt.js} +23 -4
- package/dist/chunks/{index.TfbsX-3I.js → index.BjKEiSn0.js} +14 -24
- package/dist/chunks/{index.BWf_gE5n.js → index.CMfqw92x.js} +7 -6
- package/dist/chunks/{index.CmSc2RE5.js → index.DIWhzsUh.js} +72 -118
- package/dist/chunks/{inspector.C914Efll.js → inspector.CvQD-Nie.js} +10 -25
- package/dist/chunks/moduleRunner.d.D9nBoC4p.d.ts +201 -0
- package/dist/chunks/moduleTransport.I-bgQy0S.js +19 -0
- package/dist/chunks/{node.fjCdwEIl.js → node.CyipiPvJ.js} +1 -1
- package/dist/chunks/{plugin.d.C2EcJUjo.d.ts → plugin.d.BMVSnsGV.d.ts} +1 -1
- package/dist/chunks/{reporters.d.DxZg19fy.d.ts → reporters.d.BUWjmRYq.d.ts} +1226 -1291
- package/dist/chunks/resolveSnapshotEnvironment.Bkht6Yor.js +81 -0
- package/dist/chunks/resolver.Bx6lE0iq.js +119 -0
- package/dist/chunks/rpc.BKr6mtxz.js +65 -0
- package/dist/chunks/{setup-common.D7ZqXFx-.js → setup-common.uiMcU3cv.js} +17 -29
- package/dist/chunks/startModuleRunner.p67gbNo9.js +665 -0
- package/dist/chunks/{suite.d.FvehnV49.d.ts → suite.d.BJWk38HB.d.ts} +1 -1
- package/dist/chunks/test.BiqSKISg.js +214 -0
- package/dist/chunks/{typechecker.CVytUJuF.js → typechecker.DB-fIMaH.js} +144 -213
- package/dist/chunks/{utils.CAioKnHs.js → utils.C2YI6McM.js} +5 -14
- package/dist/chunks/{utils.XdZDrNZV.js → utils.D2R2NiOH.js} +8 -27
- package/dist/chunks/{vi.bdSIJ99Y.js → vi.ZPgvtBao.js} +156 -305
- package/dist/chunks/{vm.BThCzidc.js → vm.Ca0Y0W5f.js} +116 -226
- package/dist/chunks/{worker.d.DoNjFAiv.d.ts → worker.d.BDsXGkwh.d.ts} +28 -22
- package/dist/chunks/{worker.d.CmvJfRGs.d.ts → worker.d.BNcX_2mH.d.ts} +1 -1
- package/dist/cli.js +4 -4
- package/dist/config.cjs +3 -9
- package/dist/config.d.ts +49 -54
- package/dist/config.js +1 -1
- package/dist/coverage.d.ts +27 -26
- package/dist/coverage.js +6 -7
- package/dist/environments.d.ts +9 -13
- package/dist/environments.js +1 -1
- package/dist/index.d.ts +38 -45
- package/dist/index.js +7 -9
- package/dist/module-evaluator.d.ts +13 -0
- package/dist/module-evaluator.js +276 -0
- package/dist/module-runner.js +15 -0
- package/dist/node.d.ts +40 -41
- package/dist/node.js +23 -33
- package/dist/reporters.d.ts +12 -13
- package/dist/reporters.js +3 -3
- package/dist/runners.d.ts +3 -3
- package/dist/runners.js +13 -232
- package/dist/snapshot.js +2 -2
- package/dist/suite.d.ts +2 -2
- package/dist/suite.js +2 -2
- package/dist/worker.js +90 -47
- package/dist/workers/forks.js +34 -10
- package/dist/workers/runVmTests.js +36 -56
- package/dist/workers/threads.js +34 -10
- package/dist/workers/vmForks.js +11 -10
- package/dist/workers/vmThreads.js +11 -10
- package/dist/workers.d.ts +5 -4
- package/dist/workers.js +35 -17
- package/globals.d.ts +17 -17
- package/package.json +32 -31
- package/dist/chunks/base.Bj3pWTr1.js +0 -38
- package/dist/chunks/execute.B7h3T_Hc.js +0 -708
- package/dist/chunks/index.D-VkfKhf.js +0 -105
- package/dist/chunks/rpc.CsFtxqeq.js +0 -83
- package/dist/chunks/runBaseTests.BC7ZIH5L.js +0 -129
- package/dist/execute.d.ts +0 -148
- package/dist/execute.js +0 -13
package/dist/worker.js
CHANGED
|
@@ -1,50 +1,69 @@
|
|
|
1
1
|
import { pathToFileURL } from 'node:url';
|
|
2
2
|
import { createStackString, parseStacktrace } from '@vitest/utils/source-map';
|
|
3
|
-
import {
|
|
4
|
-
import { ViteNodeRunner, ModuleCacheMap } from 'vite-node/client';
|
|
3
|
+
import { ModuleRunner, EvaluatedModules } from 'vite/module-runner';
|
|
5
4
|
import { readFileSync } from 'node:fs';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
5
|
+
import { isBuiltin } from 'node:module';
|
|
6
|
+
import { resolve } from 'pathe';
|
|
7
|
+
import { V as VitestTransport } from './chunks/moduleTransport.I-bgQy0S.js';
|
|
8
|
+
import { e as environments } from './chunks/index.DIWhzsUh.js';
|
|
9
|
+
import { s as setupInspect } from './chunks/inspector.CvQD-Nie.js';
|
|
10
|
+
import { c as createRuntimeRpc, a as rpcDone } from './chunks/rpc.BKr6mtxz.js';
|
|
11
|
+
import { i as isChildProcess } from './chunks/utils.D2R2NiOH.js';
|
|
12
|
+
import { d as disposeInternalListeners } from './chunks/utils.C2YI6McM.js';
|
|
12
13
|
import 'node:console';
|
|
13
|
-
import 'node:module';
|
|
14
14
|
import '@vitest/utils';
|
|
15
|
-
import './chunks/index.
|
|
15
|
+
import './chunks/index.Bgo3tNWt.js';
|
|
16
16
|
|
|
17
17
|
function isBuiltinEnvironment(env) {
|
|
18
18
|
return env in environments;
|
|
19
19
|
}
|
|
20
|
-
const _loaders = /* @__PURE__ */ new Map();
|
|
21
|
-
async function createEnvironmentLoader(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
const isWindows = process.platform === "win32", _loaders = /* @__PURE__ */ new Map();
|
|
21
|
+
async function createEnvironmentLoader(root, rpc) {
|
|
22
|
+
const cachedLoader = _loaders.get(root);
|
|
23
|
+
if (!cachedLoader || cachedLoader.isClosed()) {
|
|
24
|
+
_loaders.delete(root);
|
|
25
|
+
const moduleRunner = new ModuleRunner({
|
|
26
|
+
hmr: false,
|
|
27
|
+
sourcemapInterceptor: "prepareStackTrace",
|
|
28
|
+
transport: new VitestTransport({
|
|
29
|
+
async fetchModule(id, importer, options) {
|
|
30
|
+
const result = await rpc.fetch(id, importer, "__vitest__", options);
|
|
31
|
+
if ("cached" in result) {
|
|
32
|
+
const code = readFileSync(result.tmp, "utf-8");
|
|
33
|
+
return {
|
|
34
|
+
code,
|
|
35
|
+
...result
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
if (isWindows && "externalize" in result)
|
|
39
|
+
// TODO: vitest returns paths for external modules, but Vite returns file://
|
|
40
|
+
// https://github.com/vitejs/vite/pull/20449
|
|
41
|
+
result.externalize = isBuiltin(id) || /^(?:node:|data:|http:|https:|file:)/.test(id) ? result.externalize : pathToFileURL(result.externalize).toString();
|
|
42
|
+
return result;
|
|
43
|
+
},
|
|
44
|
+
async resolveId(id, importer) {
|
|
45
|
+
return rpc.resolve(id, importer, "__vitest__");
|
|
46
|
+
}
|
|
47
|
+
})
|
|
48
|
+
});
|
|
49
|
+
_loaders.set(root, moduleRunner), await moduleRunner.import("/@vite/env");
|
|
26
50
|
}
|
|
27
|
-
return _loaders.get(
|
|
51
|
+
return _loaders.get(root);
|
|
28
52
|
}
|
|
29
53
|
async function loadEnvironment(ctx, rpc) {
|
|
30
54
|
const name = ctx.environment.name;
|
|
31
|
-
if (isBuiltinEnvironment(name)) return environments[name];
|
|
32
|
-
const loader = await createEnvironmentLoader({
|
|
33
|
-
root: ctx.config.root,
|
|
34
|
-
fetchModule: async (id) => {
|
|
35
|
-
const result = await rpc.fetch(id, "ssr");
|
|
36
|
-
if (result.id) return { code: readFileSync(result.id, "utf-8") };
|
|
37
|
-
return result;
|
|
38
|
-
},
|
|
39
|
-
resolveId: (id, importer) => rpc.resolveId(id, importer, "ssr")
|
|
40
|
-
});
|
|
41
|
-
const root = loader.root;
|
|
42
|
-
const packageId = name[0] === "." || name[0] === "/" ? resolve(root, name) : (await rpc.resolveId(`vitest-environment-${name}`, void 0, "ssr"))?.id ?? resolve(root, name);
|
|
43
|
-
const pkg = await loader.executeId(normalize(packageId));
|
|
55
|
+
if (isBuiltinEnvironment(name)) return { environment: environments[name] };
|
|
56
|
+
const root = ctx.config.root, loader = await createEnvironmentLoader(root, rpc), packageId = name[0] === "." || name[0] === "/" ? resolve(root, name) : (await rpc.resolve(`vitest-environment-${name}`, void 0, "__vitest__"))?.id ?? resolve(root, name), pkg = await loader.import(packageId);
|
|
44
57
|
if (!pkg || !pkg.default || typeof pkg.default !== "object") throw new TypeError(`Environment "${name}" is not a valid environment. Path "${packageId}" should export default object with a "setup" or/and "setupVM" method.`);
|
|
45
58
|
const environment = pkg.default;
|
|
46
|
-
if (environment.transformMode !== "web" && environment.transformMode !== "ssr") throw new TypeError(`Environment "${name}" is not a valid environment. Path "${packageId}" should export default object with a "transformMode" method equal to "ssr" or "web".`);
|
|
47
|
-
|
|
59
|
+
if (environment.transformMode != null && environment.transformMode !== "web" && environment.transformMode !== "ssr") throw new TypeError(`Environment "${name}" is not a valid environment. Path "${packageId}" should export default object with a "transformMode" method equal to "ssr" or "web", received "${environment.transformMode}".`);
|
|
60
|
+
if (environment.transformMode)
|
|
61
|
+
// keep for backwards compat
|
|
62
|
+
console.warn(`The Vitest environment ${environment.name} defines the "transformMode". This options was deprecated in Vitest 4 and will be removed in the next major version. Please, use "viteEnvironment" instead.`), environment.viteEnvironment ??= environment.transformMode === "ssr" ? "ssr" : "client";
|
|
63
|
+
return {
|
|
64
|
+
environment,
|
|
65
|
+
loader
|
|
66
|
+
};
|
|
48
67
|
}
|
|
49
68
|
|
|
50
69
|
const listeners = /* @__PURE__ */ new Set();
|
|
@@ -57,7 +76,6 @@ async function cleanup() {
|
|
|
57
76
|
}
|
|
58
77
|
|
|
59
78
|
if (isChildProcess()) {
|
|
60
|
-
setProcessTitle(`vitest ${workerId}`);
|
|
61
79
|
const isProfiling = process.execArgv.some((execArg) => execArg.startsWith("--prof") || execArg.startsWith("--cpu-prof") || execArg.startsWith("--heap-prof") || execArg.startsWith("--diagnostic-dir"));
|
|
62
80
|
if (isProfiling)
|
|
63
81
|
// Work-around for nodejs/node#55094
|
|
@@ -65,29 +83,36 @@ if (isChildProcess()) {
|
|
|
65
83
|
process.exit();
|
|
66
84
|
});
|
|
67
85
|
}
|
|
86
|
+
const resolvingModules = /* @__PURE__ */ new Set();
|
|
68
87
|
// this is what every pool executes when running tests
|
|
69
88
|
async function execute(method, ctx) {
|
|
70
89
|
disposeInternalListeners();
|
|
71
|
-
const prepareStart = performance.now();
|
|
72
|
-
const inspectorCleanup = setupInspect(ctx);
|
|
90
|
+
const prepareStart = performance.now(), cleanups = [setupInspect(ctx)];
|
|
73
91
|
process.env.VITEST_WORKER_ID = String(ctx.workerId);
|
|
74
|
-
|
|
92
|
+
const poolId = process.__tinypool_state__?.workerId;
|
|
93
|
+
process.env.VITEST_POOL_ID = String(poolId);
|
|
94
|
+
let environmentLoader;
|
|
75
95
|
try {
|
|
76
96
|
// worker is a filepath or URL to a file that exposes a default export with "getRpcOptions" and "runTests" methods
|
|
77
97
|
if (ctx.worker[0] === ".") throw new Error(`Path to the test runner cannot be relative, received "${ctx.worker}"`);
|
|
78
|
-
const file = ctx.worker.startsWith("file:") ? ctx.worker : pathToFileURL(ctx.worker).toString();
|
|
79
|
-
const testRunnerModule = await import(file);
|
|
98
|
+
const file = ctx.worker.startsWith("file:") ? ctx.worker : pathToFileURL(ctx.worker).toString(), testRunnerModule = await import(file);
|
|
80
99
|
if (!testRunnerModule.default || typeof testRunnerModule.default !== "object") throw new TypeError(`Test worker object should be exposed as a default export. Received "${typeof testRunnerModule.default}"`);
|
|
81
100
|
const worker = testRunnerModule.default;
|
|
82
101
|
if (!worker.getRpcOptions || typeof worker.getRpcOptions !== "function") throw new TypeError(`Test worker should expose "getRpcOptions" method. Received "${typeof worker.getRpcOptions}".`);
|
|
83
102
|
// RPC is used to communicate between worker (be it a thread worker or child process or a custom implementation) and the main thread
|
|
84
103
|
const { rpc, onCancel } = createRuntimeRpc(worker.getRpcOptions(ctx));
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
104
|
+
// do not close the RPC channel so that we can get the error messages sent to the main thread
|
|
105
|
+
cleanups.push(async () => {
|
|
106
|
+
await Promise.all(rpc.$rejectPendingCalls(({ method, reject }) => {
|
|
107
|
+
reject(/* @__PURE__ */ new Error(`[vitest-worker]: Closing rpc while "${method}" was pending`));
|
|
108
|
+
}));
|
|
109
|
+
});
|
|
110
|
+
const beforeEnvironmentTime = performance.now(), { environment, loader } = await loadEnvironment(ctx, rpc);
|
|
111
|
+
environmentLoader = loader;
|
|
88
112
|
const state = {
|
|
89
113
|
ctx,
|
|
90
|
-
|
|
114
|
+
evaluatedModules: new EvaluatedModules(),
|
|
115
|
+
resolvingModules,
|
|
91
116
|
moduleExecutionInfo: /* @__PURE__ */ new Map(),
|
|
92
117
|
config: ctx.config,
|
|
93
118
|
onCancel,
|
|
@@ -101,14 +126,13 @@ async function execute(method, ctx) {
|
|
|
101
126
|
providedContext: ctx.providedContext,
|
|
102
127
|
onFilterStackTrace(stack) {
|
|
103
128
|
return createStackString(parseStacktrace(stack));
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
|
|
129
|
+
},
|
|
130
|
+
metaEnv: createImportMetaEnvProxy()
|
|
131
|
+
}, methodName = method === "collect" ? "collectTests" : "runTests";
|
|
107
132
|
if (!worker[methodName] || typeof worker[methodName] !== "function") throw new TypeError(`Test worker should expose "runTests" method. Received "${typeof worker.runTests}".`);
|
|
108
133
|
await worker[methodName](state);
|
|
109
134
|
} finally {
|
|
110
|
-
await rpcDone().catch(() => {});
|
|
111
|
-
inspectorCleanup();
|
|
135
|
+
await Promise.all(cleanups.map((fn) => fn())), await rpcDone().catch(() => {}), environmentLoader?.close();
|
|
112
136
|
}
|
|
113
137
|
}
|
|
114
138
|
function run(ctx) {
|
|
@@ -120,5 +144,24 @@ function collect(ctx) {
|
|
|
120
144
|
async function teardown() {
|
|
121
145
|
return cleanup();
|
|
122
146
|
}
|
|
147
|
+
function createImportMetaEnvProxy() {
|
|
148
|
+
// packages/vitest/src/node/plugins/index.ts:146
|
|
149
|
+
const booleanKeys = [
|
|
150
|
+
"DEV",
|
|
151
|
+
"PROD",
|
|
152
|
+
"SSR"
|
|
153
|
+
];
|
|
154
|
+
return new Proxy(process.env, {
|
|
155
|
+
get(_, key) {
|
|
156
|
+
return typeof key === "string" ? booleanKeys.includes(key) ? !!process.env[key] : process.env[key] : void 0;
|
|
157
|
+
},
|
|
158
|
+
set(_, key, value) {
|
|
159
|
+
if (typeof key !== "string") return true;
|
|
160
|
+
if (booleanKeys.includes(key)) process.env[key] = value ? "1" : "";
|
|
161
|
+
else process.env[key] = value;
|
|
162
|
+
return true;
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
}
|
|
123
166
|
|
|
124
167
|
export { collect, run, teardown };
|
package/dist/workers/forks.js
CHANGED
|
@@ -1,20 +1,44 @@
|
|
|
1
1
|
import v8 from 'node:v8';
|
|
2
|
-
import { r as runBaseTests } from '../chunks/base.
|
|
3
|
-
import { c as createForksRpcOptions, u as unwrapSerializableConfig } from '../chunks/utils.
|
|
4
|
-
import '
|
|
5
|
-
import '
|
|
2
|
+
import { r as runBaseTests } from '../chunks/base.Cjha6usc.js';
|
|
3
|
+
import { c as createForksRpcOptions, u as unwrapSerializableConfig } from '../chunks/utils.C2YI6McM.js';
|
|
4
|
+
import 'node:vm';
|
|
5
|
+
import '@vitest/spy';
|
|
6
|
+
import 'vite/module-runner';
|
|
7
|
+
import '../chunks/startModuleRunner.p67gbNo9.js';
|
|
6
8
|
import 'node:fs';
|
|
9
|
+
import 'node:module';
|
|
10
|
+
import '@vitest/utils';
|
|
7
11
|
import 'node:url';
|
|
8
|
-
import 'node:vm';
|
|
9
|
-
import '@vitest/utils/error';
|
|
10
12
|
import 'pathe';
|
|
11
|
-
import 'vite-node/utils';
|
|
12
13
|
import '../path.js';
|
|
13
14
|
import 'node:path';
|
|
15
|
+
import '@vitest/utils/error';
|
|
16
|
+
import '../module-evaluator.js';
|
|
14
17
|
import '@vitest/mocker';
|
|
15
|
-
import '
|
|
16
|
-
import '
|
|
17
|
-
import '
|
|
18
|
+
import '../chunks/moduleTransport.I-bgQy0S.js';
|
|
19
|
+
import 'node:perf_hooks';
|
|
20
|
+
import '@vitest/runner';
|
|
21
|
+
import '../chunks/resolveSnapshotEnvironment.Bkht6Yor.js';
|
|
22
|
+
import '@vitest/expect';
|
|
23
|
+
import '../chunks/setup-common.uiMcU3cv.js';
|
|
24
|
+
import '../chunks/coverage.D_JHT54q.js';
|
|
25
|
+
import '@vitest/snapshot';
|
|
26
|
+
import '../chunks/utils.D2R2NiOH.js';
|
|
27
|
+
import '../chunks/rpc.BKr6mtxz.js';
|
|
28
|
+
import '../chunks/index.Bgo3tNWt.js';
|
|
29
|
+
import '../chunks/test.BiqSKISg.js';
|
|
30
|
+
import '../chunks/benchmark.CJUa-Hsa.js';
|
|
31
|
+
import '@vitest/runner/utils';
|
|
32
|
+
import '../chunks/vi.ZPgvtBao.js';
|
|
33
|
+
import '../chunks/_commonjsHelpers.BFTU3MAI.js';
|
|
34
|
+
import '@vitest/utils/source-map';
|
|
35
|
+
import '../chunks/date.-jtEtIeV.js';
|
|
36
|
+
import '../chunks/inspector.CvQD-Nie.js';
|
|
37
|
+
import 'node:timers';
|
|
38
|
+
import 'node:timers/promises';
|
|
39
|
+
import 'node:util';
|
|
40
|
+
import '../chunks/index.CMfqw92x.js';
|
|
41
|
+
import 'expect-type';
|
|
18
42
|
|
|
19
43
|
class ForksBaseWorker {
|
|
20
44
|
getRpcOptions() {
|
|
@@ -4,81 +4,61 @@ import timers from 'node:timers';
|
|
|
4
4
|
import timersPromises from 'node:timers/promises';
|
|
5
5
|
import util from 'node:util';
|
|
6
6
|
import { startTests, collectTests } from '@vitest/runner';
|
|
7
|
-
import { KNOWN_ASSET_TYPES } from '
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { g as
|
|
14
|
-
import 'chai';
|
|
15
|
-
import 'node:path';
|
|
16
|
-
import '../path.js';
|
|
17
|
-
import 'node:url';
|
|
18
|
-
import '../chunks/rpc.CsFtxqeq.js';
|
|
19
|
-
import '@vitest/utils';
|
|
20
|
-
import '../chunks/index.B521nVV-.js';
|
|
21
|
-
import '../chunks/coverage.DVF1vEu8.js';
|
|
22
|
-
import '@vitest/snapshot';
|
|
23
|
-
import '../chunks/vi.bdSIJ99Y.js';
|
|
7
|
+
import { KNOWN_ASSET_TYPES } from '@vitest/utils';
|
|
8
|
+
import { s as setupChaiConfig, r as resolveTestRunner, a as resolveSnapshotEnvironment } from '../chunks/resolveSnapshotEnvironment.Bkht6Yor.js';
|
|
9
|
+
import { c as setupCommonEnv, s as startCoverageInsideWorker, a as stopCoverageInsideWorker } from '../chunks/setup-common.uiMcU3cv.js';
|
|
10
|
+
import { i as index } from '../chunks/index.CMfqw92x.js';
|
|
11
|
+
import { c as closeInspector } from '../chunks/inspector.CvQD-Nie.js';
|
|
12
|
+
import { g as getWorkerState } from '../chunks/utils.D2R2NiOH.js';
|
|
13
|
+
import { g as globalExpect } from '../chunks/vi.ZPgvtBao.js';
|
|
24
14
|
import '@vitest/expect';
|
|
15
|
+
import '../chunks/rpc.BKr6mtxz.js';
|
|
16
|
+
import '../chunks/index.Bgo3tNWt.js';
|
|
17
|
+
import '../chunks/test.BiqSKISg.js';
|
|
18
|
+
import '../chunks/benchmark.CJUa-Hsa.js';
|
|
25
19
|
import '@vitest/runner/utils';
|
|
26
|
-
import '../chunks/_commonjsHelpers.BFTU3MAI.js';
|
|
27
20
|
import '@vitest/utils/error';
|
|
21
|
+
import 'pathe';
|
|
22
|
+
import '../chunks/coverage.D_JHT54q.js';
|
|
23
|
+
import '@vitest/snapshot';
|
|
24
|
+
import 'expect-type';
|
|
25
|
+
import 'vite/module-runner';
|
|
26
|
+
import 'node:url';
|
|
27
|
+
import '../chunks/_commonjsHelpers.BFTU3MAI.js';
|
|
28
28
|
import '@vitest/spy';
|
|
29
29
|
import '@vitest/utils/source-map';
|
|
30
|
-
import '../chunks/date.
|
|
31
|
-
import '../chunks/benchmark.CYdenmiT.js';
|
|
32
|
-
import 'expect-type';
|
|
30
|
+
import '../chunks/date.-jtEtIeV.js';
|
|
33
31
|
|
|
34
|
-
async function run(method, files, config,
|
|
32
|
+
async function run(method, files, config, moduleRunner) {
|
|
35
33
|
const workerState = getWorkerState();
|
|
36
|
-
await setupCommonEnv(config)
|
|
37
|
-
|
|
38
|
-
value: VitestIndex,
|
|
34
|
+
await setupCommonEnv(config), Object.defineProperty(globalThis, "__vitest_index__", {
|
|
35
|
+
value: index,
|
|
39
36
|
enumerable: false
|
|
40
37
|
});
|
|
41
|
-
|
|
38
|
+
const viteEnvironment = workerState.environment.viteEnvironment || workerState.environment.name;
|
|
39
|
+
if (globalExpect.setState({ environment: workerState.environment.name }), viteEnvironment === "client") {
|
|
42
40
|
const _require = createRequire(import.meta.url);
|
|
43
|
-
|
|
44
|
-
_require.extensions[".css"] = resolveCss;
|
|
45
|
-
_require.extensions[".scss"] = resolveCss;
|
|
46
|
-
_require.extensions[".sass"] = resolveCss;
|
|
47
|
-
_require.extensions[".less"] = resolveCss;
|
|
48
|
-
// since we are using Vite, we can assume how these will be resolved
|
|
49
|
-
KNOWN_ASSET_TYPES.forEach((type) => {
|
|
41
|
+
_require.extensions[".css"] = resolveCss, _require.extensions[".scss"] = resolveCss, _require.extensions[".sass"] = resolveCss, _require.extensions[".less"] = resolveCss, KNOWN_ASSET_TYPES.forEach((type) => {
|
|
50
42
|
_require.extensions[`.${type}`] = resolveAsset;
|
|
51
|
-
});
|
|
52
|
-
process.env.SSR = "";
|
|
43
|
+
}), process.env.SSR = "";
|
|
53
44
|
} else process.env.SSR = "1";
|
|
54
|
-
|
|
55
|
-
globalThis.__vitest_required__ = {
|
|
45
|
+
if (globalThis.__vitest_required__ = {
|
|
56
46
|
util,
|
|
57
47
|
timers,
|
|
58
48
|
timersPromises
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
runner.getWorkerContext = void 0;
|
|
66
|
-
workerState.onCancel.then((reason) => {
|
|
67
|
-
closeInspector(config);
|
|
68
|
-
runner.cancel?.(reason);
|
|
69
|
-
});
|
|
70
|
-
workerState.durations.prepare = performance.now() - workerState.durations.prepare;
|
|
71
|
-
const { vi } = VitestIndex;
|
|
49
|
+
}, await startCoverageInsideWorker(config.coverage, moduleRunner, { isolate: false }), config.chaiConfig) setupChaiConfig(config.chaiConfig);
|
|
50
|
+
const [runner, snapshotEnvironment] = await Promise.all([resolveTestRunner(config, moduleRunner), resolveSnapshotEnvironment(config, moduleRunner)]);
|
|
51
|
+
config.snapshotOptions.snapshotEnvironment = snapshotEnvironment, runner.getWorkerContext = void 0, workerState.onCancel.then((reason) => {
|
|
52
|
+
closeInspector(config), runner.cancel?.(reason);
|
|
53
|
+
}), workerState.durations.prepare = performance.now() - workerState.durations.prepare;
|
|
54
|
+
const { vi } = index;
|
|
72
55
|
for (const file of files) {
|
|
73
|
-
workerState.filepath = file.filepath;
|
|
74
|
-
if (method === "run") await startTests([file], runner);
|
|
56
|
+
if (workerState.filepath = file.filepath, method === "run") await startTests([file], runner);
|
|
75
57
|
else await collectTests([file], runner);
|
|
76
|
-
// reset after tests, because user might call `vi.setConfig` in setupFile
|
|
77
|
-
vi.resetConfig();
|
|
78
58
|
// mocks should not affect different files
|
|
79
|
-
vi.restoreAllMocks();
|
|
59
|
+
vi.resetConfig(), vi.restoreAllMocks();
|
|
80
60
|
}
|
|
81
|
-
await stopCoverageInsideWorker(config.coverage,
|
|
61
|
+
await stopCoverageInsideWorker(config.coverage, moduleRunner, { isolate: false });
|
|
82
62
|
}
|
|
83
63
|
function resolveCss(mod) {
|
|
84
64
|
mod.exports = "";
|
package/dist/workers/threads.js
CHANGED
|
@@ -1,19 +1,43 @@
|
|
|
1
|
-
import { r as runBaseTests } from '../chunks/base.
|
|
2
|
-
import { a as createThreadsRpcOptions } from '../chunks/utils.
|
|
3
|
-
import '
|
|
4
|
-
import '
|
|
1
|
+
import { r as runBaseTests } from '../chunks/base.Cjha6usc.js';
|
|
2
|
+
import { a as createThreadsRpcOptions } from '../chunks/utils.C2YI6McM.js';
|
|
3
|
+
import 'node:vm';
|
|
4
|
+
import '@vitest/spy';
|
|
5
|
+
import 'vite/module-runner';
|
|
6
|
+
import '../chunks/startModuleRunner.p67gbNo9.js';
|
|
5
7
|
import 'node:fs';
|
|
8
|
+
import 'node:module';
|
|
9
|
+
import '@vitest/utils';
|
|
6
10
|
import 'node:url';
|
|
7
|
-
import 'node:vm';
|
|
8
|
-
import '@vitest/utils/error';
|
|
9
11
|
import 'pathe';
|
|
10
|
-
import 'vite-node/utils';
|
|
11
12
|
import '../path.js';
|
|
12
13
|
import 'node:path';
|
|
14
|
+
import '@vitest/utils/error';
|
|
15
|
+
import '../module-evaluator.js';
|
|
13
16
|
import '@vitest/mocker';
|
|
14
|
-
import '
|
|
15
|
-
import '
|
|
16
|
-
import '
|
|
17
|
+
import '../chunks/moduleTransport.I-bgQy0S.js';
|
|
18
|
+
import 'node:perf_hooks';
|
|
19
|
+
import '@vitest/runner';
|
|
20
|
+
import '../chunks/resolveSnapshotEnvironment.Bkht6Yor.js';
|
|
21
|
+
import '@vitest/expect';
|
|
22
|
+
import '../chunks/setup-common.uiMcU3cv.js';
|
|
23
|
+
import '../chunks/coverage.D_JHT54q.js';
|
|
24
|
+
import '@vitest/snapshot';
|
|
25
|
+
import '../chunks/utils.D2R2NiOH.js';
|
|
26
|
+
import '../chunks/rpc.BKr6mtxz.js';
|
|
27
|
+
import '../chunks/index.Bgo3tNWt.js';
|
|
28
|
+
import '../chunks/test.BiqSKISg.js';
|
|
29
|
+
import '../chunks/benchmark.CJUa-Hsa.js';
|
|
30
|
+
import '@vitest/runner/utils';
|
|
31
|
+
import '../chunks/vi.ZPgvtBao.js';
|
|
32
|
+
import '../chunks/_commonjsHelpers.BFTU3MAI.js';
|
|
33
|
+
import '@vitest/utils/source-map';
|
|
34
|
+
import '../chunks/date.-jtEtIeV.js';
|
|
35
|
+
import '../chunks/inspector.CvQD-Nie.js';
|
|
36
|
+
import 'node:timers';
|
|
37
|
+
import 'node:timers/promises';
|
|
38
|
+
import 'node:util';
|
|
39
|
+
import '../chunks/index.CMfqw92x.js';
|
|
40
|
+
import 'expect-type';
|
|
17
41
|
|
|
18
42
|
class ThreadsBaseWorker {
|
|
19
43
|
getRpcOptions(ctx) {
|
package/dist/workers/vmForks.js
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
import v8 from 'node:v8';
|
|
2
|
-
import { c as createForksRpcOptions, u as unwrapSerializableConfig } from '../chunks/utils.
|
|
3
|
-
import { r as runVmTests } from '../chunks/vm.
|
|
2
|
+
import { c as createForksRpcOptions, u as unwrapSerializableConfig } from '../chunks/utils.C2YI6McM.js';
|
|
3
|
+
import { r as runVmTests } from '../chunks/vm.Ca0Y0W5f.js';
|
|
4
4
|
import '@vitest/utils';
|
|
5
5
|
import 'node:url';
|
|
6
6
|
import 'node:vm';
|
|
7
7
|
import 'pathe';
|
|
8
8
|
import '../path.js';
|
|
9
9
|
import 'node:path';
|
|
10
|
-
import '../chunks/console.
|
|
10
|
+
import '../chunks/console.7h5kHUIf.js';
|
|
11
11
|
import 'node:console';
|
|
12
12
|
import 'node:stream';
|
|
13
13
|
import 'tinyrainbow';
|
|
14
|
-
import '../chunks/date.
|
|
15
|
-
import '../chunks/utils.
|
|
16
|
-
import '../chunks/execute.B7h3T_Hc.js';
|
|
14
|
+
import '../chunks/date.-jtEtIeV.js';
|
|
15
|
+
import '../chunks/utils.D2R2NiOH.js';
|
|
17
16
|
import 'node:fs';
|
|
17
|
+
import 'node:module';
|
|
18
|
+
import '../chunks/resolver.Bx6lE0iq.js';
|
|
19
|
+
import '../module-evaluator.js';
|
|
20
|
+
import 'vite/module-runner';
|
|
21
|
+
import '../chunks/startModuleRunner.p67gbNo9.js';
|
|
18
22
|
import '@vitest/utils/error';
|
|
19
|
-
import 'vite-node/client';
|
|
20
|
-
import 'vite-node/utils';
|
|
21
23
|
import '@vitest/mocker';
|
|
22
|
-
import '
|
|
23
|
-
import 'vite-node/constants';
|
|
24
|
+
import '../chunks/moduleTransport.I-bgQy0S.js';
|
|
24
25
|
|
|
25
26
|
class ForksVmWorker {
|
|
26
27
|
getRpcOptions() {
|
|
@@ -1,25 +1,26 @@
|
|
|
1
|
-
import { a as createThreadsRpcOptions } from '../chunks/utils.
|
|
2
|
-
import { r as runVmTests } from '../chunks/vm.
|
|
1
|
+
import { a as createThreadsRpcOptions } from '../chunks/utils.C2YI6McM.js';
|
|
2
|
+
import { r as runVmTests } from '../chunks/vm.Ca0Y0W5f.js';
|
|
3
3
|
import '@vitest/utils';
|
|
4
4
|
import 'node:url';
|
|
5
5
|
import 'node:vm';
|
|
6
6
|
import 'pathe';
|
|
7
7
|
import '../path.js';
|
|
8
8
|
import 'node:path';
|
|
9
|
-
import '../chunks/console.
|
|
9
|
+
import '../chunks/console.7h5kHUIf.js';
|
|
10
10
|
import 'node:console';
|
|
11
11
|
import 'node:stream';
|
|
12
12
|
import 'tinyrainbow';
|
|
13
|
-
import '../chunks/date.
|
|
14
|
-
import '../chunks/utils.
|
|
15
|
-
import '../chunks/execute.B7h3T_Hc.js';
|
|
13
|
+
import '../chunks/date.-jtEtIeV.js';
|
|
14
|
+
import '../chunks/utils.D2R2NiOH.js';
|
|
16
15
|
import 'node:fs';
|
|
16
|
+
import 'node:module';
|
|
17
|
+
import '../chunks/resolver.Bx6lE0iq.js';
|
|
18
|
+
import '../module-evaluator.js';
|
|
19
|
+
import 'vite/module-runner';
|
|
20
|
+
import '../chunks/startModuleRunner.p67gbNo9.js';
|
|
17
21
|
import '@vitest/utils/error';
|
|
18
|
-
import 'vite-node/client';
|
|
19
|
-
import 'vite-node/utils';
|
|
20
22
|
import '@vitest/mocker';
|
|
21
|
-
import '
|
|
22
|
-
import 'vite-node/constants';
|
|
23
|
+
import '../chunks/moduleTransport.I-bgQy0S.js';
|
|
23
24
|
|
|
24
25
|
class ThreadsVmWorker {
|
|
25
26
|
getRpcOptions(ctx) {
|
package/dist/workers.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { W as WorkerGlobalState, C as ContextRPC, B as BirpcOptions, R as RuntimeRPC } from './chunks/worker.d.
|
|
1
|
+
import { W as WorkerGlobalState, C as ContextRPC, B as BirpcOptions, R as RuntimeRPC } from './chunks/worker.d.BDsXGkwh.js';
|
|
2
2
|
import { Awaitable } from '@vitest/utils';
|
|
3
3
|
import * as v8 from 'v8';
|
|
4
|
-
import { a as SerializedConfig } from './chunks/config.d.
|
|
5
|
-
import { W as WorkerContext } from './chunks/worker.d.
|
|
4
|
+
import { a as SerializedConfig } from './chunks/config.d.B_LthbQq.js';
|
|
5
|
+
import { W as WorkerContext } from './chunks/worker.d.BNcX_2mH.js';
|
|
6
6
|
import '@vitest/runner';
|
|
7
|
-
import '
|
|
7
|
+
import 'vite/module-runner';
|
|
8
|
+
import './chunks/environment.d.BsToaxti.js';
|
|
8
9
|
import '@vitest/snapshot';
|
|
9
10
|
import '@vitest/pretty-format';
|
|
10
11
|
import '@vitest/utils/diff';
|
package/dist/workers.js
CHANGED
|
@@ -1,30 +1,48 @@
|
|
|
1
|
-
export { p as provideWorkerState } from './chunks/utils.
|
|
1
|
+
export { p as provideWorkerState } from './chunks/utils.D2R2NiOH.js';
|
|
2
2
|
export { collect as collectVitestWorkerTests, run as runVitestWorker } from './worker.js';
|
|
3
|
-
export { r as runBaseTests } from './chunks/base.
|
|
4
|
-
export { c as createForksRpcOptions, a as createThreadsRpcOptions, u as unwrapSerializableConfig } from './chunks/utils.
|
|
5
|
-
export { r as runVmTests } from './chunks/vm.
|
|
3
|
+
export { r as runBaseTests } from './chunks/base.Cjha6usc.js';
|
|
4
|
+
export { c as createForksRpcOptions, a as createThreadsRpcOptions, u as unwrapSerializableConfig } from './chunks/utils.C2YI6McM.js';
|
|
5
|
+
export { r as runVmTests } from './chunks/vm.Ca0Y0W5f.js';
|
|
6
6
|
import '@vitest/utils';
|
|
7
7
|
import 'node:url';
|
|
8
8
|
import '@vitest/utils/source-map';
|
|
9
|
-
import '
|
|
10
|
-
import 'vite-node/client';
|
|
9
|
+
import 'vite/module-runner';
|
|
11
10
|
import 'node:fs';
|
|
11
|
+
import 'node:module';
|
|
12
12
|
import 'pathe';
|
|
13
|
-
import './chunks/
|
|
13
|
+
import './chunks/moduleTransport.I-bgQy0S.js';
|
|
14
|
+
import './chunks/index.DIWhzsUh.js';
|
|
14
15
|
import 'node:console';
|
|
15
|
-
import './chunks/inspector.
|
|
16
|
-
import '
|
|
17
|
-
import './chunks/
|
|
18
|
-
import './chunks/index.B521nVV-.js';
|
|
19
|
-
import './chunks/execute.B7h3T_Hc.js';
|
|
16
|
+
import './chunks/inspector.CvQD-Nie.js';
|
|
17
|
+
import './chunks/rpc.BKr6mtxz.js';
|
|
18
|
+
import './chunks/index.Bgo3tNWt.js';
|
|
20
19
|
import 'node:vm';
|
|
21
|
-
import '@vitest/
|
|
22
|
-
import '
|
|
20
|
+
import '@vitest/spy';
|
|
21
|
+
import './chunks/startModuleRunner.p67gbNo9.js';
|
|
23
22
|
import './path.js';
|
|
24
23
|
import 'node:path';
|
|
24
|
+
import '@vitest/utils/error';
|
|
25
|
+
import './module-evaluator.js';
|
|
25
26
|
import '@vitest/mocker';
|
|
26
|
-
import '
|
|
27
|
+
import 'node:perf_hooks';
|
|
28
|
+
import '@vitest/runner';
|
|
29
|
+
import './chunks/resolveSnapshotEnvironment.Bkht6Yor.js';
|
|
30
|
+
import '@vitest/expect';
|
|
31
|
+
import './chunks/setup-common.uiMcU3cv.js';
|
|
32
|
+
import './chunks/coverage.D_JHT54q.js';
|
|
33
|
+
import '@vitest/snapshot';
|
|
34
|
+
import './chunks/test.BiqSKISg.js';
|
|
35
|
+
import './chunks/benchmark.CJUa-Hsa.js';
|
|
36
|
+
import '@vitest/runner/utils';
|
|
37
|
+
import './chunks/vi.ZPgvtBao.js';
|
|
38
|
+
import './chunks/_commonjsHelpers.BFTU3MAI.js';
|
|
39
|
+
import './chunks/date.-jtEtIeV.js';
|
|
40
|
+
import 'node:timers';
|
|
41
|
+
import 'node:timers/promises';
|
|
42
|
+
import 'node:util';
|
|
43
|
+
import './chunks/index.CMfqw92x.js';
|
|
44
|
+
import 'expect-type';
|
|
45
|
+
import './chunks/console.7h5kHUIf.js';
|
|
27
46
|
import 'node:stream';
|
|
28
47
|
import 'tinyrainbow';
|
|
29
|
-
import './chunks/
|
|
30
|
-
import 'vite-node/constants';
|
|
48
|
+
import './chunks/resolver.Bx6lE0iq.js';
|
package/globals.d.ts
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
declare global {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
2
|
+
let suite: typeof import('vitest')['suite']
|
|
3
|
+
let test: typeof import('vitest')['test']
|
|
4
|
+
let chai: typeof import("vitest")["chai"]
|
|
5
|
+
let describe: typeof import('vitest')['describe']
|
|
6
|
+
let it: typeof import('vitest')['it']
|
|
7
|
+
let expectTypeOf: typeof import('vitest')['expectTypeOf']
|
|
8
|
+
let assertType: typeof import('vitest')['assertType']
|
|
9
|
+
let expect: typeof import('vitest')['expect']
|
|
10
|
+
let assert: typeof import('vitest')['assert']
|
|
11
|
+
let vitest: typeof import('vitest')['vitest']
|
|
12
|
+
let vi: typeof import('vitest')['vitest']
|
|
13
|
+
let beforeAll: typeof import('vitest')['beforeAll']
|
|
14
|
+
let afterAll: typeof import('vitest')['afterAll']
|
|
15
|
+
let beforeEach: typeof import('vitest')['beforeEach']
|
|
16
|
+
let afterEach: typeof import('vitest')['afterEach']
|
|
17
|
+
let onTestFailed: typeof import('vitest')['onTestFailed']
|
|
18
|
+
let onTestFinished: typeof import('vitest')['onTestFinished']
|
|
19
19
|
}
|
|
20
20
|
export {}
|