vitest 1.1.3 → 1.2.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 (62) hide show
  1. package/dist/browser.d.ts +1 -1
  2. package/dist/browser.js +5 -31
  3. package/dist/chunks/{api-setup.mFKdEKxa.js → api-setup.MAoRkVWJ.js} +60 -6
  4. package/dist/chunks/{integrations-globals.tnKXwyh5.js → integrations-globals.VbxbZ7hn.js} +9 -8
  5. package/dist/{entry.js → chunks/runtime-runBaseTests.LWFmrzDk.js} +20 -18
  6. package/dist/cli-wrapper.js +1 -1
  7. package/dist/cli.js +14 -14
  8. package/dist/config.cjs +12 -1
  9. package/dist/config.d.ts +5 -2
  10. package/dist/config.js +12 -2
  11. package/dist/coverage.d.ts +1 -1
  12. package/dist/environments.d.ts +1 -1
  13. package/dist/environments.js +1 -1
  14. package/dist/execute.d.ts +8 -6
  15. package/dist/execute.js +4 -7
  16. package/dist/index.d.ts +4 -3
  17. package/dist/index.js +8 -7
  18. package/dist/node.d.ts +3 -3
  19. package/dist/node.js +12 -12
  20. package/dist/{reporters-qc5Smpt5.d.ts → reporters-trlZlObr.d.ts} +111 -27
  21. package/dist/reporters.d.ts +1 -1
  22. package/dist/reporters.js +4 -4
  23. package/dist/runners.d.ts +1 -1
  24. package/dist/runners.js +7 -5
  25. package/dist/{suite-WwpgKT7k.d.ts → suite-6Pt_ep5V.d.ts} +1 -1
  26. package/dist/suite.d.ts +2 -2
  27. package/dist/suite.js +3 -3
  28. package/dist/vendor/base.8wUUWReP.js +38 -0
  29. package/dist/vendor/{base._79unx2z.js → base.dzu0Y6Hj.js} +10 -1
  30. package/dist/vendor/{benchmark.WVm6DARl.js → benchmark.IlKmJkUU.js} +1 -1
  31. package/dist/vendor/{constants.WSvnD_fn.js → constants.i1PoEnhr.js} +9 -1
  32. package/dist/vendor/{coverage.v6aD8iAh.js → coverage.E7sG1b3r.js} +1 -1
  33. package/dist/vendor/{environments.QJtma9XQ.js → environments.sU0TD7wX.js} +19 -7
  34. package/dist/vendor/execute.3_hyGknJ.js +589 -0
  35. package/dist/vendor/{global.L7JRz1qU.js → global.CkGT_TMy.js} +10 -1
  36. package/dist/vendor/{index.IhksUGLR.js → index.3iX2R_Z5.js} +6 -6
  37. package/dist/vendor/{index.h0j9y5vy.js → index.D-jOsMas.js} +5 -5
  38. package/dist/vendor/{index.XU72Rmy8.js → index.rJjbcrrp.js} +1 -1
  39. package/dist/vendor/{node.wTZytysZ.js → node.xyYo9ZvH.js} +650 -274
  40. package/dist/vendor/{reporters.7Y4WN6gc.js → reporters.2PaQ2peU.js} +7 -4
  41. package/dist/vendor/{rpc.Bl-ysZIr.js → rpc.w4v8oCkK.js} +23 -2
  42. package/dist/vendor/{run-once.X3E7xx3F.js → run-once.Olz_Zkd8.js} +2 -2
  43. package/dist/vendor/setup-common.j9IXYrbN.js +29 -0
  44. package/dist/vendor/utils.GbToHGHI.js +41 -0
  45. package/dist/vendor/{vi.DTC--YO5.js → vi.smj1Ggd4.js} +9 -5
  46. package/dist/vendor/vm.vFKXXdo0.js +696 -0
  47. package/dist/worker.js +109 -82
  48. package/dist/workers/forks.js +33 -0
  49. package/dist/{entry-vm.js → workers/runVmTests.js} +20 -16
  50. package/dist/workers/threads.js +26 -0
  51. package/dist/workers/vmForks.js +43 -0
  52. package/dist/workers/vmThreads.js +36 -0
  53. package/dist/workers.d.ts +36 -0
  54. package/dist/workers.js +30 -0
  55. package/package.json +11 -7
  56. package/workers.d.ts +1 -0
  57. package/dist/child.js +0 -125
  58. package/dist/vendor/execute.cedv4NLQ.js +0 -1235
  59. package/dist/vendor/inspector.lFAeuaAt.js +0 -26
  60. package/dist/vendor/loader.L9CYwKn1.js +0 -39
  61. package/dist/vm.js +0 -126
  62. /package/dist/{paths.js → path.js} +0 -0
package/dist/node.js CHANGED
@@ -1,11 +1,11 @@
1
- export { B as BaseSequencer, V as VitestPlugin, a as createMethodsRPC, c as createVitest, r as registerConsoleShortcuts, s as startVitest } from './vendor/node.wTZytysZ.js';
1
+ export { B as BaseSequencer, b as VitestPackageInstaller, V as VitestPlugin, a as createMethodsRPC, c as createVitest, r as registerConsoleShortcuts, s as startVitest } from './vendor/node.xyYo9ZvH.js';
2
2
  import 'pathe';
3
3
  import 'vite';
4
4
  import 'node:path';
5
5
  import 'node:url';
6
6
  import 'node:process';
7
7
  import 'node:fs';
8
- import './vendor/constants.WSvnD_fn.js';
8
+ import './vendor/constants.i1PoEnhr.js';
9
9
  import './vendor/_commonjsHelpers.jjO7Zipk.js';
10
10
  import 'os';
11
11
  import 'path';
@@ -15,43 +15,43 @@ import 'stream';
15
15
  import 'events';
16
16
  import 'fs';
17
17
  import 'picocolors';
18
- import 'vite-node/utils';
19
18
  import 'vite-node/client';
20
19
  import '@vitest/snapshot/manager';
21
20
  import 'vite-node/server';
22
- import './vendor/index.XU72Rmy8.js';
21
+ import './vendor/index.rJjbcrrp.js';
23
22
  import 'std-env';
24
23
  import '@vitest/runner/utils';
25
24
  import '@vitest/utils';
26
- import './vendor/global.L7JRz1qU.js';
27
- import './vendor/coverage.v6aD8iAh.js';
28
- import './paths.js';
25
+ import './vendor/global.CkGT_TMy.js';
26
+ import './vendor/coverage.E7sG1b3r.js';
27
+ import './path.js';
29
28
  import 'node:v8';
30
29
  import 'node:os';
31
30
  import 'node:events';
32
31
  import 'tinypool';
33
32
  import './vendor/index.cAUulNDf.js';
34
- import './vendor/base._79unx2z.js';
33
+ import './vendor/base.dzu0Y6Hj.js';
35
34
  import 'node:worker_threads';
36
35
  import 'node:fs/promises';
37
36
  import 'node:perf_hooks';
38
37
  import 'execa';
39
38
  import '@vitest/utils/source-map';
40
- import 'node:module';
41
- import 'local-pkg';
42
39
  import 'module';
43
40
  import 'acorn-walk';
44
- import './vendor/reporters.7Y4WN6gc.js';
41
+ import './vendor/reporters.2PaQ2peU.js';
45
42
  import './chunks/runtime-console.hf2msWA9.js';
46
43
  import 'node:stream';
47
44
  import 'node:console';
48
45
  import './vendor/date.Ns1pGd_X.js';
49
46
  import './vendor/tasks.IknbGB2n.js';
47
+ import 'node:module';
48
+ import 'local-pkg';
50
49
  import 'node:crypto';
50
+ import 'vite-node/utils';
51
51
  import 'assert';
52
52
  import 'magic-string';
53
53
  import '@vitest/utils/ast';
54
54
  import 'strip-literal';
55
- import './vendor/environments.QJtma9XQ.js';
55
+ import './vendor/environments.sU0TD7wX.js';
56
56
  import 'node:readline';
57
57
  import 'readline';
@@ -417,7 +417,7 @@ declare class Typechecker {
417
417
  }[]>>;
418
418
  clear(): Promise<void>;
419
419
  stop(): Promise<void>;
420
- protected ensurePackageInstalled(root: string, checker: string): Promise<void>;
420
+ protected ensurePackageInstalled(ctx: Vitest, checker: string): Promise<void>;
421
421
  prepare(): Promise<void>;
422
422
  getExitCode(): number | false;
423
423
  getOutput(): string;
@@ -446,6 +446,7 @@ declare class Logger {
446
446
  done(): void;
447
447
  };
448
448
  private _clearScreenPending;
449
+ private _highlights;
449
450
  constructor(ctx: Vitest, console?: Console);
450
451
  log(...args: any[]): void;
451
452
  error(...args: any[]): void;
@@ -454,6 +455,8 @@ declare class Logger {
454
455
  clearScreen(message: string, force?: boolean): void;
455
456
  private _clearScreen;
456
457
  printError(err: unknown, options?: ErrorOptions): Promise<void>;
458
+ clearHighlightCache(filename?: string): void;
459
+ highlight(filename: string, source: string): string;
457
460
  printNoTestFound(filters?: string[]): void;
458
461
  printBanner(): void;
459
462
  printUnhandledErrors(errors: unknown[]): Promise<void>;
@@ -499,7 +502,6 @@ declare class WorkspaceProject {
499
502
  static createBasicProject(ctx: Vitest): WorkspaceProject;
500
503
  static createCoreProject(ctx: Vitest): Promise<WorkspaceProject>;
501
504
  setServer(options: UserConfig, server: ViteDevServer): Promise<void>;
502
- report<T extends keyof Reporter>(name: T, ...args: ArgumentsType$1<Reporter[T]>): Promise<void>;
503
505
  isBrowserEnabled(): boolean;
504
506
  getSerializableConfig(): ResolvedConfig;
505
507
  close(): Promise<unknown>;
@@ -582,7 +584,7 @@ interface ResolvedBrowserOptions extends BrowserConfigOptions {
582
584
  api: ApiConfig;
583
585
  }
584
586
 
585
- type BuiltinPool = 'browser' | 'threads' | 'forks' | 'vmThreads' | 'typescript';
587
+ type BuiltinPool = 'browser' | 'threads' | 'forks' | 'vmThreads' | 'vmForks' | 'typescript';
586
588
  type Pool = BuiltinPool | (string & {});
587
589
  interface PoolOptions extends Record<string, unknown> {
588
590
  /**
@@ -606,6 +608,14 @@ interface PoolOptions extends Record<string, unknown> {
606
608
  * This makes tests run faster, but VM module is unstable. Your tests might leak memory.
607
609
  */
608
610
  vmThreads?: ThreadsOptions & VmOptions;
611
+ /**
612
+ * Run tests in isolated `node:vm`.
613
+ *
614
+ * Test files are run parallel using `node:child_process` [`fork()`](https://nodejs.org/api/child_process.html#child_processforkmodulepath-args-options)
615
+ *
616
+ * This makes tests run faster, but VM module is unstable. Your tests might leak memory.
617
+ */
618
+ vmForks?: ForksOptions & VmOptions;
609
619
  }
610
620
  interface ThreadsOptions {
611
621
  /** Minimum amount of threads to use */
@@ -799,7 +809,7 @@ interface CliOptions extends UserConfig {
799
809
  *
800
810
  * Returns a Vitest instance if initialized successfully.
801
811
  */
802
- declare function startVitest(mode: VitestRunMode, cliFilters?: string[], options?: CliOptions, viteOverrides?: UserConfig$1): Promise<Vitest | undefined>;
812
+ declare function startVitest(mode: VitestRunMode, cliFilters?: string[], options?: CliOptions, viteOverrides?: UserConfig$1, vitestOptions?: VitestOptions): Promise<Vitest | undefined>;
803
813
 
804
814
  type FileStatsCache = Pick<Stats, 'size'>;
805
815
  declare class FilesStatsCache {
@@ -824,6 +834,13 @@ declare class VitestCache {
824
834
  }>;
825
835
  }
826
836
 
837
+ declare class VitestPackageInstaller {
838
+ ensureInstalled(dependency: string, root: string): Promise<boolean>;
839
+ }
840
+
841
+ interface VitestOptions {
842
+ packageInstaller?: VitestPackageInstaller;
843
+ }
827
844
  declare class Vitest {
828
845
  readonly mode: VitestRunMode;
829
846
  config: ResolvedConfig;
@@ -847,16 +864,13 @@ declare class Vitest {
847
864
  isFirstRun: boolean;
848
865
  restartsCount: number;
849
866
  runner: ViteNodeRunner;
867
+ packageInstaller: VitestPackageInstaller;
850
868
  private coreWorkspaceProject;
851
869
  private resolvedProjects;
852
870
  projects: WorkspaceProject[];
853
871
  private projectsTestFiles;
854
- projectFiles: {
855
- workerPath: string;
856
- forksPath: string;
857
- vmPath: string;
858
- };
859
- constructor(mode: VitestRunMode);
872
+ distPath: string;
873
+ constructor(mode: VitestRunMode, options?: VitestOptions);
860
874
  private _onRestartListeners;
861
875
  private _onClose;
862
876
  private _onSetServer;
@@ -884,7 +898,7 @@ declare class Vitest {
884
898
  updateSnapshot(files?: string[]): Promise<void>;
885
899
  private _rerunTimer;
886
900
  private scheduleRerun;
887
- getModuleProjects(id: string): WorkspaceProject[];
901
+ getModuleProjects(filepath: string): WorkspaceProject[];
888
902
  private unregisterWatcher;
889
903
  private registerWatcher;
890
904
  /**
@@ -955,14 +969,14 @@ declare class BasicReporter extends BaseReporter {
955
969
  reportSummary(files: File[], errors: unknown[]): Promise<void>;
956
970
  }
957
971
 
958
- interface ListRendererOptions$1 {
972
+ interface ListRendererOptions {
959
973
  renderSucceed?: boolean;
960
974
  logger: Logger;
961
975
  showHeap: boolean;
962
976
  slowTestThreshold: number;
963
977
  mode: VitestRunMode;
964
978
  }
965
- declare function createListRenderer(_tasks: Task[], options: ListRendererOptions$1): {
979
+ declare function createListRenderer(_tasks: Task[], options: ListRendererOptions): {
966
980
  start(): any;
967
981
  update(_tasks: Task[]): any;
968
982
  stop(): Promise<any>;
@@ -971,7 +985,7 @@ declare function createListRenderer(_tasks: Task[], options: ListRendererOptions
971
985
 
972
986
  declare class DefaultReporter extends BaseReporter {
973
987
  renderer?: ReturnType<typeof createListRenderer>;
974
- rendererOptions: ListRendererOptions$1;
988
+ rendererOptions: ListRendererOptions;
975
989
  private renderSucceedDefault?;
976
990
  onPathsCollected(paths?: string[]): void;
977
991
  onTestRemoved(trigger?: string): Promise<void>;
@@ -983,8 +997,18 @@ declare class DefaultReporter extends BaseReporter {
983
997
  onUserConsoleLog(log: UserConsoleLog): void;
984
998
  }
985
999
 
1000
+ interface DotRendererOptions {
1001
+ logger: Logger;
1002
+ }
1003
+ declare function createDotRenderer(_tasks: Task[], options: DotRendererOptions): {
1004
+ start(): any;
1005
+ update(_tasks: Task[]): any;
1006
+ stop(): Promise<any>;
1007
+ clear(): void;
1008
+ };
1009
+
986
1010
  declare class DotReporter extends BaseReporter {
987
- renderer?: ReturnType<typeof createListRenderer>;
1011
+ renderer?: ReturnType<typeof createDotRenderer>;
988
1012
  onCollected(): void;
989
1013
  onFinished(files?: _vitest_runner.File[], errors?: unknown[]): Promise<void>;
990
1014
  onWatcherStart(): Promise<void>;
@@ -1081,13 +1105,13 @@ declare class JsonReporter implements Reporter {
1081
1105
  writeReport(report: string): Promise<void>;
1082
1106
  }
1083
1107
 
1084
- interface ListRendererOptions {
1108
+ interface TableRendererOptions {
1085
1109
  renderSucceed?: boolean;
1086
1110
  logger: Logger;
1087
1111
  showHeap: boolean;
1088
1112
  slowTestThreshold: number;
1089
1113
  }
1090
- declare function createTableRenderer(_tasks: Task[], options: ListRendererOptions): {
1114
+ declare function createTableRenderer(_tasks: Task[], options: TableRendererOptions): {
1091
1115
  start(): any;
1092
1116
  update(_tasks: Task[]): any;
1093
1117
  stop(): Promise<any>;
@@ -1096,7 +1120,7 @@ declare function createTableRenderer(_tasks: Task[], options: ListRendererOption
1096
1120
 
1097
1121
  declare class TableReporter extends BaseReporter {
1098
1122
  renderer?: ReturnType<typeof createTableRenderer>;
1099
- rendererOptions: ListRendererOptions$1;
1123
+ rendererOptions: TableRendererOptions;
1100
1124
  onTestRemoved(trigger?: string): Promise<void>;
1101
1125
  onCollected(): void;
1102
1126
  onFinished(files?: _vitest_runner.File[], errors?: unknown[]): Promise<void>;
@@ -1206,6 +1230,52 @@ interface LinkMapper {
1206
1230
  type ArgumentsType<T> = T extends (...args: infer A) => any ? A : never;
1207
1231
  type ReturnType$1<T> = T extends (...args: any) => infer R ? R : never;
1208
1232
  type PromisifyFn<T> = ReturnType$1<T> extends Promise<any> ? T : (...args: ArgumentsType<T>) => Promise<Awaited<ReturnType$1<T>>>;
1233
+ type BirpcResolver = (name: string, resolved: (...args: unknown[]) => unknown) => ((...args: unknown[]) => unknown) | undefined;
1234
+ interface ChannelOptions {
1235
+ /**
1236
+ * Function to post raw message
1237
+ */
1238
+ post: (data: any, ...extras: any[]) => any | Promise<any>;
1239
+ /**
1240
+ * Listener to receive raw message
1241
+ */
1242
+ on: (fn: (data: any, ...extras: any[]) => void) => any | Promise<any>;
1243
+ /**
1244
+ * Custom function to serialize data
1245
+ *
1246
+ * by default it passes the data as-is
1247
+ */
1248
+ serialize?: (data: any) => any;
1249
+ /**
1250
+ * Custom function to deserialize data
1251
+ *
1252
+ * by default it passes the data as-is
1253
+ */
1254
+ deserialize?: (data: any) => any;
1255
+ }
1256
+ interface EventOptions<Remote> {
1257
+ /**
1258
+ * Names of remote functions that do not need response.
1259
+ */
1260
+ eventNames?: (keyof Remote)[];
1261
+ /**
1262
+ * Maximum timeout for waiting for response, in milliseconds.
1263
+ *
1264
+ * @default 60_000
1265
+ */
1266
+ timeout?: number;
1267
+ /**
1268
+ * Custom resolver to resolve function to be called
1269
+ *
1270
+ * For advanced use cases only
1271
+ */
1272
+ resolver?: BirpcResolver;
1273
+ /**
1274
+ * Custom error handler
1275
+ */
1276
+ onError?: (error: Error, functionName: string, args: any[]) => boolean | void;
1277
+ }
1278
+ type BirpcOptions<Remote> = EventOptions<Remote> & ChannelOptions;
1209
1279
  type BirpcFn<T> = PromisifyFn<T> & {
1210
1280
  /**
1211
1281
  * Send event without asking for response
@@ -1236,7 +1306,6 @@ interface RuntimeRPC {
1236
1306
  resolveId: (id: string, importer: string | undefined, environment: TransformMode) => Promise<ViteNodeResolveId | null>;
1237
1307
  getSourceMap: (id: string, force?: boolean) => Promise<RawSourceMap | undefined>;
1238
1308
  onFinished: (files: File[], errors?: unknown[]) => void;
1239
- onWorkerExit: (error: unknown, code?: number) => void;
1240
1309
  onPathsCollected: (paths: string[]) => void;
1241
1310
  onUserConsoleLog: (log: UserConsoleLog) => void;
1242
1311
  onUnhandledError: (err: unknown, type: string) => void;
@@ -1253,7 +1322,6 @@ interface RunnerRPC {
1253
1322
  }
1254
1323
  interface ContextTestEnvironment {
1255
1324
  name: VitestEnvironment;
1256
- environment?: Environment;
1257
1325
  transformMode?: TransformMode;
1258
1326
  options: EnvironmentOptions | null;
1259
1327
  }
@@ -1262,16 +1330,18 @@ interface ResolvedTestEnvironment {
1262
1330
  options: EnvironmentOptions | null;
1263
1331
  }
1264
1332
  interface ContextRPC {
1333
+ pool: Pool;
1334
+ worker: string;
1335
+ workerId: number;
1265
1336
  config: ResolvedConfig;
1266
1337
  projectName: string;
1267
1338
  files: string[];
1268
- invalidates?: string[];
1269
1339
  environment: ContextTestEnvironment;
1270
1340
  providedContext: Record<string, any>;
1341
+ invalidates?: string[];
1271
1342
  }
1272
1343
 
1273
1344
  interface WorkerContext extends ContextRPC {
1274
- workerId: number;
1275
1345
  port: MessagePort;
1276
1346
  }
1277
1347
  type ResolveIdFunction = (id: string, importer?: string) => Promise<ViteNodeResolveId | null>;
@@ -1297,7 +1367,6 @@ interface WorkerGlobalState {
1297
1367
  environment: number;
1298
1368
  prepare: number;
1299
1369
  };
1300
- isChildProcess?: boolean;
1301
1370
  }
1302
1371
 
1303
1372
  type TransformResult = string | Partial<TransformResult$1> | undefined | null | void;
@@ -1332,8 +1401,8 @@ interface CoverageProviderModule {
1332
1401
  */
1333
1402
  stopCoverage?(): unknown | Promise<unknown>;
1334
1403
  }
1335
- type CoverageReporter = keyof ReportOptions;
1336
- type CoverageReporterWithOptions<ReporterName extends CoverageReporter = CoverageReporter> = ReporterName extends CoverageReporter ? ReportOptions[ReporterName] extends never ? [ReporterName, {}] : [ReporterName, Partial<ReportOptions[ReporterName]>] : never;
1404
+ type CoverageReporter = keyof ReportOptions | (string & {});
1405
+ type CoverageReporterWithOptions<ReporterName extends CoverageReporter = CoverageReporter> = ReporterName extends keyof ReportOptions ? ReportOptions[ReporterName] extends never ? [ReporterName, {}] : [ReporterName, Partial<ReportOptions[ReporterName]>] : [ReporterName, Record<string, unknown>];
1337
1406
  type Provider = 'v8' | 'istanbul' | 'custom' | undefined;
1338
1407
  type CoverageOptions<T extends Provider = Provider> = T extends 'istanbul' ? ({
1339
1408
  provider: T;
@@ -2217,6 +2286,16 @@ interface InlineConfig {
2217
2286
  * Show full diff when snapshot fails instead of a patch.
2218
2287
  */
2219
2288
  expandSnapshotDiff?: boolean;
2289
+ /**
2290
+ * By default, Vitest automatically intercepts console logging during tests for extra formatting of test file, test title, etc...
2291
+ * This is also required for console log preview on Vitest UI.
2292
+ * However, disabling such interception might help when you want to debug a code with normal synchronus terminal console logging.
2293
+ *
2294
+ * This option has no effect on browser pool since Vitest preserves original logging on browser devtools.
2295
+ *
2296
+ * @default false
2297
+ */
2298
+ disableConsoleIntercept?: boolean;
2220
2299
  }
2221
2300
  interface TypecheckConfig {
2222
2301
  /**
@@ -2334,9 +2413,14 @@ interface ResolvedConfig extends Omit<Required<UserConfig>, 'config' | 'filters'
2334
2413
  };
2335
2414
  runner?: string;
2336
2415
  }
2337
- type ProjectConfig = Omit<UserConfig, 'sequencer' | 'shard' | 'watch' | 'run' | 'cache' | 'update' | 'reporters' | 'outputFile' | 'pool' | 'poolOptions' | 'teardownTimeout' | 'silent' | 'watchExclude' | 'forceRerunTriggers' | 'testNamePattern' | 'ui' | 'open' | 'uiBase' | 'snapshotFormat' | 'resolveSnapshotPath' | 'passWithNoTests' | 'onConsoleLog' | 'onStackTrace' | 'dangerouslyIgnoreUnhandledErrors' | 'slowTestThreshold' | 'inspect' | 'inspectBrk' | 'deps' | 'coverage'> & {
2416
+ type ProjectConfig = Omit<UserConfig, 'sequencer' | 'shard' | 'watch' | 'run' | 'cache' | 'update' | 'reporters' | 'outputFile' | 'poolOptions' | 'teardownTimeout' | 'silent' | 'watchExclude' | 'forceRerunTriggers' | 'testNamePattern' | 'ui' | 'open' | 'uiBase' | 'snapshotFormat' | 'resolveSnapshotPath' | 'passWithNoTests' | 'onConsoleLog' | 'onStackTrace' | 'dangerouslyIgnoreUnhandledErrors' | 'slowTestThreshold' | 'inspect' | 'inspectBrk' | 'deps' | 'coverage'> & {
2338
2417
  sequencer?: Omit<SequenceOptions, 'sequencer' | 'seed'>;
2339
2418
  deps?: Omit<DepsOptions, 'moduleDirectories'>;
2419
+ poolOptions?: {
2420
+ threads?: Pick<NonNullable<PoolOptions['threads']>, 'singleThread' | 'isolate'>;
2421
+ vmThreads?: Pick<NonNullable<PoolOptions['vmThreads']>, 'singleThread'>;
2422
+ forks?: Pick<NonNullable<PoolOptions['forks']>, 'singleFork' | 'isolate'>;
2423
+ };
2340
2424
  };
2341
2425
  type RuntimeConfig = Pick<UserConfig, 'allowOnly' | 'testTimeout' | 'hookTimeout' | 'clearMocks' | 'mockReset' | 'restoreMocks' | 'fakeTimers' | 'maxConcurrency'> & {
2342
2426
  sequence?: {
@@ -2437,4 +2521,4 @@ type Context = RootAndTarget & {
2437
2521
  lastActivePath?: string;
2438
2522
  };
2439
2523
 
2440
- export { type WorkerContext as $, type AfterSuiteRunMeta as A, type BaseCoverageOptions as B, type CoverageV8Options as C, type BuiltinEnvironment as D, type Environment as E, type FakeTimerInstallOpts as F, type VitestEnvironment as G, type HappyDOMOptions as H, type CSSModuleScopeStrategy as I, type JSDOMOptions as J, type ApiConfig as K, type EnvironmentOptions as L, type MockFactoryWithHelper as M, type DepsOptimizationOptions as N, type TransformModePatterns as O, type ProjectConfig as P, type InlineConfig as Q, type ResolvedConfig as R, type TypecheckConfig as S, type TestSequencer as T, type UserConfig as U, type VitestRunMode as V, WorkspaceProject as W, type RunnerRPC as X, type ContextTestEnvironment as Y, type ResolvedTestEnvironment as Z, type ContextRPC as _, type ResolvedCoverageOptions as a, type ResolveIdFunction as a0, type WorkerRPC as a1, type WorkerGlobalState as a2, type Awaitable as a3, type Nullable as a4, type Arrayable as a5, type ArgumentsType$1 as a6, type MutableArray as a7, type Constructable as a8, type ModuleCache as a9, type BuiltinReporters as aA, BenchmarkReportsMap as aB, type BenchmarkBuiltinReporters as aC, type EnvironmentReturn as aa, type VmEnvironmentReturn as ab, type OnServerRestartHandler as ac, type ReportContext as ad, type CoverageReporter as ae, type CoverageIstanbulOptions as af, type CustomProviderOptions as ag, type BenchmarkUserOptions as ah, type Benchmark as ai, type BenchmarkResult as aj, type BenchFunction as ak, type BenchmarkAPI as al, type PendingSuiteMock as am, type MockFactory as an, type MockMap as ao, DefaultReporter as ap, BasicReporter as aq, DotReporter as ar, JsonReporter$1 as as, VerboseReporter as at, TapReporter as au, JUnitReporter as av, TapFlatReporter as aw, HangingProcessReporter as ax, BaseReporter as ay, ReportersMap as az, type CoverageOptions as b, type CoverageProvider as c, type CoverageProviderModule as d, Vitest as e, type ProvidedContext as f, type RuntimeRPC as g, type WorkspaceSpec as h, type ProcessPool as i, type TestSequencerConstructor as j, type BrowserProviderInitializationOptions as k, type BrowserProvider as l, type BrowserProviderOptions as m, type RuntimeConfig as n, type UserConsoleLog as o, type ModuleGraphData as p, type Reporter as q, type RawErrsMap as r, startVitest as s, type TscErrorInfo as t, type CollectLineNumbers as u, type CollectLines as v, type RootAndTarget as w, type Context as x, type Pool as y, type PoolOptions as z };
2524
+ export { type InlineConfig as $, type AfterSuiteRunMeta as A, type BaseCoverageOptions as B, type CoverageV8Options as C, type CollectLineNumbers as D, type Environment as E, type FakeTimerInstallOpts as F, type CollectLines as G, type RootAndTarget as H, type Context as I, type Pool as J, type PoolOptions as K, type JSDOMOptions as L, type MockFactoryWithHelper as M, type HappyDOMOptions as N, type BuiltinEnvironment as O, type ProjectConfig as P, type VitestEnvironment as Q, type ResolvedConfig as R, type CSSModuleScopeStrategy as S, type TestSequencer as T, type UserConfig as U, type VitestRunMode as V, WorkspaceProject as W, type ApiConfig as X, type EnvironmentOptions as Y, type DepsOptimizationOptions as Z, type TransformModePatterns as _, type ResolvedCoverageOptions as a, type TypecheckConfig as a0, type RunnerRPC as a1, type ContextTestEnvironment as a2, type ResolvedTestEnvironment as a3, type ResolveIdFunction as a4, type WorkerRPC as a5, type Awaitable as a6, type Nullable as a7, type Arrayable as a8, type ArgumentsType$1 as a9, HangingProcessReporter as aA, BaseReporter as aB, ReportersMap as aC, type BuiltinReporters as aD, BenchmarkReportsMap as aE, type BenchmarkBuiltinReporters as aF, type MutableArray as aa, type Constructable as ab, type ModuleCache as ac, type EnvironmentReturn as ad, type VmEnvironmentReturn as ae, type OnServerRestartHandler as af, type ReportContext as ag, type CoverageReporter as ah, type CoverageIstanbulOptions as ai, type CustomProviderOptions as aj, type BenchmarkUserOptions as ak, type Benchmark as al, type BenchmarkResult as am, type BenchFunction as an, type BenchmarkAPI as ao, type PendingSuiteMock as ap, type MockFactory as aq, type MockMap as ar, DefaultReporter as as, BasicReporter as at, DotReporter as au, JsonReporter$1 as av, VerboseReporter as aw, TapReporter as ax, JUnitReporter as ay, TapFlatReporter as az, type CoverageOptions as b, type CoverageProvider as c, type CoverageProviderModule as d, type VitestOptions as e, Vitest as f, type ProvidedContext as g, type RuntimeRPC as h, type WorkspaceSpec as i, type ProcessPool as j, VitestPackageInstaller as k, type TestSequencerConstructor as l, type BrowserProviderInitializationOptions as m, type BrowserProvider as n, type BrowserProviderOptions as o, type BirpcOptions as p, type ContextRPC as q, type WorkerGlobalState as r, startVitest as s, type WorkerContext as t, type RuntimeConfig as u, type UserConsoleLog as v, type ModuleGraphData as w, type Reporter as x, type RawErrsMap as y, type TscErrorInfo as z };
@@ -1,4 +1,4 @@
1
- export { ay as BaseReporter, aq as BasicReporter, aC as BenchmarkBuiltinReporters, aB as BenchmarkReportsMap, aA as BuiltinReporters, ap as DefaultReporter, ar as DotReporter, ax as HangingProcessReporter, av as JUnitReporter, as as JsonReporter, q as Reporter, az as ReportersMap, aw as TapFlatReporter, au as TapReporter, at as VerboseReporter } from './reporters-qc5Smpt5.js';
1
+ export { aB as BaseReporter, at as BasicReporter, aF as BenchmarkBuiltinReporters, aE as BenchmarkReportsMap, aD as BuiltinReporters, as as DefaultReporter, au as DotReporter, aA as HangingProcessReporter, ay as JUnitReporter, av as JsonReporter, x as Reporter, aC as ReportersMap, az as TapFlatReporter, ax as TapReporter, aw as VerboseReporter } from './reporters-trlZlObr.js';
2
2
  import 'vite';
3
3
  import '@vitest/runner';
4
4
  import 'vite-node';
package/dist/reporters.js CHANGED
@@ -1,18 +1,18 @@
1
- export { e as BasicReporter, B as BenchmarkReportsMap, D as DefaultReporter, f as DotReporter, H as HangingProcessReporter, g as JUnitReporter, J as JsonReporter, R as ReportersMap, h as TapFlatReporter, T as TapReporter, V as VerboseReporter } from './vendor/reporters.7Y4WN6gc.js';
1
+ export { e as BasicReporter, B as BenchmarkReportsMap, D as DefaultReporter, f as DotReporter, H as HangingProcessReporter, g as JUnitReporter, J as JsonReporter, R as ReportersMap, h as TapFlatReporter, T as TapReporter, V as VerboseReporter } from './vendor/reporters.2PaQ2peU.js';
2
2
  import 'node:perf_hooks';
3
3
  import 'picocolors';
4
- import './vendor/index.XU72Rmy8.js';
4
+ import './vendor/index.rJjbcrrp.js';
5
5
  import 'pathe';
6
6
  import 'std-env';
7
7
  import '@vitest/runner/utils';
8
8
  import '@vitest/utils';
9
- import './vendor/global.L7JRz1qU.js';
9
+ import './vendor/global.CkGT_TMy.js';
10
10
  import './chunks/runtime-console.hf2msWA9.js';
11
11
  import 'node:stream';
12
12
  import 'node:console';
13
13
  import 'node:path';
14
14
  import './vendor/date.Ns1pGd_X.js';
15
- import './vendor/base._79unx2z.js';
15
+ import './vendor/base.dzu0Y6Hj.js';
16
16
  import './vendor/tasks.IknbGB2n.js';
17
17
  import 'node:fs';
18
18
  import '@vitest/utils/source-map';
package/dist/runners.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { VitestRunner, VitestRunnerImportSource, Suite, Test, CancelReason, Custom, TaskContext, ExtendedContext } from '@vitest/runner';
2
- import { R as ResolvedConfig } from './reporters-qc5Smpt5.js';
2
+ import { R as ResolvedConfig } from './reporters-trlZlObr.js';
3
3
  import * as tinybench from 'tinybench';
4
4
  import 'vite';
5
5
  import 'vite-node';
package/dist/runners.js CHANGED
@@ -1,22 +1,24 @@
1
1
  import { setState, GLOBAL_EXPECT, getState } from '@vitest/expect';
2
- import { g as getSnapshotClient, c as createExpect, v as vi } from './vendor/vi.DTC--YO5.js';
3
- import './vendor/index.XU72Rmy8.js';
4
- import { a as rpc } from './vendor/rpc.Bl-ysZIr.js';
2
+ import { g as getSnapshotClient, c as createExpect, v as vi } from './vendor/vi.smj1Ggd4.js';
3
+ import './vendor/index.rJjbcrrp.js';
4
+ import { r as rpc } from './vendor/rpc.w4v8oCkK.js';
5
5
  import { g as getFullName } from './vendor/tasks.IknbGB2n.js';
6
- import { g as getWorkerState } from './vendor/global.L7JRz1qU.js';
6
+ import { g as getWorkerState } from './vendor/global.CkGT_TMy.js';
7
7
  import { getTests, getNames } from '@vitest/runner/utils';
8
8
  import { updateTask } from '@vitest/runner';
9
9
  import { createDefer, getSafeTimers } from '@vitest/utils';
10
- import { a as getBenchOptions, g as getBenchFn } from './vendor/benchmark.WVm6DARl.js';
10
+ import { a as getBenchOptions, g as getBenchFn } from './vendor/benchmark.IlKmJkUU.js';
11
11
  import 'chai';
12
12
  import './vendor/_commonjsHelpers.jjO7Zipk.js';
13
13
  import '@vitest/snapshot';
14
14
  import '@vitest/utils/error';
15
15
  import '@vitest/utils/source-map';
16
+ import './vendor/base.dzu0Y6Hj.js';
16
17
  import './vendor/date.Ns1pGd_X.js';
17
18
  import '@vitest/spy';
18
19
  import 'pathe';
19
20
  import 'std-env';
21
+ import './vendor/index.cAUulNDf.js';
20
22
 
21
23
  class VitestTestRunner {
22
24
  constructor(config) {
@@ -1,6 +1,6 @@
1
1
  import { Custom } from '@vitest/runner';
2
2
  import '@vitest/runner/utils';
3
- import { ak as BenchFunction, al as BenchmarkAPI } from './reporters-qc5Smpt5.js';
3
+ import { an as BenchFunction, ao as BenchmarkAPI } from './reporters-trlZlObr.js';
4
4
  import { Options } from 'tinybench';
5
5
 
6
6
  declare function getBenchOptions(key: Custom): Options;
package/dist/suite.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { createTaskCollector, getCurrentSuite, getFn, setFn } from '@vitest/runner';
2
2
  export { createChainable } from '@vitest/runner/utils';
3
- export { g as getBenchFn, a as getBenchOptions } from './suite-WwpgKT7k.js';
4
- import './reporters-qc5Smpt5.js';
3
+ export { g as getBenchFn, a as getBenchOptions } from './suite-6Pt_ep5V.js';
4
+ import './reporters-trlZlObr.js';
5
5
  import 'vite';
6
6
  import 'vite-node';
7
7
  import '@vitest/snapshot';
package/dist/suite.js CHANGED
@@ -1,8 +1,8 @@
1
1
  export { createTaskCollector, getCurrentSuite, getFn, setFn } from '@vitest/runner';
2
2
  export { createChainable } from '@vitest/runner/utils';
3
- export { g as getBenchFn, a as getBenchOptions } from './vendor/benchmark.WVm6DARl.js';
3
+ export { g as getBenchFn, a as getBenchOptions } from './vendor/benchmark.IlKmJkUU.js';
4
4
  import '@vitest/utils';
5
- import './vendor/index.XU72Rmy8.js';
5
+ import './vendor/index.rJjbcrrp.js';
6
6
  import 'pathe';
7
7
  import 'std-env';
8
- import './vendor/global.L7JRz1qU.js';
8
+ import './vendor/global.CkGT_TMy.js';
@@ -0,0 +1,38 @@
1
+ import { ModuleCacheMap } from 'vite-node/client';
2
+ import { p as provideWorkerState } from './global.CkGT_TMy.js';
3
+ import { g as getDefaultRequestStubs, s as startVitestExecutor } from './execute.3_hyGknJ.js';
4
+
5
+ let _viteNode;
6
+ const moduleCache = new ModuleCacheMap();
7
+ const mockMap = /* @__PURE__ */ new Map();
8
+ async function startViteNode(options) {
9
+ if (_viteNode)
10
+ return _viteNode;
11
+ _viteNode = await startVitestExecutor(options);
12
+ return _viteNode;
13
+ }
14
+ async function runBaseTests(state) {
15
+ const { ctx } = state;
16
+ state.moduleCache = moduleCache;
17
+ state.mockMap = mockMap;
18
+ provideWorkerState(globalThis, state);
19
+ if (ctx.invalidates) {
20
+ ctx.invalidates.forEach((fsPath) => {
21
+ moduleCache.delete(fsPath);
22
+ moduleCache.delete(`mock:${fsPath}`);
23
+ });
24
+ }
25
+ ctx.files.forEach((i) => state.moduleCache.delete(i));
26
+ const [executor, { run }] = await Promise.all([
27
+ startViteNode({ state, requestStubs: getDefaultRequestStubs() }),
28
+ import('../chunks/runtime-runBaseTests.LWFmrzDk.js')
29
+ ]);
30
+ await run(
31
+ ctx.files,
32
+ ctx.config,
33
+ { environment: state.environment, options: ctx.environment.options },
34
+ executor
35
+ );
36
+ }
37
+
38
+ export { runBaseTests as r };
@@ -92,5 +92,14 @@ class AggregateErrorPonyfill extends Error {
92
92
  this.errors = [...errors];
93
93
  }
94
94
  }
95
+ function isChildProcess() {
96
+ return !!(process == null ? void 0 : process.send);
97
+ }
98
+ function setProcessTitle(title) {
99
+ try {
100
+ process.title = `node (${title})`;
101
+ } catch {
102
+ }
103
+ }
95
104
 
96
- export { AggregateErrorPonyfill as A, stdout as a, getAllMockableProperties as b, deepMerge as d, groupBy as g, isPrimitive as i, noop as n, slash as s, toArray as t };
105
+ export { AggregateErrorPonyfill as A, isPrimitive as a, slash as b, stdout as c, deepMerge as d, getAllMockableProperties as e, groupBy as g, isChildProcess as i, noop as n, setProcessTitle as s, toArray as t };
@@ -1,7 +1,7 @@
1
1
  import { getCurrentSuite } from '@vitest/runner';
2
2
  import { createChainable } from '@vitest/runner/utils';
3
3
  import { noop } from '@vitest/utils';
4
- import { i as isRunningInBenchmark } from './index.XU72Rmy8.js';
4
+ import { i as isRunningInBenchmark } from './index.rJjbcrrp.js';
5
5
 
6
6
  const benchFns = /* @__PURE__ */ new WeakMap();
7
7
  const benchOptsMap = /* @__PURE__ */ new WeakMap();
@@ -2,6 +2,14 @@ const defaultPort = 51204;
2
2
  const defaultBrowserPort = 63315;
3
3
  const EXIT_CODE_RESTART = 43;
4
4
  const API_PATH = "/__vitest_api__";
5
+ const extraInlineDeps = [
6
+ /^(?!.*(?:node_modules)).*\.mjs$/,
7
+ /^(?!.*(?:node_modules)).*\.cjs\.js$/,
8
+ // Vite client
9
+ /vite\w*\/dist\/client\/env.mjs/,
10
+ // Nuxt
11
+ "@nuxt/test-utils"
12
+ ];
5
13
  const CONFIG_NAMES = [
6
14
  "vitest.config",
7
15
  "vite.config"
@@ -51,4 +59,4 @@ const globalApis = [
51
59
  "afterEach"
52
60
  ];
53
61
 
54
- export { API_PATH as A, CONFIG_NAMES as C, EXIT_CODE_RESTART as E, defaultBrowserPort as a, configFiles as c, defaultPort as d, globalApis as g, workspacesFiles as w };
62
+ export { API_PATH as A, CONFIG_NAMES as C, EXIT_CODE_RESTART as E, defaultBrowserPort as a, configFiles as c, defaultPort as d, extraInlineDeps as e, globalApis as g, workspacesFiles as w };
@@ -50,4 +50,4 @@ async function stopCoverageInsideWorker(options, loader) {
50
50
  return null;
51
51
  }
52
52
 
53
- export { CoverageProviderMap as C, stopCoverageInsideWorker as a, getCoverageProvider as g, startCoverageInsideWorker as s, takeCoverageInsideWorker as t };
53
+ export { CoverageProviderMap as C, startCoverageInsideWorker as a, getCoverageProvider as g, stopCoverageInsideWorker as s, takeCoverageInsideWorker as t };