vitest 4.0.0-beta.8 → 4.0.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 (85) hide show
  1. package/LICENSE.md +86 -102
  2. package/browser/context.d.ts +7 -0
  3. package/browser/context.js +20 -0
  4. package/dist/browser.d.ts +26 -9
  5. package/dist/browser.js +17 -7
  6. package/dist/chunks/base.CtHM3ryk.js +128 -0
  7. package/dist/chunks/{benchmark.UW6Ezvxy.js → benchmark.DHKMYAts.js} +2 -2
  8. package/dist/chunks/{browser.d.DOMmqJQx.d.ts → browser.d.B9iJzZyn.d.ts} +3 -3
  9. package/dist/chunks/{cac.By1HvRIk.js → cac.B99MQg-w.js} +47 -91
  10. package/dist/chunks/{cli-api.C-JHgQgp.js → cli-api.PwHwIMss.js} +1544 -310
  11. package/dist/chunks/{config.d._GBBbReY.d.ts → config.d.u2CUDWwS.d.ts} +6 -19
  12. package/dist/chunks/{console.B0quX7yH.js → console.CTJL2nuH.js} +4 -6
  13. package/dist/chunks/{coverage.DarITf6U.js → coverage.FU3w4IrQ.js} +128 -1142
  14. package/dist/chunks/{creator.KEg6n5IC.js → creator.DucAaYBz.js} +10 -37
  15. package/dist/chunks/{defaults.CXFFjsi8.js → defaults.BOqNVLsY.js} +0 -1
  16. package/dist/chunks/environment.d.CrsxCzP1.d.ts +29 -0
  17. package/dist/chunks/evaluatedModules.Dg1zASAC.js +17 -0
  18. package/dist/chunks/{global.d.K6uBQHzY.d.ts → global.d.BgJSTpgQ.d.ts} +2 -17
  19. package/dist/chunks/{globals.lgsmH00r.js → globals.BGT_RUsD.js} +12 -9
  20. package/dist/chunks/{index.BuwjkI-q.js → index.BdSLhLDZ.js} +3 -3
  21. package/dist/chunks/{index.DfviD7lX.js → index.CbWINfS7.js} +49 -21
  22. package/dist/chunks/{index.AzwzFtyi.js → index.CcRZ6fUh.js} +1493 -114
  23. package/dist/chunks/{index.X0nbfr6-.js → index.Dc3xnDvT.js} +48 -289
  24. package/dist/chunks/{index.AR8aAkCC.js → index.RwjEGCQ0.js} +7 -8
  25. package/dist/chunks/init-forks.DSafeltJ.js +54 -0
  26. package/dist/chunks/init-threads.SUtZ-067.js +17 -0
  27. package/dist/chunks/init.B2EESLQM.js +213 -0
  28. package/dist/chunks/{inspector.CvQD-Nie.js → inspector.DLZxSeU3.js} +2 -6
  29. package/dist/chunks/{moduleRunner.d.CX4DuqOx.d.ts → moduleRunner.d.YtNsMIoJ.d.ts} +12 -14
  30. package/dist/chunks/{node.BOqcT2jW.js → node.BwAWWjHZ.js} +3 -4
  31. package/dist/chunks/{plugin.d.CHe6slQs.d.ts → plugin.d.DQU1R5px.d.ts} +1 -1
  32. package/dist/chunks/{reporters.d.37tJQ2uV.d.ts → reporters.d.BMKt7f6I.d.ts} +1066 -1030
  33. package/dist/chunks/{index.CsFXYRkW.js → resolveSnapshotEnvironment.DJJKMKxb.js} +18 -24
  34. package/dist/chunks/{rpc.RpPylpp0.js → rpc.cD77ENhU.js} +13 -14
  35. package/dist/chunks/{setup-common.hLGRxhC8.js → setup-common.DR1sucx6.js} +8 -8
  36. package/dist/chunks/{startModuleRunner.C8TW8zTN.js → startModuleRunner.C2tTvmF9.js} +131 -110
  37. package/dist/chunks/test.C3RPt8JR.js +214 -0
  38. package/dist/chunks/{utils.C7__0Iv5.js → utils.CG9h5ccR.js} +3 -15
  39. package/dist/chunks/{vi.BfdOiD4j.js → vi.BZvkKVkM.js} +73 -176
  40. package/dist/chunks/{vm.BHBje7cC.js → vm.DBeOXrP9.js} +29 -33
  41. package/dist/chunks/{worker.d.DYlqbejz.d.ts → worker.d.BFk-vvBU.d.ts} +42 -6
  42. package/dist/cli.js +12 -11
  43. package/dist/config.cjs +0 -1
  44. package/dist/config.d.ts +12 -14
  45. package/dist/config.js +1 -1
  46. package/dist/coverage.d.ts +8 -7
  47. package/dist/coverage.js +3 -14
  48. package/dist/environments.d.ts +3 -6
  49. package/dist/environments.js +1 -1
  50. package/dist/index.d.ts +24 -30
  51. package/dist/index.js +12 -11
  52. package/dist/module-evaluator.d.ts +6 -4
  53. package/dist/module-evaluator.js +14 -16
  54. package/dist/module-runner.js +5 -5
  55. package/dist/node.d.ts +83 -27
  56. package/dist/node.js +23 -20
  57. package/dist/reporters.d.ts +11 -10
  58. package/dist/reporters.js +12 -11
  59. package/dist/runners.d.ts +1 -1
  60. package/dist/runners.js +14 -216
  61. package/dist/snapshot.js +3 -3
  62. package/dist/suite.js +4 -3
  63. package/dist/worker.d.ts +26 -0
  64. package/dist/worker.js +45 -166
  65. package/dist/workers/forks.js +41 -35
  66. package/dist/workers/runVmTests.js +25 -22
  67. package/dist/workers/threads.js +41 -23
  68. package/dist/workers/vmForks.js +26 -39
  69. package/dist/workers/vmThreads.js +26 -29
  70. package/package.json +48 -35
  71. package/worker.d.ts +1 -0
  72. package/browser.d.ts +0 -1
  73. package/dist/chunks/base.BXI97p6t.js +0 -39
  74. package/dist/chunks/environment.d.2fYMoz3o.d.ts +0 -66
  75. package/dist/chunks/moduleTransport.I-bgQy0S.js +0 -19
  76. package/dist/chunks/resolver.Bx6lE0iq.js +0 -119
  77. package/dist/chunks/runBaseTests.D6sfuWBM.js +0 -99
  78. package/dist/chunks/typechecker.DSo_maXz.js +0 -762
  79. package/dist/chunks/utils.C2YI6McM.js +0 -52
  80. package/dist/chunks/worker.d.BKu8cnnX.d.ts +0 -8
  81. package/dist/workers.d.ts +0 -38
  82. package/dist/workers.js +0 -31
  83. package/execute.d.ts +0 -1
  84. package/utils.d.ts +0 -1
  85. package/workers.d.ts +0 -1
@@ -78,6 +78,8 @@ interface SerializedConfig {
78
78
  disableConsoleIntercept: boolean | undefined;
79
79
  runner: string | undefined;
80
80
  isolate: boolean;
81
+ fileParallelism: boolean;
82
+ maxWorkers: number;
81
83
  mode: "test" | "benchmark";
82
84
  bail: number | undefined;
83
85
  environmentOptions?: Record<string, any>;
@@ -93,7 +95,6 @@ interface SerializedConfig {
93
95
  restoreMocks: boolean;
94
96
  unstubGlobals: boolean;
95
97
  unstubEnvs: boolean;
96
- // TODO: make optional
97
98
  fakeTimers: FakeTimerInstallOpts;
98
99
  maxConcurrency: number;
99
100
  defines: Record<string, any>;
@@ -112,22 +113,6 @@ interface SerializedConfig {
112
113
  hooks: SequenceHooks;
113
114
  setupFiles: SequenceSetupFiles;
114
115
  };
115
- poolOptions: {
116
- forks: {
117
- singleFork: boolean;
118
- isolate: boolean;
119
- };
120
- threads: {
121
- singleThread: boolean;
122
- isolate: boolean;
123
- };
124
- vmThreads: {
125
- singleThread: boolean;
126
- };
127
- vmForks: {
128
- singleFork: boolean;
129
- };
130
- };
131
116
  deps: {
132
117
  web: {
133
118
  transformAssets?: boolean;
@@ -184,9 +169,9 @@ interface SerializedConfig {
184
169
  };
185
170
  screenshotFailures: boolean;
186
171
  providerOptions: {
187
- // for playwright
188
172
  actionTimeout?: number;
189
173
  };
174
+ trace: BrowserTraceViewMode;
190
175
  trackUnhandledErrors: boolean;
191
176
  };
192
177
  standalone: boolean;
@@ -195,6 +180,7 @@ interface SerializedConfig {
195
180
  benchmark: {
196
181
  includeSamples: boolean;
197
182
  } | undefined;
183
+ serializedDefines: string;
198
184
  }
199
185
  interface SerializedCoverageConfig {
200
186
  provider: "istanbul" | "v8" | "custom" | undefined;
@@ -211,5 +197,6 @@ type RuntimeConfig = Pick<SerializedConfig, "allowOnly" | "testTimeout" | "hookT
211
197
  };
212
198
  };
213
199
  type RuntimeOptions = Partial<RuntimeConfig>;
200
+ type BrowserTraceViewMode = "on" | "off" | "on-first-retry" | "on-all-retries" | "retain-on-failure";
214
201
 
215
- export type { FakeTimerInstallOpts as F, RuntimeOptions as R, SerializedCoverageConfig as S, SerializedConfig as a, RuntimeConfig as b };
202
+ export type { BrowserTraceViewMode as B, FakeTimerInstallOpts as F, RuntimeOptions as R, SerializedConfig as S, SerializedCoverageConfig as a, RuntimeConfig as b };
@@ -1,10 +1,10 @@
1
1
  import { Console } from 'node:console';
2
2
  import { relative } from 'node:path';
3
3
  import { Writable } from 'node:stream';
4
- import { getSafeTimers } from '@vitest/utils';
4
+ import { getSafeTimers } from '@vitest/utils/timers';
5
5
  import c from 'tinyrainbow';
6
6
  import { R as RealDate } from './date.-jtEtIeV.js';
7
- import { g as getWorkerState } from './utils.C7__0Iv5.js';
7
+ import { g as getWorkerState } from './utils.CG9h5ccR.js';
8
8
 
9
9
  const UNKNOWN_TEST_ID = "__vitest__unknown_test__";
10
10
  function getTaskIdByStack(root) {
@@ -78,7 +78,7 @@ function createCustomConsole(defaultState) {
78
78
  if (state().config.printConsoleTrace) {
79
79
  const limit = Error.stackTraceLimit;
80
80
  Error.stackTraceLimit = limit + 6;
81
- const stack = (/* @__PURE__ */ new Error("STACK_TRACE")).stack, trace = stack?.split("\n").slice(7).join("\n");
81
+ const trace = (/* @__PURE__ */ new Error("STACK_TRACE")).stack?.split("\n").slice(7).join("\n");
82
82
  Error.stackTraceLimit = limit, buffer.push([data, trace]);
83
83
  } else buffer.push([data, void 0]);
84
84
  schedule(id), callback();
@@ -96,9 +96,7 @@ function createCustomConsole(defaultState) {
96
96
  const limit = Error.stackTraceLimit;
97
97
  Error.stackTraceLimit = limit + 6;
98
98
  const stack = (/* @__PURE__ */ new Error("STACK_TRACE")).stack?.split("\n");
99
- Error.stackTraceLimit = limit;
100
- const isTrace = stack?.some((line) => line.includes("at Console.trace"));
101
- if (isTrace) buffer.push([data, void 0]);
99
+ if (Error.stackTraceLimit = limit, stack?.some((line) => line.includes("at Console.trace"))) buffer.push([data, void 0]);
102
100
  else {
103
101
  const trace = stack?.slice(7).join("\n");
104
102
  Error.stackTraceLimit = limit, buffer.push([data, trace]);