vitest 5.0.5 → 5.1.0-beta.1

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 (52) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/browser.d.ts +4 -4
  3. package/dist/browser.js +3 -3
  4. package/dist/chunks/{base.CzXt2BO_.js → base.PJyN9N0u.js} +12 -11
  5. package/dist/chunks/{browser.d.FGQ9_rK6.d.ts → browser.d.D7a15z82.d.ts} +4 -3
  6. package/dist/chunks/{cac.CLrZKo1g.js → cac.Ccf5Je_F.js} +21 -9
  7. package/dist/chunks/{cli-api.De07GUeT.js → cli-api.DE22LIzq.js} +3091 -2891
  8. package/dist/chunks/{config.d.QBNYCgFU.d.ts → config.d.BgktgHfG.d.ts} +134 -93
  9. package/dist/chunks/{console.DtI4yxfN.js → console.DrMPSuFo.js} +5 -2
  10. package/dist/chunks/{constants.-juJ8b_4.js → constants.DLYM6cZY.js} +1 -1
  11. package/dist/chunks/{creator.C5g4egeG.js → creator.BQ3onxbh.js} +5 -5
  12. package/dist/chunks/{doctor.BK86Cncq.js → doctor.CPlMs7-y.js} +1 -1
  13. package/dist/chunks/{environment.d.BY56MoGs.d.ts → environment.d.CbTLsZSj.d.ts} +1 -1
  14. package/dist/chunks/{globals.CXEE6_2C.js → globals.TipXUFcZ.js} +5 -5
  15. package/dist/chunks/{index.CoUIxZd4.js → index.B03wg4V0.js} +3 -3
  16. package/dist/chunks/{index.CK-t0WMg.js → index.BFXLpwll.js} +114 -37
  17. package/dist/chunks/{index.aTZaPVhf.js → index.BXttT2gP.js} +37 -18
  18. package/dist/chunks/{index.1TqnEahn.js → index.D14IAvnE.js} +43 -17
  19. package/dist/chunks/{init-forks.CRxIPOJR.js → init-forks.BL1E3__4.js} +1 -1
  20. package/dist/chunks/{init-threads.Dv3kwST_.js → init-threads.CYXAGzKQ.js} +1 -1
  21. package/dist/chunks/{init.PvxYpuCm.js → init.DVorxUyL.js} +3 -3
  22. package/dist/chunks/{nativeModuleMocker.BxrHJNAF.js → nativeModuleMocker.3uBcOd84.js} +2 -1
  23. package/dist/chunks/{plugin.d.C8mmycim.d.ts → plugin.d.olEn8IL9.d.ts} +108 -20
  24. package/dist/chunks/{rpc.DpkUyY1N.js → rpc.BV0XpJ5q.js} +1 -1
  25. package/dist/chunks/{rpc.d.Cft1biqy.d.ts → rpc.d.DGFP7vWr.d.ts} +1 -1
  26. package/dist/chunks/{run.BPv-BBRv.js → run.BfrMbGVD.js} +22 -4
  27. package/dist/chunks/{setup-common.HGAqWOnX.js → setup-common.llxJkJaD.js} +2 -2
  28. package/dist/chunks/{source-map.DdKI5IHB.js → source-map.BjWcsIL9.js} +32 -24
  29. package/dist/chunks/{source-map.d.kzFtk_dj.d.ts → source-map.d.C5A_Tr6V.d.ts} +2 -1
  30. package/dist/chunks/{task-utils.d.PFh2BV6Q.d.ts → task-utils.d.BUh7ylUT.d.ts} +2 -1
  31. package/dist/chunks/{vm.FGl2rw_t.js → vm.Cwj01UFE.js} +16 -5
  32. package/dist/chunks/{worker.d.BH-r1bPu.d.ts → worker.d.gsA26mmR.d.ts} +3 -3
  33. package/dist/cli.js +2 -2
  34. package/dist/config.cjs +1 -1
  35. package/dist/config.d.ts +11 -11
  36. package/dist/config.js +1 -1
  37. package/dist/index.d.ts +14 -13
  38. package/dist/index.js +4 -4
  39. package/dist/module-evaluator.d.ts +3 -2
  40. package/dist/node.d.ts +29 -11
  41. package/dist/node.js +7 -7
  42. package/dist/runtime.d.ts +4 -4
  43. package/dist/runtime.js +3 -2
  44. package/dist/task-utils.js +3 -1
  45. package/dist/worker.d.ts +4 -4
  46. package/dist/worker.js +9 -9
  47. package/dist/workers/forks.js +10 -10
  48. package/dist/workers/runVmTests.js +9 -8
  49. package/dist/workers/threads.js +10 -10
  50. package/dist/workers/vmForks.js +9 -8
  51. package/dist/workers/vmThreads.js +9 -8
  52. package/package.json +14 -14
@@ -1,13 +1,13 @@
1
1
  import { DevEnvironment, IndexHtmlTransformContext, IndexHtmlTransformResult, ViteDevServer, UserConfig as UserConfig$1, Plugin, ResolvedConfig as ResolvedConfig$1, TransformResult as TransformResult$1, InlineConfig as InlineConfig$1, DepOptimizationConfig, ServerOptions, ConfigEnv, AliasOptions } from 'vite';
2
- import { aU as TaskMeta, U as UserConsoleLog, O as Suite, a as File, bi as SerializableRetry, T as TestError, g as TestAnnotation, h as TestArtifact, b0 as TestBenchmark, aJ as SerializedError, a0 as ImportDuration, m as Test, A as Awaitable, Y as CancelReason, P as ParsedStack, bj as BrowserTraceViewMode, a5 as BaselineData, o as ProvidedContext, b as SerializedConfig, bk as Arrayable, a2 as AfterSuiteRunMeta, aO as SnapshotStateOptions, aP as SnapshotSummary, aM as SnapshotResult, X as Task, bl as AsyncLeak, j as TaskResultPack, F as FileSpecification, l as SerializedRootConfig, L as LabelColor, c as SerializedDiffOptions, bg as SequenceSetupFiles, bf as SequenceHooks, bm as PrettyFormatOptions, C as Config, e as TestTagDefinition } from './config.d.QBNYCgFU.js';
2
+ import { aW as TaskMeta, U as UserConsoleLog, Q as Suite, a as File, bk as SerializableRetry, T as TestError, h as TestAnnotation, j as TestArtifact, b2 as TestBenchmark, aL as SerializedError, a1 as ImportDuration, n as Test, A as Awaitable, Z as CancelReason, P as ParsedStack, bl as BrowserTraceViewMode, a6 as BaselineData, p as ProvidedContext, b as SerializedConfig, bm as Arrayable, a3 as AfterSuiteRunMeta, aQ as SnapshotStateOptions, aR as SnapshotSummary, aO as SnapshotResult, Y as Task, bn as AsyncLeak, k as TaskResultPack, F as FileSpecification, m as SerializedRootConfig, L as LabelColor, c as SerializedDiffOptions, bi as SequenceSetupFiles, bh as SequenceHooks, bo as PrettyFormatOptions, e as FakeTimersConfig, g as TestTagDefinition } from './config.d.BgktgHfG.js';
3
3
  import { Writable } from 'node:stream';
4
- import { S as SerializedTestSpecification, B as BrowserTesterOptions, c as SourceModuleDiagnostic } from './browser.d.FGQ9_rK6.js';
4
+ import { S as SerializedTestSpecification, B as BrowserTesterOptions, c as SourceModuleDiagnostic } from './browser.d.D7a15z82.js';
5
5
  import * as chai from 'chai';
6
6
  import { happyDomTypes, jsdomTypes } from 'vitest/optional-types.js';
7
- import { a as ContextTestEnvironment, b as WorkerExecuteContext, c as WorkerTestEnvironment } from './worker.d.BH-r1bPu.js';
8
- import { O as OTELCarrier } from './rpc.d.Cft1biqy.js';
7
+ import { a as ContextTestEnvironment, b as WorkerExecuteContext, c as WorkerTestEnvironment } from './worker.d.gsA26mmR.js';
8
+ import { O as OTELCarrier } from './rpc.d.DGFP7vWr.js';
9
9
  import { MockedModule } from '@vitest/mocker';
10
- import { S as StackTraceParserOptions, a as RuntimeCoverageProviderModule } from './source-map.d.kzFtk_dj.js';
10
+ import { S as StackTraceParserOptions, a as RuntimeCoverageProviderModule } from './source-map.d.C5A_Tr6V.js';
11
11
  import { CDPSession, BrowserCommands, MarkOptions } from 'vitest/browser';
12
12
  import path from 'node:path';
13
13
  import { Console } from 'node:console';
@@ -132,6 +132,10 @@ declare class TestCase extends ReportedTaskImplementation {
132
132
  */
133
133
  result(): TestResult;
134
134
  /**
135
+ * Individual results for every retry and repeat attempt.
136
+ */
137
+ attempts(): ReadonlyArray<TestAttempt>;
138
+ /**
135
139
  * Test annotations added via the `task.annotate` API during the test execution.
136
140
  */
137
141
  annotations(): ReadonlyArray<TestAnnotation>;
@@ -305,9 +309,27 @@ interface TaskOptions {
305
309
  readonly timeout: number | undefined;
306
310
  readonly mode: "run" | "only" | "skip" | "todo";
307
311
  }
308
- type TestSuiteState = "skipped" | "pending" | "failed" | "passed";
312
+ type TestAttemptState = "skipped" | "failed" | "passed";
313
+ type TestSuiteState = TestAttemptState | "pending";
309
314
  type TestModuleState = TestSuiteState | "queued";
310
315
  type TestState = TestResult["state"];
316
+ /**
317
+ * The result of an individual test attempt.
318
+ */
319
+ interface TestAttempt {
320
+ /** The state after applying the test's expected failure option. */
321
+ readonly state: TestAttemptState;
322
+ /** Errors produced by this attempt. */
323
+ readonly errors: ReadonlyArray<TestError> | undefined;
324
+ /** How long in milliseconds the attempt took to run. */
325
+ readonly duration: number;
326
+ /** Time in milliseconds when the attempt started running. */
327
+ readonly startTime: number;
328
+ /** The zero-based retry index within the repeat. */
329
+ readonly retryIndex: number;
330
+ /** The zero-based repeat index. */
331
+ readonly repeatIndex: number;
332
+ }
311
333
  type TestResult = TestResultPassed | TestResultFailed | TestResultSkipped | TestResultPending;
312
334
  interface TestResultPending {
313
335
  /**
@@ -448,6 +470,7 @@ declare function experimental_getRunnerTask(entity: TestCase | TestSuite | TestM
448
470
  interface TestSpecificationOptions {
449
471
  testNamePattern?: RegExp;
450
472
  testIds?: string[];
473
+ testNames?: string[];
451
474
  testLines?: number[];
452
475
  testTagsFilter?: string[];
453
476
  }
@@ -481,6 +504,10 @@ declare class TestSpecification {
481
504
  */
482
505
  testIds: string[] | undefined;
483
506
  /**
507
+ * The full names of the tests inside of this specification to run, including the parent suites separated with `>`.
508
+ */
509
+ testNames: string[] | undefined;
510
+ /**
484
511
  * The tags of tests to run.
485
512
  */
486
513
  testTagsFilter: string[] | undefined;
@@ -549,7 +576,6 @@ interface BrowserTraceViewOptions {
549
576
  * This option controls Vitest's own trace-view pipeline, independently from provider-specific trace retention.
550
577
  *
551
578
  * @default false
552
- * @experimental
553
579
  */
554
580
  enabled?: boolean;
555
581
  /**
@@ -559,7 +585,6 @@ interface BrowserTraceViewOptions {
559
585
  * In the trace viewer, this enables a weaker replay iframe sandbox because rrweb needs scripts to redraw canvas data.
560
586
  *
561
587
  * @default false
562
- * @experimental
563
588
  */
564
589
  recordCanvas?: boolean;
565
590
  /**
@@ -569,9 +594,17 @@ interface BrowserTraceViewOptions {
569
594
  * but can increase trace artifact size and does not preserve original image resource bytes.
570
595
  *
571
596
  * @default false
572
- * @experimental
573
597
  */
574
598
  inlineImages?: boolean;
599
+ /**
600
+ * Capture the accessibility tree alongside each trace view snapshot.
601
+ *
602
+ * The trace viewer can switch from the DOM snapshot to an "Aria" view.
603
+ *
604
+ * @default true
605
+ * @experimental
606
+ */
607
+ ariaSnapshot?: boolean;
575
608
  }
576
609
  type UnsupportedProperties = "browser" | "typecheck" | "alias" | "sequence" | "root" | "pool" | "runner" | "api" | "deps" | "environment" | "environmentOptions" | "server" | "benchmark" | "name";
577
610
  interface BrowserInstanceOption extends Omit<ProjectConfig, UnsupportedProperties>, Pick<BrowserConfigOptions, "headless" | "locators" | "viewport" | "testerHtmlPath" | "screenshotDirectory" | "screenshotFailures"> {
@@ -695,7 +728,6 @@ interface BrowserConfigOptions {
695
728
  * This option controls Vitest's own trace-view pipeline, independently from provider-specific trace retention.
696
729
  *
697
730
  * @default false
698
- * @experimental
699
731
  */
700
732
  traceView?: boolean | BrowserTraceViewOptions;
701
733
  /**
@@ -770,6 +802,19 @@ interface BrowserConfigOptions {
770
802
  * @default true
771
803
  */
772
804
  trackUnhandledErrors?: boolean;
805
+ /**
806
+ * Serve module mocks through an import map in the tester document instead of
807
+ * intercepting network requests.
808
+ *
809
+ * By default, Vitest checks once per browser whether it accepts an import map
810
+ * after a module has loaded (Chromium 133+, Safari 18.4+, Firefox 150+ with
811
+ * `dom.multiple_import_maps.enabled`, which the Playwright provider sets) and
812
+ * falls back to request interception otherwise. `true` fails in a browser that
813
+ * cannot, `false` always intercepts.
814
+ *
815
+ * @experimental
816
+ */
817
+ importMapMocks?: boolean;
773
818
  }
774
819
  interface BrowserCommandContext {
775
820
  testPath: string | undefined;
@@ -856,7 +901,7 @@ interface ProjectBrowser {
856
901
  close: () => Promise<void>;
857
902
  initBrowserProvider: (project: TestProject) => Promise<void>;
858
903
  closeBrowserProvider: (options?: BrowserProviderCloseOptions) => Promise<void>;
859
- parseStacktrace: (stack: string) => ParsedStack[];
904
+ parseStacktrace: (stack: string, options?: StackTraceParserOptions) => ParsedStack[];
860
905
  parseErrorStacktrace: (error: TestError, options?: StackTraceParserOptions) => ParsedStack[];
861
906
  registerCommand: <K extends keyof BrowserCommands>(name: K, cb: BrowserCommand<Parameters<BrowserCommands[K]>, ReturnType<BrowserCommands[K]>>) => void;
862
907
  triggerCommand: <K extends keyof BrowserCommands>(name: K, context: BrowserCommandContext, ...args: Parameters<BrowserCommands[K]>) => ReturnType<BrowserCommands[K]>;
@@ -1766,7 +1811,7 @@ interface CoverageProvider {
1766
1811
  /** Called with coverage results after a single test file has been run */
1767
1812
  onAfterSuiteRun: (meta: AfterSuiteRunMeta) => void | Promise<void>;
1768
1813
  /** Callback called when test run starts */
1769
- onTestRunStart?: () => void | Promise<void>;
1814
+ onTestRunStart?: (specifications: ReadonlyArray<TestSpecification>) => void | Promise<void>;
1770
1815
  /** Callback called when test run fails due to test failures */
1771
1816
  onTestFailure?: () => void | Promise<void>;
1772
1817
  /** Callback to generate final coverage results */
@@ -2054,9 +2099,31 @@ interface TestRunResult {
2054
2099
  unhandledErrors: unknown[];
2055
2100
  }
2056
2101
 
2102
+ interface ModuleDependency {
2103
+ /**
2104
+ * Absolute path of the file.
2105
+ */
2106
+ file: string;
2107
+ /**
2108
+ * Start time of the oldest run that recorded the file, in milliseconds since the epoch.
2109
+ * A change after this time was not seen by every test file that depends on the file.
2110
+ * It is not set when the dependency comes from the static module graph.
2111
+ */
2112
+ recordedAt?: number;
2113
+ }
2114
+ interface ModulesResolver {
2115
+ /**
2116
+ * Every file whose change can affect the test files of the run.
2117
+ */
2118
+ getDependencies(): Promise<ModuleDependency[]>;
2119
+ }
2057
2120
  interface VCSProviderOptions {
2058
2121
  root: string;
2059
2122
  changedSince?: string | boolean;
2123
+ /**
2124
+ * Resolves the dependencies of the test files of the run.
2125
+ */
2126
+ resolver: ModulesResolver;
2060
2127
  }
2061
2128
  interface VCSProvider {
2062
2129
  findChangedFiles(options: VCSProviderOptions): Promise<string[]>;
@@ -2075,7 +2142,8 @@ declare class SnapshotManager {
2075
2142
 
2076
2143
  interface CachedTestFileResult {
2077
2144
  /**
2078
- * The file has a known failure. Only a complete run of the file clears it.
2145
+ * The file has a known failure.
2146
+ * A complete run of the file clears it, or a run in which every known failed test passes.
2079
2147
  */
2080
2148
  failed: boolean;
2081
2149
  /**
@@ -2088,6 +2156,11 @@ interface CachedTestFileResult {
2088
2156
  * It is not set if the file never ran completely.
2089
2157
  */
2090
2158
  lastRun?: number;
2159
+ /**
2160
+ * Full names of the tests that failed in the last run of the file. `--last-failed` runs only these tests.
2161
+ * It is not set if the failure happened outside of tests, for example in a hook or during collection.
2162
+ */
2163
+ failedTests?: string[];
2091
2164
  }
2092
2165
 
2093
2166
  declare class VitestCache {
@@ -2645,6 +2718,10 @@ interface CliOptions extends UserConfig {
2645
2718
  */
2646
2719
  run?: boolean;
2647
2720
  /**
2721
+ * Run only the tests that failed in the last run
2722
+ */
2723
+ lastFailed?: boolean;
2724
+ /**
2648
2725
  * Removes colors from the console output
2649
2726
  */
2650
2727
  color?: boolean;
@@ -2675,6 +2752,12 @@ interface CliOptions extends UserConfig {
2675
2752
  configLoader?: InlineConfig$1 extends {
2676
2753
  configLoader?: infer T;
2677
2754
  } ? T : never;
2755
+ /**
2756
+ * Run only the tests whose recorded dependencies were modified since the last run of the test,
2757
+ * and the tests that failed in their last run. Requires `cache`.
2758
+ * @experimental
2759
+ */
2760
+ sinceLastRun?: boolean;
2678
2761
  }
2679
2762
  /**
2680
2763
  * Start Vitest programmatically
@@ -2833,6 +2916,7 @@ declare abstract class BaseReporter implements Reporter {
2833
2916
  onServerRestart(reason?: string): void;
2834
2917
  reportSummary(files: File[], errors: unknown[]): void;
2835
2918
  private printSourceFilterSummary;
2919
+ private printLastFailedSummary;
2836
2920
  reportTestSummary(files: File[], errors: unknown[], leakCount: number): void;
2837
2921
  /**
2838
2922
  * Surfaces the cost of re-creating a DOM environment for every test file:
@@ -3885,7 +3969,7 @@ interface InlineConfig {
3885
3969
  /**
3886
3970
  * Options for @sinon/fake-timers
3887
3971
  */
3888
- fakeTimers?: Config;
3972
+ fakeTimers?: FakeTimersConfig;
3889
3973
  /**
3890
3974
  * Custom handler for console.log in tests.
3891
3975
  *
@@ -4204,13 +4288,17 @@ interface InlineConfig {
4204
4288
  */
4205
4289
  nodeLoader?: boolean;
4206
4290
  /**
4207
- * Custom provider for detecting changed files. Used with the `--changed` flag
4291
+ * Provider for detecting changed files. Used with the `--changed` flag
4208
4292
  * to determine which files have been modified.
4209
4293
  *
4210
- * By default, Vitest uses Git to detect changed files. You can provide a custom
4211
- * implementation of the `VCSProvider` interface to use a different version control system.
4294
+ * - `'git'` (default) compares the working tree with the `--changed` reference.
4295
+ * - `'mtime'` compares the modification time of every recorded dependency with the run
4296
+ * that recorded it. It requires `experimental.recordDependencies`. The test files that
4297
+ * failed in their last run also run.
4298
+ *
4299
+ * You can also provide a custom implementation of the `VCSProvider` interface.
4212
4300
  */
4213
- vcsProvider?: VCSProvider | string;
4301
+ vcsProvider?: "git" | "mtime" | VCSProvider | (string & {});
4214
4302
  /**
4215
4303
  * Record the modules that every test file loads in the cache and use the records
4216
4304
  * with `--changed` and `--related` instead of walking the module graph statically.
@@ -4576,5 +4664,5 @@ interface VitestPluginContext {
4576
4664
  experimental_defineCacheKeyGenerator: (callback: CacheKeyIdGenerator) => void;
4577
4665
  }
4578
4666
 
4579
- export { Logger as L, MinimalReporter as M, PluginHarness as P, DefaultReporter as a8, TapFlatReporter as aG, TapReporter as aH, TestCase as aJ, TestCollection as aK, TestModule as aM, TestSuite as aY, DotReporter as aa, GithubActionsReporter as ac, HangingProcessReporter as ae, JUnitReporter as ah, JsonReporter as ak, ReportersMap as az, VerboseReporter as b2, VitestPackageInstaller as b4, experimental_getRunnerTask as b7, startVitest as b8, Vitest as f, CoverageMap as h, TestProject as j, TestSpecification as m, BaseReporter as r };
4580
- export type { CacheKeyIdGeneratorContext as $, ApiConfig as A, BaseCoverageOptions as B, CoverageOptions as C, BrowserProvider as D, BrowserProviderCloseOptions as E, FieldsWithDefaultValues as F, BrowserProviderOption as G, BrowserScript as H, InlineConfig as I, BrowserServerContribution as J, BrowserServerFactory as K, BrowserServerState as N, BrowserServerStateSession as O, BrowserTraceViewOptions as Q, ResolvedConfig as R, BuiltinEnvironment as S, TestProjectConfiguration as T, UserWorkspaceConfig as U, VitestPluginContext as V, WatcherTriggerPattern as W, BuiltinReporterOptions as X, BuiltinReporters as Y, CSSModuleScopeStrategy as Z, CacheKeyIdGenerator as _, UserProjectConfigFn as a, ToMatchScreenshotOptions as a$, CachedTestFileResult as a0, CoverageInstrumenter as a1, CoverageIstanbulOptions as a2, CoverageProvider as a3, CoverageProviderModule as a4, CoverageReporter as a5, CoverageV8Options as a6, CustomProviderOptions as a7, DepsOptimizationOptions as a9, ResolveSnapshotPathHandler as aA, ResolveSnapshotPathHandlerContext as aB, ResolvedBrowserOptions as aC, ResolvedProjectConfig as aD, SerializedTestProject as aE, SuiteNameTemplateVariables as aF, TaskOptions as aI, TestDiagnostic as aL, TestModuleState as aN, TestResult as aO, TestResultFailed as aP, TestResultPassed as aQ, TestResultPending as aR, TestResultSkipped as aS, TestRunEndReason as aT, TestRunResult as aU, TestSequencerConstructor as aV, TestSpecificationOptions as aW, TestState as aX, TestSuiteState as aZ, ToMatchScreenshotComparators as a_, EnvironmentOptions as ab, HTMLOptions as ad, InstrumenterOptions as af, JUnitOptions as ag, JsonAssertionResult as ai, JsonOptions as aj, JsonTestResult as al, JsonTestResults as am, ModuleDiagnostic as an, OnServerRestartHandler as ao, OnTestsRerunHandler as ap, ParentProjectBrowser as aq, Pool as ar, PoolRunnerInitializer as as, PoolTask as at, ProjectBrowser as au, ProjectConfig as av, Report as aw, ReportedHookContext as ax, Reporter as ay, UserProjectConfigExport as b, TypecheckConfig as b0, UIOptions as b1, VitestEnvironment as b3, WorkerResponse as b5, _BrowserNames as b6, TestProjectInlineConfiguration as c, UserConfig as d, CliOptions as e, ResolvedCoverageOptions as g, ReportContext as i, VitestOptions as k, VitestRunMode as l, PoolWorker as n, PoolOptions as o, WorkerRequest as p, TestSequencer as q, BenchmarkUserOptions as s, BrowserBuiltinProvider as t, BrowserCommand as u, BrowserCommandContext as v, BrowserConfigOptions as w, BrowserInstanceOption as x, BrowserModuleMocker as y, BrowserOrchestrator as z };
4667
+ export { Logger as L, MinimalReporter as M, PluginHarness as P, ReportersMap as aD, TapFlatReporter as aK, TapReporter as aL, TestCase as aP, TestCollection as aQ, TestModule as aS, DefaultReporter as aa, DotReporter as ac, GithubActionsReporter as ae, HangingProcessReporter as ag, JUnitReporter as aj, JsonReporter as am, TestSuite as b2, VerboseReporter as b8, VitestPackageInstaller as ba, experimental_getRunnerTask as bd, startVitest as be, Vitest as f, CoverageMap as h, TestSpecification as i, TestProject as k, BaseReporter as t };
4668
+ export type { CSSModuleScopeStrategy as $, ApiConfig as A, BaseCoverageOptions as B, CoverageOptions as C, BrowserModuleMocker as D, BrowserOrchestrator as E, FieldsWithDefaultValues as F, BrowserProvider as G, BrowserProviderCloseOptions as H, InlineConfig as I, BrowserProviderOption as J, BrowserScript as K, BrowserServerContribution as N, BrowserServerFactory as O, BrowserServerState as Q, ResolvedConfig as R, BrowserServerStateSession as S, TestProjectConfiguration as T, UserWorkspaceConfig as U, VitestPluginContext as V, WatcherTriggerPattern as W, BrowserTraceViewOptions as X, BuiltinEnvironment as Y, BuiltinReporterOptions as Z, BuiltinReporters as _, UserProjectConfigFn as a, TestSequencerConstructor as a$, CacheKeyIdGenerator as a0, CacheKeyIdGeneratorContext as a1, CachedTestFileResult as a2, CoverageInstrumenter as a3, CoverageIstanbulOptions as a4, CoverageProvider as a5, CoverageProviderModule as a6, CoverageReporter as a7, CoverageV8Options as a8, CustomProviderOptions as a9, Report as aA, ReportedHookContext as aB, Reporter as aC, ResolveSnapshotPathHandler as aE, ResolveSnapshotPathHandlerContext as aF, ResolvedBrowserOptions as aG, ResolvedProjectConfig as aH, SerializedTestProject as aI, SuiteNameTemplateVariables as aJ, TaskOptions as aM, TestAttempt as aN, TestAttemptState as aO, TestDiagnostic as aR, TestModuleState as aT, TestResult as aU, TestResultFailed as aV, TestResultPassed as aW, TestResultPending as aX, TestResultSkipped as aY, TestRunEndReason as aZ, TestRunResult as a_, DepsOptimizationOptions as ab, EnvironmentOptions as ad, HTMLOptions as af, InstrumenterOptions as ah, JUnitOptions as ai, JsonAssertionResult as ak, JsonOptions as al, JsonTestResult as an, JsonTestResults as ao, ModuleDependency as ap, ModuleDiagnostic as aq, ModulesResolver as ar, OnServerRestartHandler as as, OnTestsRerunHandler as at, ParentProjectBrowser as au, Pool as av, PoolRunnerInitializer as aw, PoolTask as ax, ProjectBrowser as ay, ProjectConfig as az, UserProjectConfigExport as b, TestSpecificationOptions as b0, TestState as b1, TestSuiteState as b3, ToMatchScreenshotComparators as b4, ToMatchScreenshotOptions as b5, TypecheckConfig as b6, UIOptions as b7, VitestEnvironment as b9, WorkerResponse as bb, _BrowserNames as bc, TestProjectInlineConfiguration as c, UserConfig as d, CliOptions as e, ResolvedCoverageOptions as g, ReportContext as j, VitestOptions as l, VitestRunMode as m, VCSProvider as n, VCSProviderOptions as o, PoolWorker as p, PoolOptions as q, WorkerRequest as r, TestSequencer as s, BenchmarkUserOptions as u, BrowserBuiltinProvider as v, BrowserCommand as w, BrowserCommandContext as x, BrowserConfigOptions as y, BrowserInstanceOption as z };
@@ -1,6 +1,6 @@
1
1
  import { EvaluatedModules } from 'vite/module-runner';
2
2
  import { d as dirname, r as resolve } from './pathe.M-eThtNZ.Ba-7h1rE.js';
3
- import { a as getSafeTimers } from './source-map.DdKI5IHB.js';
3
+ import { a as getSafeTimers } from './source-map.BjWcsIL9.js';
4
4
  import { c as createBirpc } from './index.DmDMHCg8.js';
5
5
  import { g as getWorkerState } from './utils.DYj33du9.js';
6
6
 
@@ -1,4 +1,4 @@
1
- import { bt as FetchCachedFileSystemResult, bu as ResolveFunctionResult, U as UserConsoleLog, bl as AsyncLeak, a as File, a2 as AfterSuiteRunMeta, b0 as TestBenchmark, h as TestArtifact, j as TaskResultPack, k as TaskEventPack, Y as CancelReason, aM as SnapshotResult, a5 as BaselineData } from './config.d.QBNYCgFU.js';
1
+ import { bv as FetchCachedFileSystemResult, bw as ResolveFunctionResult, U as UserConsoleLog, bn as AsyncLeak, a as File, a3 as AfterSuiteRunMeta, b2 as TestBenchmark, j as TestArtifact, k as TaskResultPack, l as TaskEventPack, Z as CancelReason, aO as SnapshotResult, a6 as BaselineData } from './config.d.BgktgHfG.js';
2
2
  import { FetchFunctionOptions, FetchResult } from 'vite/module-runner';
3
3
 
4
4
  interface OTELCarrier {
@@ -2,7 +2,7 @@ import { f as format, p as plugins } from './index.D0heQG4v.js';
2
2
  import { $ } from './tinyrainbow.Do8I1XRG.js';
3
3
  import { s as stringify, f as format$1, a as formatRegExp, t as truncateString, i as inspect } from './display.BlTmubjj.js';
4
4
  import { p as deepClone, q as getOwnProperties, g as getType$1, u as isObject, v as filterOutComments, w as ordinal, e as createDefer, x as assertTypes, t as toArray, y as isNegativeNaN, z as unique, A as objectAttr } from './pathe.M-eThtNZ.Ba-7h1rE.js';
5
- import { d as diffSequences, b as serializeValue, p as parseStacktrace, a as getSafeTimers } from './source-map.DdKI5IHB.js';
5
+ import { d as diffSequences, b as serializeValue, p as parseStacktrace, a as getSafeTimers } from './source-map.BjWcsIL9.js';
6
6
  import { createTaskName, createFileTask, calculateSuiteHash, interpretTaskModes, hasFailed } from '../task-utils.js';
7
7
 
8
8
  const RealDate = Date;
@@ -3443,6 +3443,7 @@ async function collectTests(specs, runner) {
3443
3443
  const testLocations = typeof spec === "string" ? void 0 : spec.testLocations;
3444
3444
  const testNamePattern = typeof spec === "string" ? void 0 : spec.testNamePattern;
3445
3445
  const testIds = typeof spec === "string" ? void 0 : spec.testIds;
3446
+ const testNames = typeof spec === "string" ? void 0 : spec.testNames;
3446
3447
  const testTagsFilter = typeof spec === "object" && spec.testTagsFilter ? createTagsFilter(spec.testTagsFilter, config.tags) : void 0;
3447
3448
  const fileTags = typeof spec === "string" ? [] : spec.fileTags || [];
3448
3449
  const file = createFileTask(filepath, config.root, config.name, runner.pool, runner.viteEnvironment, { __vitest_label__: config.mergeReportsLabel });
@@ -3495,7 +3496,7 @@ async function collectTests(specs, runner) {
3495
3496
  file.containsTest = file.tasks.some((t) => t.type === "test" || t.type === "suite" && t.containsTest);
3496
3497
  const hasOnlyTasks = file.containsOnly;
3497
3498
  if (!testTagsFilter && !defaultTagsFilter && config.tagsFilter) defaultTagsFilter = createTagsFilter(config.tagsFilter, config.tags);
3498
- interpretTaskModes(file, testNamePattern ?? config.testNamePattern, testLocations, testIds, testTagsFilter ?? defaultTagsFilter, hasOnlyTasks, false, config.allowOnly);
3499
+ interpretTaskModes(file, testNamePattern ?? config.testNamePattern, testLocations, testIds, testNames, testTagsFilter ?? defaultTagsFilter, hasOnlyTasks, false, config.allowOnly);
3499
3500
  if (file.mode === "queued") file.mode = "run";
3500
3501
  files.push(file);
3501
3502
  });
@@ -3869,7 +3870,8 @@ async function runTest(test, runner) {
3869
3870
  test.result = {
3870
3871
  state: "run",
3871
3872
  startTime: unixNow(),
3872
- retryCount: 0
3873
+ retryCount: 0,
3874
+ attempts: []
3873
3875
  };
3874
3876
  updateTask("test-prepare", test, runner);
3875
3877
  const cleanupRunningTest = addRunningTest(test);
@@ -3883,7 +3885,20 @@ async function runTest(test, runner) {
3883
3885
  test.result.state = "run";
3884
3886
  const retry = getRetryCount(test.retry);
3885
3887
  for (let retryCount = 0; retryCount <= retry; retryCount++) {
3888
+ const attemptStart = now();
3889
+ const attemptStartTime = unixNow();
3886
3890
  const attemptErrorsStart = test.result.errors?.length ?? 0;
3891
+ const recordAttempt = (state) => {
3892
+ const errors = test.result.errors?.slice(attemptErrorsStart);
3893
+ test.result.attempts.push({
3894
+ state,
3895
+ errors: errors?.length ? errors : void 0,
3896
+ duration: now() - attemptStart,
3897
+ startTime: attemptStartTime,
3898
+ retryIndex: retryCount,
3899
+ repeatIndex: repeatCount
3900
+ });
3901
+ };
3887
3902
  const beforeEachCleanups = [];
3888
3903
  // fixtureCheckpoint is passed by callAroundEachHooks - it represents the count
3889
3904
  // of fixture cleanup functions AFTER all aroundEach fixtures have been resolved
@@ -3945,12 +3960,14 @@ async function runTest(test, runner) {
3945
3960
  }
3946
3961
  // skipped with new PendingError
3947
3962
  if (test.result?.pending || test.result?.state === "skip") {
3963
+ recordAttempt("skip");
3948
3964
  test.mode = "skip";
3949
3965
  test.result = {
3950
3966
  state: "skip",
3951
3967
  note: test.result?.note,
3952
3968
  pending: true,
3953
- duration: now() - start
3969
+ duration: now() - start,
3970
+ attempts: test.result.attempts
3954
3971
  };
3955
3972
  updateTask("test-finished", test, runner);
3956
3973
  setCurrentTest(void 0);
@@ -3970,6 +3987,7 @@ async function runTest(test, runner) {
3970
3987
  if (!test.result.errors?.length) test.result.errors = void 0;
3971
3988
  }
3972
3989
  }
3990
+ recordAttempt(test.result.state === "pass" ? "pass" : "fail");
3973
3991
  if (test.result.state === "pass") break;
3974
3992
  if (retryCount < retry) {
3975
3993
  if (!passesRetryCondition(test, test.result.errors)) break;
@@ -1,4 +1,4 @@
1
- import { s as setSafeTimers } from './source-map.DdKI5IHB.js';
1
+ import { s as setSafeTimers } from './source-map.BjWcsIL9.js';
2
2
  import { a as addSerializer } from './plugins.DPQHVT0p.js';
3
3
 
4
4
  let globalSetup = false;
@@ -7,7 +7,7 @@ async function setupCommonEnv(config) {
7
7
  if (globalSetup) return;
8
8
  globalSetup = true;
9
9
  setSafeTimers();
10
- if (config.globals) (await import('./globals.CXEE6_2C.js')).registerApiGlobally();
10
+ if (config.globals) (await import('./globals.TipXUFcZ.js')).registerApiGlobally();
11
11
  }
12
12
  function setupDefines(config) {
13
13
  for (const key in config.defines) globalThis[key] = config.defines[key];
@@ -1696,30 +1696,38 @@ function parseStacktrace(stack, options = {}) {
1696
1696
  // remove vi.defineHelper's internal stacks
1697
1697
  const helperIndex = stacks.findLastIndex((s) => s.method.includes("__VITEST_HELPER__"));
1698
1698
  if (helperIndex >= 0) stacks = stacks.slice(helperIndex + 1);
1699
- return stacks.map((stack) => {
1700
- if (options.getUrlId) stack.file = options.getUrlId(stack.file);
1701
- const map = options.getSourceMap?.(stack.file);
1702
- if (!map || typeof map !== "object" || !map.version) return shouldFilter(ignoreStackEntries, stack.file) ? null : stack;
1703
- const traceMap = new DecodedMap(map, stack.file);
1704
- if (stack.line <= 0 || stack.column <= 0) return stack;
1705
- const position = getOriginalPosition(traceMap, {
1706
- line: stack.line,
1707
- // stacktrace's column is 1-indexed, but sourcemap's one is 0-indexed
1708
- column: stack.column - 1
1709
- });
1710
- if (!position) return stack;
1711
- const { line, column, source, name } = position;
1712
- let file = source || stack.file;
1713
- if (/\/\w:\//.test(file)) file = file.slice(1);
1714
- if (shouldFilter(ignoreStackEntries, file)) return null;
1715
- if (line != null && column != null) return {
1716
- line,
1717
- column: column + 1,
1718
- file,
1719
- method: name || stack.method
1720
- };
1721
- return stack;
1722
- }).filter((s) => s != null);
1699
+ if (options.firstOnly) {
1700
+ for (const stack of stacks) {
1701
+ const mapped = mapStackFrame(stack, options, ignoreStackEntries);
1702
+ if (mapped) return [mapped];
1703
+ }
1704
+ return [];
1705
+ }
1706
+ return stacks.map((stack) => mapStackFrame(stack, options, ignoreStackEntries)).filter((s) => s != null);
1707
+ }
1708
+ function mapStackFrame(stack, options, ignoreStackEntries) {
1709
+ if (options.getUrlId) stack.file = options.getUrlId(stack.file);
1710
+ const map = options.getSourceMap?.(stack.file);
1711
+ if (!map || typeof map !== "object" || !map.version) return shouldFilter(ignoreStackEntries, stack.file) ? null : stack;
1712
+ const traceMap = new DecodedMap(map, stack.file);
1713
+ if (stack.line <= 0 || stack.column <= 0) return stack;
1714
+ const position = getOriginalPosition(traceMap, {
1715
+ line: stack.line,
1716
+ // stacktrace's column is 1-indexed, but sourcemap's one is 0-indexed
1717
+ column: stack.column - 1
1718
+ });
1719
+ if (!position) return stack;
1720
+ const { line, column, source, name } = position;
1721
+ let file = source || stack.file;
1722
+ if (/\/\w:\//.test(file)) file = file.slice(1);
1723
+ if (shouldFilter(ignoreStackEntries, file)) return null;
1724
+ if (line != null && column != null) return {
1725
+ line,
1726
+ column: column + 1,
1727
+ file,
1728
+ method: name || stack.method
1729
+ };
1730
+ return stack;
1723
1731
  }
1724
1732
  function shouldFilter(ignoreStackEntries, file) {
1725
1733
  return ignoreStackEntries.some((p) => file.match(p));
@@ -1,4 +1,4 @@
1
- import { T as TestError, P as ParsedStack } from './config.d.QBNYCgFU.js';
1
+ import { T as TestError, P as ParsedStack } from './config.d.BgktgHfG.js';
2
2
 
3
3
  interface RuntimeCoverageModuleLoader {
4
4
  import: (id: string) => Promise<{
@@ -53,6 +53,7 @@ interface StackTraceParserOptions {
53
53
  getSourceMap?: (file: string) => unknown;
54
54
  getUrlId?: (id: string) => string;
55
55
  frameFilter?: (error: TestError, frame: ParsedStack) => boolean | void;
56
+ firstOnly?: boolean;
56
57
  }
57
58
  interface SourceMapLike {
58
59
  version: number;
@@ -1,4 +1,5 @@
1
- import { bn as SnapshotState, m as Test, bo as PromisifyAssertion, bp as Tester, bq as Plugin, ad as BenchResult, a as File } from './config.d.QBNYCgFU.js';
1
+ /// <reference types="chai" />
2
+ import { bp as SnapshotState, n as Test, bq as PromisifyAssertion, br as Tester, bs as Plugin, ae as BenchResult, a as File } from './config.d.BgktgHfG.js';
2
3
 
3
4
  interface SnapshotMatcher<
4
5
  R extends void | Promise<void>,
@@ -1,18 +1,18 @@
1
1
  import { fileURLToPath, pathToFileURL } from 'node:url';
2
2
  import v8 from 'node:v8';
3
3
  import vm, { isContext, runInContext } from 'node:vm';
4
- import { l as loadEnvironment, a as listenForErrors, e as emitModuleRunner } from './init.PvxYpuCm.js';
4
+ import { l as loadEnvironment, a as listenForErrors, e as emitModuleRunner } from './init.DVorxUyL.js';
5
5
  import { distDir } from '../path.js';
6
- import { createCustomConsole } from './console.DtI4yxfN.js';
6
+ import { createCustomConsole } from './console.DrMPSuFo.js';
7
7
  import fs__default from 'node:fs';
8
8
  import { createRequire, Module, isBuiltin } from 'node:module';
9
9
  import { d as dirname, f as extname, b as basename, C as CSS_LANGS_RE, h as KNOWN_ASSET_RE, t as toArray, k as splitFileAndPostfix, n as normalize, l as isBareImport, r as resolve } from './pathe.M-eThtNZ.Ba-7h1rE.js';
10
10
  import { l as lookupPackageScopeType } from './resolver.CtCcxIy1.js';
11
11
  import { initSync, parse } from 'es-module-lexer';
12
12
  import { dirname as dirname$1 } from 'node:path';
13
- import { V as VITEST_VM_CONTEXT_SYMBOL, s as startVitestModuleRunner, c as createNodeImportMeta } from './index.CK-t0WMg.js';
13
+ import { V as VITEST_VM_CONTEXT_SYMBOL, s as startVitestModuleRunner, c as createNodeImportMeta } from './index.BFXLpwll.js';
14
14
  import { getDefaultRequestStubs } from '../module-evaluator.js';
15
- import { b as setupEnv } from './setup-common.HGAqWOnX.js';
15
+ import { b as setupEnv } from './setup-common.llxJkJaD.js';
16
16
  import { p as provideWorkerState } from './utils.DYj33du9.js';
17
17
 
18
18
  /**
@@ -457,6 +457,14 @@ class CommonjsExecutor {
457
457
  this.moduleCache.set(identifier, module);
458
458
  return module;
459
459
  }
460
+ syncBuiltinESMExports() {
461
+ Module.syncBuiltinESMExports();
462
+ for (const [identifier, module] of this.moduleCache) {
463
+ if (!isBuiltin(identifier) || module.status !== "evaluated") continue;
464
+ const exports = this.require(identifier);
465
+ for (const key of Object.keys(module.namespace)) if (key !== "default") module.setExport(key, exports[key]);
466
+ }
467
+ }
460
468
  getCjsSyntheticModule(path, identifier) {
461
469
  if (this.moduleCache.has(identifier)) return this.moduleCache.get(identifier);
462
470
  const exports = this.require(path);
@@ -984,6 +992,9 @@ class ExternalModulesExecutor {
984
992
  });
985
993
  this.resolvers = [this.vite.resolve];
986
994
  }
995
+ syncBuiltinESMExports() {
996
+ this.cjs.syncBuiltinESMExports();
997
+ }
987
998
  async import(identifier) {
988
999
  const module = await this.createModule(identifier);
989
1000
  await this.esm.evaluateModule(module);
@@ -1290,7 +1301,7 @@ async function runVmTests(method, state, traces) {
1290
1301
  await moduleRunner.mocker.initializeSpyModule();
1291
1302
  const { run } = await moduleRunner.import(entryFile);
1292
1303
  try {
1293
- await run(method, ctx.files, ctx.config, moduleRunner, traces);
1304
+ await run(method, ctx.files, ctx.config, moduleRunner, traces, () => externalModulesExecutor.syncBuiltinESMExports());
1294
1305
  } finally {
1295
1306
  await traces.$("vitest.runtime.environment.teardown", () => vm.teardown?.());
1296
1307
  // unregisters the runner from Vite's `Error.prepareStackTrace` interceptor:
@@ -1,7 +1,7 @@
1
1
  import { EvaluatedModules } from 'vite/module-runner';
2
- import { F as FileSpecification, b as SerializedConfig, X as Task, Y as CancelReason } from './config.d.QBNYCgFU.js';
3
- import { a as RuntimeRPC, R as RunnerRPC, G as GetterTracker } from './rpc.d.Cft1biqy.js';
4
- import { E as Environment } from './environment.d.BY56MoGs.js';
2
+ import { F as FileSpecification, b as SerializedConfig, Y as Task, Z as CancelReason } from './config.d.BgktgHfG.js';
3
+ import { a as RuntimeRPC, R as RunnerRPC, G as GetterTracker } from './rpc.d.DGFP7vWr.js';
4
+ import { E as Environment } from './environment.d.CbTLsZSj.js';
5
5
 
6
6
  //#region src/messages.d.ts
7
7
  declare const TYPE_REQUEST: "q";
package/dist/cli.js CHANGED
@@ -1,10 +1,10 @@
1
- import { c as createCLI } from './chunks/cac.CLrZKo1g.js';
1
+ import { c as createCLI } from './chunks/cac.Ccf5Je_F.js';
2
2
  import './chunks/pathe.M-eThtNZ.Ba-7h1rE.js';
3
3
  import 'events';
4
4
  import './chunks/tinyrainbow.Do8I1XRG.js';
5
5
  import './chunks/env.BKKtU2WC.js';
6
6
  import 'std-env';
7
- import './chunks/constants.-juJ8b_4.js';
7
+ import './chunks/constants.DLYM6cZY.js';
8
8
  import 'node:assert';
9
9
 
10
10
  createCLI().parse();
package/dist/config.cjs CHANGED
@@ -10,7 +10,7 @@ const isDeno = typeof process < "u" && typeof process.stdout < "u" && process.ve
10
10
  (isNode || isDeno) && process.stdout?.isTTY && !stdEnv.isCI;
11
11
 
12
12
  // if changed, update also jsdocs and docs
13
- const defaultBrowserPort = 63315;
13
+ const defaultBrowserPort = 23315;
14
14
 
15
15
  const defaultInclude = ["**/*.{test,spec}.?(c|m)[jt]s?(x)"];
16
16
  const defaultExclude = ["**/node_modules/**", "**/.git/**"];
package/dist/config.d.ts CHANGED
@@ -1,20 +1,20 @@
1
1
  import { HookHandler, UserConfig, ConfigEnv } from 'vite';
2
2
  export { ConfigEnv, Plugin, UserConfig as ViteUserConfig, mergeConfig } from 'vite';
3
- import { F as FieldsWithDefaultValues, U as UserWorkspaceConfig, a as UserProjectConfigFn, b as UserProjectConfigExport } from './chunks/plugin.d.C8mmycim.js';
3
+ import { F as FieldsWithDefaultValues, U as UserWorkspaceConfig, a as UserProjectConfigFn, b as UserProjectConfigExport } from './chunks/plugin.d.olEn8IL9.js';
4
4
  import { InlineConfig, ResolvedConfig, VitestPluginContext, CoverageOptions } from './node.js';
5
- export { T as TestProjectConfiguration, c as TestProjectInlineConfiguration, d as TestUserConfig, W as WatcherTriggerPattern } from './chunks/plugin.d.C8mmycim.js';
6
- import { C as Config } from './chunks/config.d.QBNYCgFU.js';
7
- export { e as TestTagDefinition } from './chunks/config.d.QBNYCgFU.js';
5
+ export { T as TestProjectConfiguration, c as TestProjectInlineConfiguration, d as TestUserConfig, W as WatcherTriggerPattern } from './chunks/plugin.d.olEn8IL9.js';
6
+ import { FakeTimersConfig } from './index.js';
7
+ export { g as TestTagDefinition } from './chunks/config.d.BgktgHfG.js';
8
8
  import 'node:stream';
9
- import './chunks/browser.d.FGQ9_rK6.js';
10
- import './chunks/rpc.d.Cft1biqy.js';
9
+ import './chunks/browser.d.D7a15z82.js';
10
+ import './chunks/rpc.d.DGFP7vWr.js';
11
11
  import 'vite/module-runner';
12
- import './chunks/worker.d.BH-r1bPu.js';
13
- import './chunks/environment.d.BY56MoGs.js';
12
+ import './chunks/worker.d.gsA26mmR.js';
13
+ import './chunks/environment.d.CbTLsZSj.js';
14
14
  import 'chai';
15
15
  import 'vitest/optional-types.js';
16
16
  import '@vitest/mocker';
17
- import './chunks/source-map.d.kzFtk_dj.js';
17
+ import './chunks/source-map.d.C5A_Tr6V.js';
18
18
  import 'vitest/browser';
19
19
  import 'node:path';
20
20
  import 'node:console';
@@ -42,7 +42,7 @@ declare module "vite" {
42
42
  }
43
43
  }
44
44
 
45
- declare const defaultBrowserPort = 63315;
45
+ declare const defaultBrowserPort = 23315;
46
46
 
47
47
  declare const defaultInclude: string[];
48
48
  declare const defaultExclude: string[];
@@ -75,7 +75,7 @@ declare const configDefaults: Readonly<{
75
75
  include: never[];
76
76
  };
77
77
  coverage: CoverageOptions;
78
- fakeTimers: Config;
78
+ fakeTimers: FakeTimersConfig;
79
79
  maxConcurrency: number;
80
80
  dangerouslyIgnoreUnhandledErrors: boolean;
81
81
  typecheck: {