vitest 2.0.0-beta.1 → 2.0.0-beta.11

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 (66) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/browser.d.ts +22 -2
  3. package/dist/browser.js +5 -3
  4. package/dist/chunks/{integrations-globals.B5Jl0grA.js → integrations-globals.CC2ed6Py.js} +9 -9
  5. package/dist/chunks/{node-git.CCI8evVZ.js → node-git.ZtkbKc8u.js} +14 -15
  6. package/dist/chunks/{runtime-console.CUES-L8X.js → runtime-console.Ckl0vEQr.js} +76 -31
  7. package/dist/chunks/{runtime-runBaseTests._dXkRAZc.js → runtime-runBaseTests.BXW_BJeO.js} +40 -32
  8. package/dist/cli.js +3 -3
  9. package/dist/config.cjs +43 -20
  10. package/dist/config.d.ts +2 -2
  11. package/dist/config.js +43 -21
  12. package/dist/coverage.d.ts +4 -4
  13. package/dist/coverage.js +125 -37
  14. package/dist/environments.d.ts +1 -1
  15. package/dist/environments.js +1 -1
  16. package/dist/execute.d.ts +2 -2
  17. package/dist/execute.js +2 -2
  18. package/dist/index.d.ts +20 -30
  19. package/dist/index.js +9 -9
  20. package/dist/node.d.ts +22 -9
  21. package/dist/node.js +25 -15
  22. package/dist/path.js +4 -1
  23. package/dist/{reporters-MGvT5U9f.d.ts → reporters-fiIq_dT9.d.ts} +310 -148
  24. package/dist/reporters.d.ts +1 -1
  25. package/dist/reporters.js +8 -8
  26. package/dist/runners.d.ts +4 -2
  27. package/dist/runners.js +103 -57
  28. package/dist/{suite-8WAe-urM.d.ts → suite-D4aoU9rI.d.ts} +1 -1
  29. package/dist/suite.d.ts +2 -2
  30. package/dist/suite.js +2 -2
  31. package/dist/utils.d.ts +1 -5
  32. package/dist/utils.js +1 -6
  33. package/dist/vendor/{base.VFkIJ66g.js → base.C2DbLEfT.js} +4 -3
  34. package/dist/vendor/{base._gnK9Slw.js → base.CTYV4Gnz.js} +24 -17
  35. package/dist/vendor/{benchmark.BNLebNi5.js → benchmark.CMp8QfyL.js} +13 -14
  36. package/dist/vendor/{cac.DzKZaJu2.js → cac.BcJW7n2j.js} +127 -51
  37. package/dist/vendor/{cli-api.DTeni0Qq.js → cli-api.C8t8m4__.js} +2771 -1711
  38. package/dist/vendor/{constants.5SOfHUj0.js → constants.BWsVtsAj.js} +6 -22
  39. package/dist/vendor/{coverage.ChSqD-qS.js → coverage.BhYSDdTT.js} +27 -11
  40. package/dist/vendor/{date.BKM1wewY.js → date.W2xKR2qe.js} +5 -3
  41. package/dist/vendor/{execute.CLLNVNnK.js → execute.T3gg2ZK6.js} +177 -63
  42. package/dist/vendor/{index.BfoZyXD1.js → index.-dbR4KUi.js} +17 -9
  43. package/dist/vendor/{index.CRxYS9H3.js → index.BC5zhX9y.js} +1201 -491
  44. package/dist/vendor/{index.DP-km6lF.js → index.BMmMjLIQ.js} +64 -51
  45. package/dist/vendor/{index._7XLd8Kd.js → index.C9Thslzw.js} +2 -1
  46. package/dist/vendor/{index.CmILuxzC.js → index.CQJ2m700.js} +3 -3
  47. package/dist/vendor/{index.DeR1hhfY.js → index.D4nqnQWz.js} +71 -74
  48. package/dist/vendor/{rpc.DRDE9Pu1.js → rpc.BGx7q_k2.js} +30 -19
  49. package/dist/vendor/{run-once.DLomgGUH.js → run-once.Db8Hgq9X.js} +2 -1
  50. package/dist/vendor/{setup-common.XeoZAW8t.js → setup-common.uqZOEWuR.js} +30 -15
  51. package/dist/vendor/spy.Cf_4R5Oe.js +22 -0
  52. package/dist/vendor/{tasks.WC7M-K-v.js → tasks.DhVtQBtW.js} +3 -1
  53. package/dist/vendor/{utils.D5gGkwyH.js → utils.DSO2UK15.js} +41 -26
  54. package/dist/vendor/{utils.CUjzkRH7.js → utils.DkxLWvS1.js} +12 -5
  55. package/dist/vendor/{vi.ClD3hi7L.js → vi.BPjl8cAZ.js} +350 -166
  56. package/dist/vendor/{vm.Bi3bljci.js → vm.CycSoHnJ.js} +151 -86
  57. package/dist/worker.js +31 -15
  58. package/dist/workers/forks.js +4 -4
  59. package/dist/workers/runVmTests.js +14 -13
  60. package/dist/workers/threads.js +4 -4
  61. package/dist/workers/vmForks.js +6 -6
  62. package/dist/workers/vmThreads.js +6 -6
  63. package/dist/workers.d.ts +2 -2
  64. package/dist/workers.js +9 -9
  65. package/package.json +22 -22
  66. package/suppress-warnings.cjs +2 -4
@@ -1,10 +1,10 @@
1
1
  import * as vite from 'vite';
2
2
  import { ViteDevServer, TransformResult as TransformResult$1, UserConfig as UserConfig$1, ConfigEnv, ServerOptions, DepOptimizationConfig, AliasOptions } from 'vite';
3
3
  import * as _vitest_runner from '@vitest/runner';
4
- import { File, Test as Test$1, Suite, TaskResultPack, Task, CancelReason, Custom, SequenceHooks, SequenceSetupFiles } from '@vitest/runner';
4
+ import { File, Test as Test$1, Suite, TaskResultPack, CancelReason, Task, TaskMeta, Custom, SequenceHooks, SequenceSetupFiles } from '@vitest/runner';
5
5
  import { RawSourceMap, FetchResult, ViteNodeResolveId, ModuleCacheMap, ViteNodeServerOptions } from 'vite-node';
6
6
  import { SnapshotSummary, SnapshotResult, SnapshotStateOptions, SnapshotState } from '@vitest/snapshot';
7
- import { ExpectStatic } from '@vitest/expect';
7
+ import { PromisifyAssertion, Tester, ExpectStatic } from '@vitest/expect';
8
8
  import { ChainableFunction } from '@vitest/runner/utils';
9
9
  import { ParsedStack, Awaitable as Awaitable$1, Arrayable as Arrayable$1 } from '@vitest/utils';
10
10
  import { TaskResult, Bench, Options as Options$1 } from 'tinybench';
@@ -616,6 +616,7 @@ interface ErrorOptions {
616
616
  type?: string;
617
617
  fullStack?: boolean;
618
618
  project?: WorkspaceProject;
619
+ verbose?: boolean;
619
620
  }
620
621
  declare class Logger {
621
622
  ctx: Vitest;
@@ -647,11 +648,21 @@ interface BrowserProviderInitializationOptions {
647
648
  }
648
649
  interface BrowserProvider {
649
650
  name: string;
651
+ /**
652
+ * @experimental opt-in into file parallelisation
653
+ */
654
+ supportsParallelism: boolean;
650
655
  getSupportedBrowsers: () => readonly string[];
651
- openPage: (url: string) => Awaitable$1<void>;
656
+ beforeCommand?: (command: string, args: unknown[]) => Awaitable$1<void>;
657
+ afterCommand?: (command: string, args: unknown[]) => Awaitable$1<void>;
658
+ getCommandsContext: (contextId: string) => Record<string, unknown>;
659
+ openPage: (contextId: string, url: string) => Promise<void>;
652
660
  close: () => Awaitable$1<void>;
653
661
  initialize(ctx: WorkspaceProject, options: BrowserProviderInitializationOptions): Awaitable$1<void>;
654
662
  }
663
+ interface BrowserProviderModule {
664
+ new (): BrowserProvider;
665
+ }
655
666
  interface BrowserProviderOptions {
656
667
  }
657
668
  interface BrowserConfigOptions {
@@ -668,9 +679,9 @@ interface BrowserConfigOptions {
668
679
  /**
669
680
  * Browser provider
670
681
  *
671
- * @default 'webdriverio'
682
+ * @default 'preview'
672
683
  */
673
- provider?: 'webdriverio' | 'playwright' | 'none' | (string & {});
684
+ provider?: 'webdriverio' | 'playwright' | 'preview' | (string & {});
674
685
  /**
675
686
  * Options that are passed down to a browser provider.
676
687
  * To support type hinting, add one of the types to your tsconfig.json "compilerOptions.types" field:
@@ -694,14 +705,6 @@ interface BrowserConfigOptions {
694
705
  * The default port is 63315.
695
706
  */
696
707
  api?: ApiConfig | number;
697
- /**
698
- * Update ESM imports so they can be spied/stubbed with vi.spyOn.
699
- * Enabled by default when running in browser.
700
- *
701
- * @default false
702
- * @experimental
703
- */
704
- slowHijackESM?: boolean;
705
708
  /**
706
709
  * Isolate test environment after each test
707
710
  *
@@ -709,11 +712,40 @@ interface BrowserConfigOptions {
709
712
  */
710
713
  isolate?: boolean;
711
714
  /**
712
- * Run test files in parallel. Fallbacks to `test.fileParallelism`.
715
+ * Run test files in parallel if provider supports this option
716
+ * This option only has effect in headless mode (enabled in CI by default)
713
717
  *
714
- * @default test.fileParallelism
718
+ * @default // Same as "test.fileParallelism"
715
719
  */
716
720
  fileParallelism?: boolean;
721
+ /**
722
+ * Show Vitest UI
723
+ *
724
+ * @default !process.env.CI
725
+ */
726
+ ui?: boolean;
727
+ /**
728
+ * Default viewport size
729
+ */
730
+ viewport?: {
731
+ /**
732
+ * Width of the viewport
733
+ * @default 414
734
+ */
735
+ width: number;
736
+ /**
737
+ * Height of the viewport
738
+ * @default 896
739
+ */
740
+ height: number;
741
+ };
742
+ /**
743
+ * Directory where screenshots will be saved when page.screenshot() is called
744
+ * If not set, all screenshots are saved to __screenshots__ directory in the same folder as the test file.
745
+ * If this is set, it will be resolved relative to the project root.
746
+ * @default __screenshots__
747
+ */
748
+ screenshotDirectory?: string;
717
749
  /**
718
750
  * Scripts injected into the tester iframe.
719
751
  */
@@ -721,7 +753,43 @@ interface BrowserConfigOptions {
721
753
  /**
722
754
  * Scripts injected into the main window.
723
755
  */
724
- indexScripts?: BrowserScript[];
756
+ orchestratorScripts?: BrowserScript[];
757
+ /**
758
+ * Commands that will be executed on the server
759
+ * via the browser `import("@vitest/browser/context").commands` API.
760
+ * @see {@link https://vitest.dev/guide/browser#commands}
761
+ */
762
+ commands?: Record<string, BrowserCommand<any>>;
763
+ }
764
+ interface BrowserCommandContext {
765
+ testPath: string | undefined;
766
+ provider: BrowserProvider;
767
+ project: WorkspaceProject;
768
+ contextId: string;
769
+ }
770
+ interface BrowserServerStateContext {
771
+ files: string[];
772
+ resolve: () => void;
773
+ reject: (v: unknown) => void;
774
+ }
775
+ interface BrowserOrchestrator {
776
+ createTesters: (files: string[]) => Promise<void>;
777
+ onCancel: (reason: CancelReason) => Promise<void>;
778
+ }
779
+ interface BrowserServerState {
780
+ orchestrators: Map<string, BrowserOrchestrator>;
781
+ getContext: (contextId: string) => BrowserServerStateContext | undefined;
782
+ createAsyncContext: (contextId: string, files: string[]) => Promise<void>;
783
+ }
784
+ interface BrowserServer {
785
+ vite: ViteDevServer;
786
+ state: BrowserServerState;
787
+ provider: BrowserProvider;
788
+ close: () => Promise<void>;
789
+ initBrowserProvider: () => Promise<void>;
790
+ }
791
+ interface BrowserCommand<Payload extends unknown[]> {
792
+ (context: BrowserCommandContext, ...payload: Payload): Awaitable$1<any>;
725
793
  }
726
794
  interface BrowserScript {
727
795
  /**
@@ -755,7 +823,13 @@ interface ResolvedBrowserOptions extends BrowserConfigOptions {
755
823
  enabled: boolean;
756
824
  headless: boolean;
757
825
  isolate: boolean;
826
+ fileParallelism: boolean;
758
827
  api: ApiConfig;
828
+ ui: boolean;
829
+ viewport: {
830
+ width: number;
831
+ height: number;
832
+ };
759
833
  }
760
834
 
761
835
  interface InitializeProjectOptions extends UserWorkspaceConfig {
@@ -771,15 +845,9 @@ declare class WorkspaceProject {
771
845
  server: ViteDevServer;
772
846
  vitenode: ViteNodeServer;
773
847
  runner: ViteNodeRunner;
774
- browser?: ViteDevServer;
848
+ browser?: BrowserServer;
775
849
  typechecker?: Typechecker;
776
850
  closingPromise: Promise<unknown> | undefined;
777
- browserProvider: BrowserProvider | undefined;
778
- browserState: {
779
- files: string[];
780
- resolve: () => void;
781
- reject: (v: unknown) => void;
782
- } | undefined;
783
851
  testFilesList: string[] | null;
784
852
  readonly id: string;
785
853
  readonly tmpDir: string;
@@ -823,6 +891,7 @@ interface ProcessPool {
823
891
  runTests: RunWithFiles;
824
892
  close?: () => Awaitable$1<void>;
825
893
  }
894
+ declare function getFilePoolName(project: WorkspaceProject, file: string): Pool;
826
895
 
827
896
  type Awaitable<T> = T | PromiseLike<T>;
828
897
  type Nullable<T> = T | null | undefined;
@@ -856,6 +925,8 @@ interface Environment {
856
925
  }
857
926
  interface UserConsoleLog {
858
927
  content: string;
928
+ origin?: string;
929
+ browser?: boolean;
859
930
  type: 'stdout' | 'stderr';
860
931
  taskId?: string;
861
932
  time: number;
@@ -890,7 +961,8 @@ declare class StateManager {
890
961
  collectFiles(files?: File[]): void;
891
962
  clearFiles(_project: {
892
963
  config: {
893
- name: string;
964
+ name: string | undefined;
965
+ root: string;
894
966
  };
895
967
  }, paths?: string[]): void;
896
968
  updateId(task: Task): void;
@@ -986,13 +1058,16 @@ declare class Vitest {
986
1058
  private _onSetServer;
987
1059
  private _onCancelListeners;
988
1060
  setServer(options: UserConfig, server: ViteDevServer, cliOptions: UserConfig): Promise<void>;
1061
+ provide<T extends keyof ProvidedContext>(key: T, value: ProvidedContext[T]): void;
989
1062
  private createCoreProject;
990
1063
  getCoreWorkspaceProject(): WorkspaceProject;
991
1064
  getProjectByTaskId(taskId: string): WorkspaceProject;
1065
+ getProjectByName(name?: string): WorkspaceProject;
992
1066
  private getWorkspaceConfigPath;
993
1067
  private resolveWorkspace;
994
1068
  private initCoverageProvider;
995
1069
  private initBrowserProviders;
1070
+ mergeReports(): Promise<void>;
996
1071
  start(filters?: string[]): Promise<void>;
997
1072
  init(): Promise<void>;
998
1073
  private getTestDependencies;
@@ -1000,7 +1075,7 @@ declare class Vitest {
1000
1075
  getProjectsByTestFile(file: string): WorkspaceSpec[];
1001
1076
  initializeGlobalSetup(paths: WorkspaceSpec[]): Promise<void>;
1002
1077
  private initializeDistPath;
1003
- runFiles(paths: WorkspaceSpec[], allTestsRun: boolean): Promise<void>;
1078
+ runFiles(specs: WorkspaceSpec[], allTestsRun: boolean): Promise<void>;
1004
1079
  cancelCurrentRun(reason: CancelReason): Promise<void>;
1005
1080
  rerunFiles(files?: string[], trigger?: string): Promise<void>;
1006
1081
  changeProjectName(pattern: string): Promise<void>;
@@ -1049,91 +1124,6 @@ interface TestSequencerConstructor {
1049
1124
  new (ctx: Vitest): TestSequencer;
1050
1125
  }
1051
1126
 
1052
- declare abstract class BaseReporter implements Reporter {
1053
- start: number;
1054
- end: number;
1055
- watchFilters?: string[];
1056
- isTTY: boolean;
1057
- ctx: Vitest;
1058
- private _filesInWatchMode;
1059
- private _lastRunTimeout;
1060
- private _lastRunTimer;
1061
- private _lastRunCount;
1062
- private _timeStart;
1063
- private _offUnhandledRejection?;
1064
- constructor();
1065
- get mode(): VitestRunMode;
1066
- onInit(ctx: Vitest): void;
1067
- relative(path: string): string;
1068
- onFinished(files?: File[], errors?: unknown[]): void;
1069
- onTaskUpdate(packs: TaskResultPack[]): void;
1070
- onWatcherStart(files?: File[], errors?: unknown[]): void;
1071
- private resetLastRunLog;
1072
- onWatcherRerun(files: string[], trigger?: string): void;
1073
- onUserConsoleLog(log: UserConsoleLog): void;
1074
- shouldLog(log: UserConsoleLog): boolean;
1075
- onServerRestart(reason?: string): void;
1076
- reportSummary(files: File[], errors: unknown[]): void;
1077
- reportTestSummary(files: File[], errors: unknown[]): void;
1078
- private printErrorsSummary;
1079
- reportBenchmarkSummary(files: File[]): void;
1080
- private printTaskErrors;
1081
- registerUnhandledRejection(): void;
1082
- }
1083
-
1084
- declare class BasicReporter extends BaseReporter {
1085
- isTTY: boolean;
1086
- reportSummary(files: File[], errors: unknown[]): void;
1087
- }
1088
-
1089
- interface ListRendererOptions {
1090
- renderSucceed?: boolean;
1091
- logger: Logger;
1092
- showHeap: boolean;
1093
- slowTestThreshold: number;
1094
- mode: VitestRunMode;
1095
- }
1096
- declare function createListRenderer(_tasks: Task[], options: ListRendererOptions): {
1097
- start(): any;
1098
- update(_tasks: Task[]): any;
1099
- stop(): any;
1100
- clear(): void;
1101
- };
1102
-
1103
- declare class DefaultReporter extends BaseReporter {
1104
- renderer?: ReturnType<typeof createListRenderer>;
1105
- rendererOptions: ListRendererOptions;
1106
- private renderSucceedDefault?;
1107
- onPathsCollected(paths?: string[]): void;
1108
- onTestRemoved(trigger?: string): Promise<void>;
1109
- onCollected(): void;
1110
- onFinished(files?: _vitest_runner.File[], errors?: unknown[]): void;
1111
- onWatcherStart(files?: _vitest_runner.File[], errors?: unknown[]): Promise<void>;
1112
- stopListRender(): void;
1113
- onWatcherRerun(files: string[], trigger?: string): Promise<void>;
1114
- onUserConsoleLog(log: UserConsoleLog): void;
1115
- }
1116
-
1117
- interface DotRendererOptions {
1118
- logger: Logger;
1119
- }
1120
- declare function createDotRenderer(_tasks: Task[], options: DotRendererOptions): {
1121
- start(): any;
1122
- update(_tasks: Task[]): any;
1123
- stop(): Promise<any>;
1124
- clear(): void;
1125
- };
1126
-
1127
- declare class DotReporter extends BaseReporter {
1128
- renderer?: ReturnType<typeof createDotRenderer>;
1129
- onCollected(): void;
1130
- onFinished(files?: _vitest_runner.File[], errors?: unknown[]): Promise<void>;
1131
- onWatcherStart(): Promise<void>;
1132
- stopListRender(): Promise<void>;
1133
- onWatcherRerun(files: string[], trigger?: string): Promise<void>;
1134
- onUserConsoleLog(log: UserConsoleLog): void;
1135
- }
1136
-
1137
1127
  type Status = 'passed' | 'failed' | 'skipped' | 'pending' | 'todo' | 'disabled';
1138
1128
  type Milliseconds = number;
1139
1129
  interface Callsite {
@@ -1145,6 +1135,7 @@ interface JsonAssertionResult {
1145
1135
  fullName: string;
1146
1136
  status: Status;
1147
1137
  title: string;
1138
+ meta: TaskMeta;
1148
1139
  duration?: Milliseconds | null;
1149
1140
  failureMessages: Array<string> | null;
1150
1141
  location?: Callsite | null;
@@ -1191,16 +1182,12 @@ declare class JsonReporter implements Reporter {
1191
1182
  writeReport(report: string): Promise<void>;
1192
1183
  }
1193
1184
 
1194
- declare class VerboseReporter extends DefaultReporter {
1195
- constructor();
1196
- onTaskUpdate(packs: TaskResultPack[]): void;
1197
- }
1198
-
1199
1185
  interface Reporter {
1200
1186
  onInit?: (ctx: Vitest) => void;
1201
1187
  onPathsCollected?: (paths?: string[]) => Awaitable<void>;
1188
+ onSpecsCollected?: (specs?: SerializableSpec[]) => Awaitable<void>;
1202
1189
  onCollected?: (files?: File[]) => Awaitable<void>;
1203
- onFinished?: (files?: File[], errors?: unknown[]) => Awaitable<void>;
1190
+ onFinished?: (files?: File[], errors?: unknown[], coverage?: unknown) => Awaitable<void>;
1204
1191
  onTaskUpdate?: (packs: TaskResultPack[]) => Awaitable<void>;
1205
1192
  onTestRemoved?: (trigger?: string) => Awaitable<void>;
1206
1193
  onWatcherStart?: (files?: File[], errors?: unknown[]) => Awaitable<void>;
@@ -1210,15 +1197,13 @@ interface Reporter {
1210
1197
  onProcessTimeout?: () => Awaitable<void>;
1211
1198
  }
1212
1199
 
1213
- declare class TapReporter implements Reporter {
1214
- protected ctx: Vitest;
1215
- private logger;
1216
- onInit(ctx: Vitest): void;
1217
- static getComment(task: Task): string;
1218
- private logErrorDetails;
1219
- protected logTasks(tasks: Task[]): void;
1220
- onFinished(files?: _vitest_runner.File[]): void;
1221
- }
1200
+ type SerializableSpec = [
1201
+ project: {
1202
+ name: string | undefined;
1203
+ root: string;
1204
+ },
1205
+ file: string
1206
+ ];
1222
1207
 
1223
1208
  interface JUnitOptions {
1224
1209
  outputFile?: string;
@@ -1251,6 +1236,115 @@ declare class JUnitReporter implements Reporter {
1251
1236
  onFinished(files?: _vitest_runner.File[]): Promise<void>;
1252
1237
  }
1253
1238
 
1239
+ interface HTMLOptions {
1240
+ outputFile?: string;
1241
+ }
1242
+
1243
+ interface BaseOptions {
1244
+ isTTY?: boolean;
1245
+ }
1246
+ declare abstract class BaseReporter implements Reporter {
1247
+ start: number;
1248
+ end: number;
1249
+ watchFilters?: string[];
1250
+ isTTY: boolean;
1251
+ ctx: Vitest;
1252
+ protected verbose: boolean;
1253
+ private _filesInWatchMode;
1254
+ private _lastRunTimeout;
1255
+ private _lastRunTimer;
1256
+ private _lastRunCount;
1257
+ private _timeStart;
1258
+ private _offUnhandledRejection?;
1259
+ constructor(options?: BaseOptions);
1260
+ get mode(): VitestRunMode;
1261
+ onInit(ctx: Vitest): void;
1262
+ relative(path: string): string;
1263
+ onFinished(files?: File[], errors?: unknown[]): void;
1264
+ onTaskUpdate(packs: TaskResultPack[]): void;
1265
+ onWatcherStart(files?: File[], errors?: unknown[]): void;
1266
+ private resetLastRunLog;
1267
+ onWatcherRerun(files: string[], trigger?: string): void;
1268
+ onUserConsoleLog(log: UserConsoleLog): void;
1269
+ shouldLog(log: UserConsoleLog): boolean;
1270
+ onServerRestart(reason?: string): void;
1271
+ reportSummary(files: File[], errors: unknown[]): void;
1272
+ reportTestSummary(files: File[], errors: unknown[]): void;
1273
+ private printErrorsSummary;
1274
+ reportBenchmarkSummary(files: File[]): void;
1275
+ private printTaskErrors;
1276
+ registerUnhandledRejection(): void;
1277
+ }
1278
+
1279
+ declare class BasicReporter extends BaseReporter {
1280
+ isTTY: boolean;
1281
+ reportSummary(files: File[], errors: unknown[]): void;
1282
+ }
1283
+
1284
+ interface ListRendererOptions {
1285
+ renderSucceed?: boolean;
1286
+ logger: Logger;
1287
+ showHeap: boolean;
1288
+ slowTestThreshold: number;
1289
+ mode: VitestRunMode;
1290
+ }
1291
+ declare function createListRenderer(_tasks: Task[], options: ListRendererOptions): {
1292
+ start(): any;
1293
+ update(_tasks: Task[]): any;
1294
+ stop(): any;
1295
+ clear(): void;
1296
+ };
1297
+
1298
+ declare class DefaultReporter extends BaseReporter {
1299
+ renderer?: ReturnType<typeof createListRenderer>;
1300
+ rendererOptions: ListRendererOptions;
1301
+ private renderSucceedDefault?;
1302
+ onPathsCollected(paths?: string[]): void;
1303
+ onTestRemoved(trigger?: string): Promise<void>;
1304
+ onCollected(): void;
1305
+ onFinished(files?: _vitest_runner.File[], errors?: unknown[]): void;
1306
+ onWatcherStart(files?: _vitest_runner.File[], errors?: unknown[]): Promise<void>;
1307
+ stopListRender(): void;
1308
+ onWatcherRerun(files: string[], trigger?: string): Promise<void>;
1309
+ onUserConsoleLog(log: UserConsoleLog): void;
1310
+ }
1311
+
1312
+ interface DotRendererOptions {
1313
+ logger: Logger;
1314
+ }
1315
+ declare function createDotRenderer(_tasks: Task[], options: DotRendererOptions): {
1316
+ start(): any;
1317
+ update(_tasks: Task[]): any;
1318
+ stop(): Promise<any>;
1319
+ clear(): void;
1320
+ };
1321
+
1322
+ declare class DotReporter extends BaseReporter {
1323
+ renderer?: ReturnType<typeof createDotRenderer>;
1324
+ onCollected(): void;
1325
+ onFinished(files?: _vitest_runner.File[], errors?: unknown[]): Promise<void>;
1326
+ onWatcherStart(): Promise<void>;
1327
+ stopListRender(): Promise<void>;
1328
+ onWatcherRerun(files: string[], trigger?: string): Promise<void>;
1329
+ onUserConsoleLog(log: UserConsoleLog): void;
1330
+ }
1331
+
1332
+ declare class VerboseReporter extends DefaultReporter {
1333
+ protected verbose: boolean;
1334
+ constructor();
1335
+ onTaskUpdate(packs: TaskResultPack[]): void;
1336
+ }
1337
+
1338
+ declare class TapReporter implements Reporter {
1339
+ protected ctx: Vitest;
1340
+ private logger;
1341
+ onInit(ctx: Vitest): void;
1342
+ static getComment(task: Task): string;
1343
+ private logErrorDetails;
1344
+ protected logTasks(tasks: Task[]): void;
1345
+ onFinished(files?: _vitest_runner.File[]): void;
1346
+ }
1347
+
1254
1348
  declare class TapFlatReporter extends TapReporter {
1255
1349
  onInit(ctx: Vitest): void;
1256
1350
  onFinished(files?: _vitest_runner.File[]): void;
@@ -1268,6 +1362,17 @@ declare class GithubActionsReporter implements Reporter {
1268
1362
  onFinished(files?: File[], errors?: unknown[]): void;
1269
1363
  }
1270
1364
 
1365
+ interface BlobOptions {
1366
+ outputFile?: string;
1367
+ }
1368
+ declare class BlobReporter implements Reporter {
1369
+ ctx: Vitest;
1370
+ options: BlobOptions;
1371
+ constructor(options: BlobOptions);
1372
+ onInit(ctx: Vitest): void;
1373
+ onFinished(files: File[] | undefined, errors: unknown[] | undefined, coverage: unknown): Promise<void>;
1374
+ }
1375
+
1271
1376
  interface TableRendererOptions {
1272
1377
  renderSucceed?: boolean;
1273
1378
  logger: Logger;
@@ -1300,6 +1405,7 @@ interface FlatBenchmarkReport {
1300
1405
  type FormattedBenchmarkResult = Omit<BenchmarkResult, 'samples'> & {
1301
1406
  id: string;
1302
1407
  sampleCount: number;
1408
+ median: number;
1303
1409
  };
1304
1410
 
1305
1411
  declare const BenchmarkReportsMap: {
@@ -1311,6 +1417,7 @@ type BenchmarkBuiltinReporters = keyof typeof BenchmarkReportsMap;
1311
1417
  declare const ReportersMap: {
1312
1418
  default: typeof DefaultReporter;
1313
1419
  basic: typeof BasicReporter;
1420
+ blob: typeof BlobReporter;
1314
1421
  verbose: typeof VerboseReporter;
1315
1422
  dot: typeof DotReporter;
1316
1423
  json: typeof JsonReporter;
@@ -1322,18 +1429,17 @@ declare const ReportersMap: {
1322
1429
  };
1323
1430
  type BuiltinReporters = keyof typeof ReportersMap;
1324
1431
  interface BuiltinReporterOptions {
1325
- 'default': never;
1326
- 'basic': never;
1432
+ 'default': BaseOptions;
1433
+ 'basic': BaseOptions;
1327
1434
  'verbose': never;
1328
- 'dot': never;
1435
+ 'dot': BaseOptions;
1329
1436
  'json': JsonOptions$1;
1437
+ 'blob': BlobOptions;
1330
1438
  'tap': never;
1331
1439
  'tap-flat': never;
1332
1440
  'junit': JUnitOptions;
1333
1441
  'hanging-process': never;
1334
- 'html': {
1335
- outputFile?: string;
1336
- };
1442
+ 'html': HTMLOptions;
1337
1443
  }
1338
1444
 
1339
1445
  type ChaiConfig = Omit<Partial<typeof chai.config>, 'useProxy' | 'proxyExcludedKeys'>;
@@ -1563,13 +1669,24 @@ interface WorkerGlobalState {
1563
1669
  }
1564
1670
 
1565
1671
  type TransformResult = string | Partial<TransformResult$1> | undefined | null | void;
1672
+ type CoverageResults = unknown;
1566
1673
  interface CoverageProvider {
1567
1674
  name: string;
1675
+ /** Called when provider is being initialized before tests run */
1568
1676
  initialize: (ctx: Vitest) => Promise<void> | void;
1677
+ /** Called when setting coverage options for Vitest context (`ctx.config.coverage`) */
1569
1678
  resolveOptions: () => ResolvedCoverageOptions;
1679
+ /** Callback to clean previous reports */
1570
1680
  clean: (clean?: boolean) => void | Promise<void>;
1681
+ /** Called with coverage results after a single test file has been run */
1571
1682
  onAfterSuiteRun: (meta: AfterSuiteRunMeta) => void | Promise<void>;
1572
- reportCoverage: (reportContext?: ReportContext) => void | Promise<void>;
1683
+ /** Callback to generate final coverage results */
1684
+ generateCoverage: (reportContext: ReportContext) => CoverageResults | Promise<CoverageResults>;
1685
+ /** Callback to convert coverage results to coverage reports. Called with results returned from `generateCoverage` */
1686
+ reportCoverage: (coverage: CoverageResults, reportContext: ReportContext) => void | Promise<void>;
1687
+ /** Callback for `--merge-reports` options. Called with multiple coverage results generated by `generateCoverage`. */
1688
+ mergeReports?: (coverages: CoverageResults[]) => void | Promise<void>;
1689
+ /** Callback called for instrumenting files with coverage counters. */
1573
1690
  onFileTransform?: (sourceCode: string, id: string, pluginCtx: any) => TransformResult | Promise<TransformResult>;
1574
1691
  }
1575
1692
  interface ReportContext {
@@ -1597,20 +1714,20 @@ interface CoverageProviderModule {
1597
1714
  type CoverageReporter = keyof ReportOptions | (string & {});
1598
1715
  type CoverageReporterWithOptions<ReporterName extends CoverageReporter = CoverageReporter> = ReporterName extends keyof ReportOptions ? ReportOptions[ReporterName] extends never ? [ReporterName, {}] : [ReporterName, Partial<ReportOptions[ReporterName]>] : [ReporterName, Record<string, unknown>];
1599
1716
  type Provider = 'v8' | 'istanbul' | 'custom' | undefined;
1600
- type CoverageOptions<T extends Provider = Provider> = T extends 'istanbul' ? ({
1717
+ type CoverageOptions<T extends Provider = Provider> = T extends 'istanbul' ? {
1601
1718
  provider: T;
1602
- } & CoverageIstanbulOptions) : T extends 'v8' ? ({
1719
+ } & CoverageIstanbulOptions : T extends 'v8' ? {
1603
1720
  /**
1604
1721
  * Provider to use for coverage collection.
1605
1722
  *
1606
1723
  * @default 'v8'
1607
1724
  */
1608
1725
  provider: T;
1609
- } & CoverageV8Options) : T extends 'custom' ? ({
1726
+ } & CoverageV8Options : T extends 'custom' ? {
1610
1727
  provider: T;
1611
- } & CustomProviderOptions) : ({
1728
+ } & CustomProviderOptions : {
1612
1729
  provider?: T;
1613
- } & (CoverageV8Options));
1730
+ } & CoverageV8Options;
1614
1731
  /** Fields that have default values. Internally these will always be defined. */
1615
1732
  type FieldsWithDefaultValues = 'enabled' | 'clean' | 'cleanOnRerun' | 'reportsDirectory' | 'exclude' | 'extension' | 'reportOnFailure' | 'allowExternal' | 'processingConcurrency';
1616
1733
  type ResolvedCoverageOptions<T extends Provider = Provider> = CoverageOptions<T> & Required<Pick<CoverageOptions<T>, FieldsWithDefaultValues>> & {
@@ -1930,6 +2047,9 @@ type BenchmarkAPI = ChainableBenchmarkAPI & {
1930
2047
  runIf: (condition: any) => ChainableBenchmarkAPI;
1931
2048
  };
1932
2049
 
2050
+ declare const defaultBrowserPort = 63315;
2051
+ declare const extraInlineDeps: (string | RegExp)[];
2052
+
1933
2053
  declare const defaultInclude: string[];
1934
2054
  declare const defaultExclude: string[];
1935
2055
  declare const coverageConfigDefaults: ResolvedCoverageOptions;
@@ -1939,14 +2059,12 @@ declare const configDefaults: Readonly<{
1939
2059
  watch: boolean;
1940
2060
  globals: false;
1941
2061
  environment: "node";
1942
- pool: "threads";
2062
+ pool: "forks";
1943
2063
  clearMocks: false;
1944
2064
  restoreMocks: false;
1945
2065
  mockReset: false;
1946
2066
  include: string[];
1947
2067
  exclude: string[];
1948
- testTimeout: number;
1949
- hookTimeout: number;
1950
2068
  teardownTimeout: number;
1951
2069
  forceRerunTriggers: string[];
1952
2070
  update: false;
@@ -1977,8 +2095,6 @@ declare const configDefaults: Readonly<{
1977
2095
  disableConsoleIntercept: false;
1978
2096
  }>;
1979
2097
 
1980
- declare const extraInlineDeps: (string | RegExp)[];
1981
-
1982
2098
  interface UserWorkspaceConfig extends UserConfig$1 {
1983
2099
  test?: ProjectConfig;
1984
2100
  }
@@ -1994,9 +2110,9 @@ declare function defineConfig(config: Promise<UserConfig$1>): Promise<UserConfig
1994
2110
  declare function defineConfig(config: UserConfigFnObject): UserConfigFnObject;
1995
2111
  declare function defineConfig(config: UserConfigExport): UserConfigExport;
1996
2112
  declare function defineProject<T extends UserProjectConfigExport>(config: T): T;
1997
- type Workspace = (string | (UserProjectConfigExport & {
2113
+ type Workspace = string | (UserProjectConfigExport & {
1998
2114
  extends?: string;
1999
- }));
2115
+ });
2000
2116
  declare function defineWorkspace(config: Workspace[]): Workspace[];
2001
2117
 
2002
2118
  type BuiltinEnvironment = 'node' | 'jsdom' | 'happy-dom' | 'edge-runtime';
@@ -2467,7 +2583,7 @@ interface InlineConfig {
2467
2583
  */
2468
2584
  resolveSnapshotPath?: (path: string, extension: string) => string;
2469
2585
  /**
2470
- * Path to a custom snapshot environment module that has a defualt export of `SnapshotEnvironment` object.
2586
+ * Path to a custom snapshot environment module that has a default export of `SnapshotEnvironment` object.
2471
2587
  */
2472
2588
  snapshotEnvironment?: string;
2473
2589
  /**
@@ -2487,7 +2603,7 @@ interface InlineConfig {
2487
2603
  /**
2488
2604
  * Custom environment variables assigned to `process.env` before running tests.
2489
2605
  */
2490
- env?: Record<string, string>;
2606
+ env?: Partial<NodeJS.ProcessEnv>;
2491
2607
  /**
2492
2608
  * Options for @sinon/fake-timers
2493
2609
  */
@@ -2599,6 +2715,30 @@ interface InlineConfig {
2599
2715
  */
2600
2716
  waitForDebugger?: boolean;
2601
2717
  };
2718
+ /**
2719
+ * Configuration options for expect() matches.
2720
+ */
2721
+ expect?: {
2722
+ /**
2723
+ * Throw an error if tests don't have any expect() assertions.
2724
+ */
2725
+ requireAssertions?: boolean;
2726
+ /**
2727
+ * Default options for expect.poll()
2728
+ */
2729
+ poll?: {
2730
+ /**
2731
+ * Timeout in milliseconds
2732
+ * @default 1000
2733
+ */
2734
+ timeout?: number;
2735
+ /**
2736
+ * Polling interval in milliseconds
2737
+ * @default 50
2738
+ */
2739
+ interval?: number;
2740
+ };
2741
+ };
2602
2742
  /**
2603
2743
  * Modify default Chai config. Vitest uses Chai for `expect` and `assert` matches.
2604
2744
  * https://github.com/chaijs/chai/blob/4.x.x/lib/chai/config.js
@@ -2628,6 +2768,12 @@ interface InlineConfig {
2628
2768
  * @default false
2629
2769
  */
2630
2770
  disableConsoleIntercept?: boolean;
2771
+ /**
2772
+ * Always print console stack traces.
2773
+ *
2774
+ * @default false
2775
+ */
2776
+ printConsoleTrace?: boolean;
2631
2777
  /**
2632
2778
  * Include "location" property inside the test definition
2633
2779
  *
@@ -2739,6 +2885,11 @@ interface UserConfig extends InlineConfig {
2739
2885
  * benchmark.outputJson option exposed at the top level for cli
2740
2886
  */
2741
2887
  outputJson?: string;
2888
+ /**
2889
+ * Directory of blob reports to merge
2890
+ * @default '.vitest-reports'
2891
+ */
2892
+ mergeReports?: string;
2742
2893
  }
2743
2894
  interface ResolvedConfig extends Omit<Required<UserConfig>, 'config' | 'filters' | 'browser' | 'coverage' | 'testNamePattern' | 'related' | 'api' | 'reporters' | 'resolveSnapshotPath' | 'benchmark' | 'shard' | 'cache' | 'sequence' | 'typecheck' | 'runner' | 'poolOptions' | 'pool' | 'cliExclude'> {
2744
2895
  mode: VitestRunMode;
@@ -2789,7 +2940,7 @@ type ProjectConfig = Omit<UserConfig, 'sequencer' | 'shard' | 'watch' | 'run' |
2789
2940
  forks?: Pick<NonNullable<PoolOptions['forks']>, 'singleFork' | 'isolate'>;
2790
2941
  };
2791
2942
  };
2792
- type RuntimeConfig = Pick<UserConfig, 'allowOnly' | 'testTimeout' | 'hookTimeout' | 'clearMocks' | 'mockReset' | 'restoreMocks' | 'fakeTimers' | 'maxConcurrency'> & {
2943
+ type RuntimeConfig = Pick<UserConfig, 'allowOnly' | 'testTimeout' | 'hookTimeout' | 'clearMocks' | 'mockReset' | 'restoreMocks' | 'fakeTimers' | 'maxConcurrency' | 'expect' | 'printConsoleTrace'> & {
2793
2944
  sequence?: {
2794
2945
  concurrent?: boolean;
2795
2946
  hooks?: SequenceHooks;
@@ -2833,7 +2984,18 @@ declare module '@vitest/expect' {
2833
2984
  environment: VitestEnvironment;
2834
2985
  snapshotState: SnapshotState;
2835
2986
  }
2987
+ interface ExpectPollOptions {
2988
+ interval?: number;
2989
+ timeout?: number;
2990
+ message?: string;
2991
+ }
2836
2992
  interface ExpectStatic {
2993
+ unreachable: (message?: string) => never;
2994
+ soft: <T>(actual: T, message?: string) => Assertion<T>;
2995
+ poll: <T>(actual: () => T, options?: ExpectPollOptions) => PromisifyAssertion<Awaited<T>>;
2996
+ addEqualityTesters: (testers: Array<Tester>) => void;
2997
+ assertions: (expected: number) => void;
2998
+ hasAssertions: () => void;
2837
2999
  addSnapshotSerializer: (plugin: Plugin_2) => void;
2838
3000
  }
2839
3001
  interface Assertion<T> {
@@ -2891,4 +3053,4 @@ type Context = RootAndTarget & {
2891
3053
  lastActivePath?: string;
2892
3054
  };
2893
3055
 
2894
- export { type ProjectConfig as $, type AfterSuiteRunMeta as A, type BaseCoverageOptions as B, type CoverageOptions as C, type RootAndTarget as D, type Environment as E, type FakeTimerInstallOpts as F, type Context as G, type Pool as H, type PoolOptions as I, type JSDOMOptions as J, type HappyDOMOptions as K, type BuiltinEnvironment as L, type MockFactoryWithHelper as M, type VitestEnvironment as N, type CSSModuleScopeStrategy as O, type ProvidedContext as P, type ApiConfig as Q, type ResolvedConfig as R, type EnvironmentOptions as S, type TestSequencer as T, type UserConfig as U, type VitestRunMode as V, type WorkerGlobalState as W, type DepsOptimizationOptions as X, type TransformModePatterns as Y, type InlineConfig as Z, type TypecheckConfig as _, type ResolvedCoverageOptions as a, type BrowserConfigOptions as a0, type UserWorkspaceConfig as a1, type RunnerRPC as a2, type ContextTestEnvironment as a3, type ResolvedTestEnvironment as a4, type ResolveIdFunction as a5, type WorkerRPC as a6, type Awaitable as a7, type Nullable as a8, type Arrayable as a9, defineConfig as aA, defineProject as aB, defineWorkspace as aC, configDefaults as aD, defaultInclude as aE, defaultExclude as aF, coverageConfigDefaults as aG, extraInlineDeps as aH, DefaultReporter as aI, BasicReporter as aJ, DotReporter as aK, JsonReporter as aL, VerboseReporter as aM, TapReporter as aN, JUnitReporter as aO, TapFlatReporter as aP, HangingProcessReporter as aQ, GithubActionsReporter as aR, BaseReporter as aS, ReportersMap as aT, type BuiltinReporters as aU, type BuiltinReporterOptions as aV, type JsonAssertionResult as aW, type JsonTestResult as aX, type JsonTestResults as aY, BenchmarkReportsMap as aZ, type BenchmarkBuiltinReporters as a_, type ArgumentsType$1 as aa, type MutableArray as ab, type Constructable as ac, type ModuleCache as ad, type EnvironmentReturn as ae, type VmEnvironmentReturn as af, type OnServerRestartHandler as ag, type ReportContext as ah, type CoverageReporter as ai, type CoverageIstanbulOptions as aj, type CoverageV8Options as ak, type CustomProviderOptions as al, type BenchmarkUserOptions as am, type Benchmark as an, type BenchmarkResult as ao, type BenchFunction as ap, type BenchmarkAPI as aq, type PendingSuiteMock as ar, type MockFactory as as, type MockMap as at, type UserConfigFnObject as au, type UserConfigFnPromise as av, type UserConfigFn as aw, type UserConfigExport as ax, type UserProjectConfigFn as ay, type UserProjectConfigExport as az, type CoverageProvider as b, type CoverageProviderModule as c, type BirpcOptions as d, type RuntimeRPC as e, type ContextRPC as f, type WorkerContext as g, type VitestOptions as h, Vitest as i, WorkspaceProject as j, type WorkspaceSpec as k, type ProcessPool as l, VitestPackageInstaller as m, type TestSequencerConstructor as n, type BrowserProviderInitializationOptions as o, type BrowserProvider as p, type BrowserProviderOptions as q, type BrowserScript as r, type RuntimeConfig as s, type UserConsoleLog as t, type ModuleGraphData as u, type Reporter as v, type RawErrsMap as w, type TscErrorInfo as x, type CollectLineNumbers as y, type CollectLines as z };
3056
+ export { type Nullable as $, type ApiConfig as A, type BaseCoverageOptions as B, type CoverageOptions as C, type DepsOptimizationOptions as D, type Environment as E, type FakeTimerInstallOpts as F, type BrowserConfigOptions as G, type HappyDOMOptions as H, type InlineConfig as I, type JSDOMOptions as J, type UserWorkspaceConfig as K, type RunnerRPC as L, type MockFactoryWithHelper as M, type ContextTestEnvironment as N, type ResolvedTestEnvironment as O, type ProvidedContext as P, Vitest as Q, type ResolvedConfig as R, type SerializableSpec as S, type TscErrorInfo as T, type UserConfig as U, type VitestEnvironment as V, type WorkerGlobalState as W, type ResolveIdFunction as X, type AfterSuiteRunMeta as Y, type WorkerRPC as Z, type Awaitable as _, type ResolvedCoverageOptions as a, JsonReporter as a$, type Arrayable as a0, type ArgumentsType$1 as a1, type MutableArray as a2, type Constructable as a3, type ModuleCache as a4, type EnvironmentReturn as a5, type VmEnvironmentReturn as a6, type UserConsoleLog as a7, type OnServerRestartHandler as a8, type ReportContext as a9, type BrowserServerState as aA, type BrowserServerStateContext as aB, type BrowserOrchestrator as aC, type JsonOptions$1 as aD, type JUnitOptions as aE, type HTMLOptions as aF, type PendingSuiteMock as aG, type MockFactory as aH, type MockMap as aI, type UserConfigFnObject as aJ, type UserConfigFnPromise as aK, type UserConfigFn as aL, type UserConfigExport as aM, type UserProjectConfigFn as aN, type UserProjectConfigExport as aO, defineConfig as aP, defineProject as aQ, defineWorkspace as aR, defaultBrowserPort as aS, configDefaults as aT, defaultInclude as aU, defaultExclude as aV, coverageConfigDefaults as aW, extraInlineDeps as aX, DefaultReporter as aY, BasicReporter as aZ, DotReporter as a_, type CoverageReporter as aa, type CoverageIstanbulOptions as ab, type CoverageV8Options as ac, type CustomProviderOptions as ad, type BenchmarkUserOptions as ae, type Benchmark as af, type BenchmarkResult as ag, type BenchFunction as ah, type BenchmarkAPI as ai, type VitestOptions as aj, WorkspaceProject as ak, Logger as al, type TestSequencer as am, type WorkspaceSpec as an, type ProcessPool as ao, getFilePoolName as ap, VitestPackageInstaller as aq, type TestSequencerConstructor as ar, type BrowserProviderInitializationOptions as as, type BrowserProvider as at, type BrowserProviderModule as au, type ResolvedBrowserOptions as av, type BrowserProviderOptions as aw, type BrowserCommand as ax, type BrowserCommandContext as ay, type BrowserServer as az, type CoverageProvider as b, VerboseReporter as b0, TapReporter as b1, JUnitReporter as b2, TapFlatReporter as b3, HangingProcessReporter as b4, GithubActionsReporter as b5, BaseReporter as b6, ReportersMap as b7, type BuiltinReporters as b8, type BuiltinReporterOptions as b9, type JsonAssertionResult as ba, type JsonTestResult as bb, type JsonTestResults as bc, BenchmarkReportsMap as bd, type BenchmarkBuiltinReporters as be, type CoverageProviderModule as c, type BirpcOptions as d, type RuntimeRPC as e, type ContextRPC as f, type WorkerContext as g, type RuntimeConfig as h, type ModuleGraphData as i, type Reporter as j, type BirpcReturn as k, type RawErrsMap as l, type CollectLineNumbers as m, type CollectLines as n, type RootAndTarget as o, type Context as p, type Pool as q, type PoolOptions as r, type BuiltinEnvironment as s, type CSSModuleScopeStrategy as t, type EnvironmentOptions as u, type VitestRunMode as v, type TransformModePatterns as w, type TypecheckConfig as x, type ProjectConfig as y, type BrowserScript as z };