@vitest/runner 4.0.13 → 4.0.15

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.
@@ -164,11 +164,12 @@ function calculateSuiteHash(parent) {
164
164
  }
165
165
  });
166
166
  }
167
- function createFileTask(filepath, root, projectName, pool) {
167
+ function createFileTask(filepath, root, projectName, pool, viteEnvironment) {
168
168
  const path = relative(root, filepath);
169
169
  const file = {
170
170
  id: generateFileHash(path, projectName),
171
171
  name: path,
172
+ fullName: path,
172
173
  type: "suite",
173
174
  mode: "queued",
174
175
  filepath,
@@ -176,7 +177,8 @@ function createFileTask(filepath, root, projectName, pool) {
176
177
  meta: Object.create(null),
177
178
  projectName,
178
179
  file: undefined,
179
- pool
180
+ pool,
181
+ viteEnvironment
180
182
  };
181
183
  file.file = file;
182
184
  return file;
@@ -328,5 +330,8 @@ function getFullName(task, separator = " > ") {
328
330
  function getTestName(task, separator = " > ") {
329
331
  return getNames(task).slice(1).join(separator);
330
332
  }
333
+ function createTaskName(names, separator = " > ") {
334
+ return names.filter((name) => name !== undefined).join(separator);
335
+ }
331
336
 
332
- export { calculateSuiteHash as a, createFileTask as b, createChainable as c, generateHash as d, getFullName as e, findTestFileStackTrace as f, generateFileHash as g, getNames as h, interpretTaskModes as i, getSuites as j, getTasks as k, limitConcurrency as l, getTestName as m, getTests as n, hasFailed as o, partitionSuiteChildren as p, hasTests as q, isTestCase as r, someTasksAreOnly as s };
337
+ export { calculateSuiteHash as a, createFileTask as b, createChainable as c, generateHash as d, createTaskName as e, findTestFileStackTrace as f, generateFileHash as g, getFullName as h, interpretTaskModes as i, getNames as j, getSuites as k, limitConcurrency as l, getTasks as m, getTestName as n, getTests as o, partitionSuiteChildren as p, hasFailed as q, hasTests as r, someTasksAreOnly as s, isTestCase as t };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { b as TestArtifact, a as Test, S as Suite, d as SuiteHooks, F as File, e as TaskUpdateEvent, T as Task, f as TestAPI, g as SuiteAPI, h as SuiteCollector } from './tasks.d-r9p5YKu0.js';
2
- export { A as AfterAllListener, n as AfterEachListener, B as BeforeAllListener, p as BeforeEachListener, q as Fixture, r as FixtureFn, s as FixtureOptions, t as Fixtures, I as ImportDuration, u as InferFixturesTypes, O as OnTestFailedHandler, v as OnTestFinishedHandler, R as RunMode, w as RuntimeContext, x as SequenceHooks, y as SequenceSetupFiles, z as SuiteFactory, D as TaskBase, E as TaskCustomOptions, G as TaskEventPack, H as TaskHook, J as TaskMeta, K as TaskPopulated, L as TaskResult, M as TaskResultPack, N as TaskState, P as TestAnnotation, Q as TestAnnotationArtifact, U as TestAnnotationLocation, V as TestArtifactBase, W as TestArtifactLocation, X as TestArtifactRegistry, Y as TestAttachment, Z as TestContext, _ as TestFunction, $ as TestOptions, a0 as Use, i as afterAll, j as afterEach, k as beforeAll, l as beforeEach, o as onTestFailed, m as onTestFinished } from './tasks.d-r9p5YKu0.js';
1
+ import { b as TestArtifact, a as Test, S as Suite, d as SuiteHooks, F as File, e as TaskUpdateEvent, T as Task, f as TestAPI, g as SuiteAPI, h as SuiteCollector } from './tasks.d-Xu8VaPgy.js';
2
+ export { A as AfterAllListener, n as AfterEachListener, B as BeforeAllListener, p as BeforeEachListener, q as Fixture, r as FixtureFn, s as FixtureOptions, t as Fixtures, I as ImportDuration, u as InferFixturesTypes, O as OnTestFailedHandler, v as OnTestFinishedHandler, R as RunMode, w as RuntimeContext, x as SequenceHooks, y as SequenceSetupFiles, z as SuiteFactory, D as TaskBase, E as TaskCustomOptions, G as TaskEventPack, H as TaskHook, J as TaskMeta, K as TaskPopulated, L as TaskResult, M as TaskResultPack, N as TaskState, P as TestAnnotation, Q as TestAnnotationArtifact, U as TestAnnotationLocation, V as TestArtifactBase, W as TestArtifactLocation, X as TestArtifactRegistry, Y as TestAttachment, Z as TestContext, _ as TestFunction, $ as TestOptions, a0 as Use, a1 as VisualRegressionArtifact, i as afterAll, j as afterEach, k as beforeAll, l as beforeEach, o as onTestFailed, m as onTestFinished } from './tasks.d-Xu8VaPgy.js';
3
3
  import { Awaitable } from '@vitest/utils';
4
4
  import { FileSpecification, VitestRunner } from './types.js';
5
5
  export { CancelReason, VitestRunnerConfig, VitestRunnerConstructor, VitestRunnerImportSource } from './types.js';
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ import { processError } from '@vitest/utils/error';
2
2
  import { isObject, createDefer, assertTypes, toArray, isNegativeNaN, objectAttr, shuffle } from '@vitest/utils/helpers';
3
3
  import { getSafeTimers } from '@vitest/utils/timers';
4
4
  import { format, formatRegExp, objDisplay } from '@vitest/utils/display';
5
- import { c as createChainable, f as findTestFileStackTrace, b as createFileTask, a as calculateSuiteHash, s as someTasksAreOnly, i as interpretTaskModes, l as limitConcurrency, p as partitionSuiteChildren, q as hasTests, o as hasFailed } from './chunk-tasks.js';
5
+ import { c as createChainable, e as createTaskName, f as findTestFileStackTrace, b as createFileTask, a as calculateSuiteHash, s as someTasksAreOnly, i as interpretTaskModes, l as limitConcurrency, p as partitionSuiteChildren, r as hasTests, q as hasFailed } from './chunk-tasks.js';
6
6
  import '@vitest/utils/source-map';
7
7
  import 'pathe';
8
8
 
@@ -698,12 +698,13 @@ function createDefaultSuite(runner) {
698
698
  delete collector.suite;
699
699
  return collector;
700
700
  }
701
- function clearCollectorContext(filepath, currentRunner) {
701
+ function clearCollectorContext(file, currentRunner) {
702
702
  if (!defaultSuite) {
703
703
  defaultSuite = createDefaultSuite(currentRunner);
704
704
  }
705
+ defaultSuite.file = file;
705
706
  runner = currentRunner;
706
- currentTestFilepath = filepath;
707
+ currentTestFilepath = file.filepath;
707
708
  collectorContext.tasks.length = 0;
708
709
  defaultSuite.clear();
709
710
  collectorContext.currentSuite = defaultSuite;
@@ -752,17 +753,20 @@ function createSuiteCollector(name, factory = () => {}, mode, each, suiteOptions
752
753
  let suite;
753
754
  initSuite(true);
754
755
  const task = function(name = "", options = {}) {
755
- var _collectorContext$cur;
756
+ var _collectorContext$cur, _collectorContext$cur2, _collectorContext$cur3;
756
757
  const timeout = (options === null || options === void 0 ? void 0 : options.timeout) ?? runner.config.testTimeout;
758
+ const currentSuite = (_collectorContext$cur = collectorContext.currentSuite) === null || _collectorContext$cur === void 0 ? void 0 : _collectorContext$cur.suite;
757
759
  const task = {
758
760
  id: "",
759
761
  name,
760
- suite: (_collectorContext$cur = collectorContext.currentSuite) === null || _collectorContext$cur === void 0 ? void 0 : _collectorContext$cur.suite,
762
+ fullName: createTaskName([(currentSuite === null || currentSuite === void 0 ? void 0 : currentSuite.fullName) ?? ((_collectorContext$cur2 = collectorContext.currentSuite) === null || _collectorContext$cur2 === void 0 || (_collectorContext$cur2 = _collectorContext$cur2.file) === null || _collectorContext$cur2 === void 0 ? void 0 : _collectorContext$cur2.fullName), name]),
763
+ fullTestName: createTaskName([currentSuite === null || currentSuite === void 0 ? void 0 : currentSuite.fullTestName, name]),
764
+ suite: currentSuite,
761
765
  each: options.each,
762
766
  fails: options.fails,
763
767
  context: undefined,
764
768
  type: "test",
765
- file: undefined,
769
+ file: (currentSuite === null || currentSuite === void 0 ? void 0 : currentSuite.file) ?? ((_collectorContext$cur3 = collectorContext.currentSuite) === null || _collectorContext$cur3 === void 0 ? void 0 : _collectorContext$cur3.file),
766
770
  timeout,
767
771
  retry: options.retry ?? runner.config.retry,
768
772
  repeats: options.repeats,
@@ -850,18 +854,21 @@ function createSuiteCollector(name, factory = () => {}, mode, each, suiteOptions
850
854
  getHooks(suite)[name].push(...fn);
851
855
  }
852
856
  function initSuite(includeLocation) {
853
- var _collectorContext$cur2;
857
+ var _collectorContext$cur4, _collectorContext$cur5, _collectorContext$cur6;
854
858
  if (typeof suiteOptions === "number") {
855
859
  suiteOptions = { timeout: suiteOptions };
856
860
  }
861
+ const currentSuite = (_collectorContext$cur4 = collectorContext.currentSuite) === null || _collectorContext$cur4 === void 0 ? void 0 : _collectorContext$cur4.suite;
857
862
  suite = {
858
863
  id: "",
859
864
  type: "suite",
860
865
  name,
861
- suite: (_collectorContext$cur2 = collectorContext.currentSuite) === null || _collectorContext$cur2 === void 0 ? void 0 : _collectorContext$cur2.suite,
866
+ fullName: createTaskName([(currentSuite === null || currentSuite === void 0 ? void 0 : currentSuite.fullName) ?? ((_collectorContext$cur5 = collectorContext.currentSuite) === null || _collectorContext$cur5 === void 0 || (_collectorContext$cur5 = _collectorContext$cur5.file) === null || _collectorContext$cur5 === void 0 ? void 0 : _collectorContext$cur5.fullName), name]),
867
+ fullTestName: createTaskName([currentSuite === null || currentSuite === void 0 ? void 0 : currentSuite.fullTestName, name]),
868
+ suite: currentSuite,
862
869
  mode,
863
870
  each,
864
- file: undefined,
871
+ file: (currentSuite === null || currentSuite === void 0 ? void 0 : currentSuite.file) ?? ((_collectorContext$cur6 = collectorContext.currentSuite) === null || _collectorContext$cur6 === void 0 ? void 0 : _collectorContext$cur6.file),
865
872
  shuffle: suiteOptions === null || suiteOptions === void 0 ? void 0 : suiteOptions.shuffle,
866
873
  tasks: [],
867
874
  meta: Object.create(null),
@@ -897,11 +904,7 @@ function createSuiteCollector(name, factory = () => {}, mode, each, suiteOptions
897
904
  for (const i of tasks) {
898
905
  allChildren.push(i.type === "collector" ? await i.collect(file) : i);
899
906
  }
900
- suite.file = file;
901
907
  suite.tasks = allChildren;
902
- allChildren.forEach((task) => {
903
- task.file = file;
904
- });
905
908
  return suite;
906
909
  }
907
910
  collectTask(collector);
@@ -1359,11 +1362,11 @@ async function collectTests(specs, runner) {
1359
1362
  await $("collect_spec", { "code.file.path": filepath }, async () => {
1360
1363
  var _runner$onCollectStar;
1361
1364
  const testLocations = typeof spec === "string" ? undefined : spec.testLocations;
1362
- const file = createFileTask(filepath, config.root, config.name, runner.pool);
1365
+ const file = createFileTask(filepath, config.root, config.name, runner.pool, runner.viteEnvironment);
1363
1366
  setFileContext(file, Object.create(null));
1364
1367
  file.shuffle = config.sequence.shuffle;
1365
1368
  (_runner$onCollectStar = runner.onCollectStart) === null || _runner$onCollectStar === void 0 ? void 0 : _runner$onCollectStar.call(runner, file);
1366
- clearCollectorContext(filepath, runner);
1369
+ clearCollectorContext(file, runner);
1367
1370
  try {
1368
1371
  var _runner$getImportDura;
1369
1372
  const setupFiles = toArray(config.setupFiles);
@@ -158,6 +158,40 @@ interface TaskBase {
158
158
  */
159
159
  name: string;
160
160
  /**
161
+ * Full name including the file path, any parent suites, and this task's name.
162
+ *
163
+ * Uses ` > ` as the separator between levels.
164
+ *
165
+ * @example
166
+ * // file
167
+ * 'test/task-names.test.ts'
168
+ * @example
169
+ * // suite
170
+ * 'test/task-names.test.ts > meal planning'
171
+ * 'test/task-names.test.ts > meal planning > grocery lists'
172
+ * @example
173
+ * // test
174
+ * 'test/task-names.test.ts > meal planning > grocery lists > calculates ingredients'
175
+ */
176
+ fullName: string;
177
+ /**
178
+ * Full name excluding the file path, including any parent suites and this task's name. `undefined` for file tasks.
179
+ *
180
+ * Uses ` > ` as the separator between levels.
181
+ *
182
+ * @example
183
+ * // file
184
+ * undefined
185
+ * @example
186
+ * // suite
187
+ * 'meal planning'
188
+ * 'meal planning > grocery lists'
189
+ * @example
190
+ * // test
191
+ * 'meal planning > grocery lists > calculates ingredients'
192
+ */
193
+ fullTestName?: string;
194
+ /**
161
195
  * Task mode.
162
196
  * - **skip**: task is skipped
163
197
  * - **only**: only this task and other tasks with `only` mode will run
@@ -286,6 +320,10 @@ interface ImportDuration {
286
320
  selfTime: number;
287
321
  /** The time spent importing & executing the file and all its imports. */
288
322
  totalTime: number;
323
+ /** Will be set to `true`, if the module was externalized. In this case totalTime and selfTime are identical. */
324
+ external?: boolean;
325
+ /** Which module imported this module first. All subsequent imports are cached. */
326
+ importer?: string;
289
327
  }
290
328
  /**
291
329
  * The tuple representing a single task update.
@@ -316,6 +354,10 @@ interface File extends Suite {
316
354
  */
317
355
  pool?: string;
318
356
  /**
357
+ * The environment that processes the file on the server.
358
+ */
359
+ viteEnvironment?: string;
360
+ /**
319
361
  * The path to the file in UNIX format.
320
362
  */
321
363
  filepath: string;
@@ -355,6 +397,7 @@ interface Test<ExtraContext = object> extends TaskPopulated {
355
397
  * @experimental
356
398
  */
357
399
  artifacts: TestArtifact[];
400
+ fullTestName: string;
358
401
  }
359
402
  type Task = Test | Suite | File;
360
403
  type TestFunction<ExtraContext = object> = (context: TestContext & ExtraContext) => Awaitable<any> | void;
@@ -565,6 +608,7 @@ interface SuiteCollector<ExtraContext = object> {
565
608
  tasks: (Suite | Test<ExtraContext> | SuiteCollector<ExtraContext>)[];
566
609
  scoped: (fixtures: Fixtures<any, ExtraContext>) => void;
567
610
  fixtures: () => FixtureItem[] | undefined;
611
+ file?: File;
568
612
  suite?: Suite;
569
613
  task: (name: string, options?: TaskCustomOptions) => Test<ExtraContext>;
570
614
  collect: (file: File) => Promise<Suite>;
@@ -686,6 +730,24 @@ interface TestAnnotationArtifact extends TestArtifactBase {
686
730
  type: "internal:annotation";
687
731
  annotation: TestAnnotation;
688
732
  }
733
+ type VisualRegressionArtifactAttachment = TestAttachment & ({
734
+ name: "reference" | "actual";
735
+ width: number;
736
+ height: number;
737
+ } | {
738
+ name: "diff";
739
+ });
740
+ /**
741
+ * @experimental
742
+ *
743
+ * Artifact type for visual regressions.
744
+ */
745
+ interface VisualRegressionArtifact extends TestArtifactBase {
746
+ type: "internal:toMatchScreenshot";
747
+ kind: "visual-regression";
748
+ message: string;
749
+ attachments: VisualRegressionArtifactAttachment[];
750
+ }
689
751
  /**
690
752
  * @experimental
691
753
  * @advanced
@@ -766,7 +828,7 @@ interface TestArtifactRegistry {}
766
828
  *
767
829
  * This type automatically includes all artifacts registered via {@link TestArtifactRegistry}.
768
830
  */
769
- type TestArtifact = TestAnnotationArtifact | TestArtifactRegistry[keyof TestArtifactRegistry];
831
+ type TestArtifact = TestAnnotationArtifact | VisualRegressionArtifact | TestArtifactRegistry[keyof TestArtifactRegistry];
770
832
 
771
833
  export { createChainable as c, afterAll as i, afterEach as j, beforeAll as k, beforeEach as l, onTestFinished as m, onTestFailed as o };
772
- export type { TestOptions as $, AfterAllListener as A, BeforeAllListener as B, ChainableFunction as C, TaskBase as D, TaskCustomOptions as E, File as F, TaskEventPack as G, TaskHook as H, ImportDuration as I, TaskMeta as J, TaskPopulated as K, TaskResult as L, TaskResultPack as M, TaskState as N, OnTestFailedHandler as O, TestAnnotation as P, TestAnnotationArtifact as Q, RunMode as R, Suite as S, Task as T, TestAnnotationLocation as U, TestArtifactBase as V, TestArtifactLocation as W, TestArtifactRegistry as X, TestAttachment as Y, TestContext as Z, TestFunction as _, Test as a, Use as a0, TestArtifact as b, SuiteHooks as d, TaskUpdateEvent as e, TestAPI as f, SuiteAPI as g, SuiteCollector as h, AfterEachListener as n, BeforeEachListener as p, Fixture as q, FixtureFn as r, FixtureOptions as s, Fixtures as t, InferFixturesTypes as u, OnTestFinishedHandler as v, RuntimeContext as w, SequenceHooks as x, SequenceSetupFiles as y, SuiteFactory as z };
834
+ export type { TestOptions as $, AfterAllListener as A, BeforeAllListener as B, ChainableFunction as C, TaskBase as D, TaskCustomOptions as E, File as F, TaskEventPack as G, TaskHook as H, ImportDuration as I, TaskMeta as J, TaskPopulated as K, TaskResult as L, TaskResultPack as M, TaskState as N, OnTestFailedHandler as O, TestAnnotation as P, TestAnnotationArtifact as Q, RunMode as R, Suite as S, Task as T, TestAnnotationLocation as U, TestArtifactBase as V, TestArtifactLocation as W, TestArtifactRegistry as X, TestAttachment as Y, TestContext as Z, TestFunction as _, Test as a, Use as a0, VisualRegressionArtifact as a1, TestArtifact as b, SuiteHooks as d, TaskUpdateEvent as e, TestAPI as f, SuiteAPI as g, SuiteCollector as h, AfterEachListener as n, BeforeEachListener as p, Fixture as q, FixtureFn as r, FixtureOptions as s, Fixtures as t, InferFixturesTypes as u, OnTestFinishedHandler as v, RuntimeContext as w, SequenceHooks as x, SequenceSetupFiles as y, SuiteFactory as z };
package/dist/types.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { DiffOptions } from '@vitest/utils/diff';
2
- import { F as File, a as Test, S as Suite, M as TaskResultPack, G as TaskEventPack, P as TestAnnotation, b as TestArtifact, Z as TestContext, I as ImportDuration, x as SequenceHooks, y as SequenceSetupFiles } from './tasks.d-r9p5YKu0.js';
3
- export { A as AfterAllListener, n as AfterEachListener, B as BeforeAllListener, p as BeforeEachListener, q as Fixture, r as FixtureFn, s as FixtureOptions, t as Fixtures, u as InferFixturesTypes, O as OnTestFailedHandler, v as OnTestFinishedHandler, R as RunMode, w as RuntimeContext, g as SuiteAPI, h as SuiteCollector, z as SuiteFactory, d as SuiteHooks, T as Task, D as TaskBase, E as TaskCustomOptions, H as TaskHook, J as TaskMeta, K as TaskPopulated, L as TaskResult, N as TaskState, e as TaskUpdateEvent, f as TestAPI, Q as TestAnnotationArtifact, U as TestAnnotationLocation, V as TestArtifactBase, W as TestArtifactLocation, X as TestArtifactRegistry, Y as TestAttachment, _ as TestFunction, $ as TestOptions, a0 as Use } from './tasks.d-r9p5YKu0.js';
2
+ import { F as File, a as Test, S as Suite, M as TaskResultPack, G as TaskEventPack, P as TestAnnotation, b as TestArtifact, Z as TestContext, I as ImportDuration, x as SequenceHooks, y as SequenceSetupFiles } from './tasks.d-Xu8VaPgy.js';
3
+ export { A as AfterAllListener, n as AfterEachListener, B as BeforeAllListener, p as BeforeEachListener, q as Fixture, r as FixtureFn, s as FixtureOptions, t as Fixtures, u as InferFixturesTypes, O as OnTestFailedHandler, v as OnTestFinishedHandler, R as RunMode, w as RuntimeContext, g as SuiteAPI, h as SuiteCollector, z as SuiteFactory, d as SuiteHooks, T as Task, D as TaskBase, E as TaskCustomOptions, H as TaskHook, J as TaskMeta, K as TaskPopulated, L as TaskResult, N as TaskState, e as TaskUpdateEvent, f as TestAPI, Q as TestAnnotationArtifact, U as TestAnnotationLocation, V as TestArtifactBase, W as TestArtifactLocation, X as TestArtifactRegistry, Y as TestAttachment, _ as TestFunction, $ as TestOptions, a0 as Use, a1 as VisualRegressionArtifact } from './tasks.d-Xu8VaPgy.js';
4
4
  import '@vitest/utils';
5
5
 
6
6
  /**
@@ -163,6 +163,10 @@ interface VitestRunner {
163
163
  */
164
164
  pool?: string;
165
165
  /**
166
+ * The current Vite environment that processes the files on the server.
167
+ */
168
+ viteEnvironment?: string;
169
+ /**
166
170
  * Return the worker context for fixtures specified with `scope: 'worker'`
167
171
  */
168
172
  getWorkerContext?: () => Record<string, unknown>;
package/dist/utils.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { S as Suite, F as File, T as Task, a as Test } from './tasks.d-r9p5YKu0.js';
2
- export { C as ChainableFunction, c as createChainable } from './tasks.d-r9p5YKu0.js';
1
+ import { S as Suite, F as File, T as Task, a as Test } from './tasks.d-Xu8VaPgy.js';
2
+ export { C as ChainableFunction, c as createChainable } from './tasks.d-Xu8VaPgy.js';
3
3
  import { ParsedStack, Arrayable } from '@vitest/utils';
4
4
 
5
5
  /**
@@ -9,7 +9,7 @@ declare function interpretTaskModes(file: Suite, namePattern?: string | RegExp,
9
9
  declare function someTasksAreOnly(suite: Suite): boolean;
10
10
  declare function generateHash(str: string): string;
11
11
  declare function calculateSuiteHash(parent: Suite): void;
12
- declare function createFileTask(filepath: string, root: string, projectName: string | undefined, pool?: string): File;
12
+ declare function createFileTask(filepath: string, root: string, projectName: string | undefined, pool?: string, viteEnvironment?: string): File;
13
13
  /**
14
14
  * Generate a unique ID for a file based on its path and project name
15
15
  * @param file File relative to the root of the project to keep ID the same between different machines
@@ -40,5 +40,6 @@ declare function hasFailed(suite: Arrayable<Task>): boolean;
40
40
  declare function getNames(task: Task): string[];
41
41
  declare function getFullName(task: Task, separator?: string): string;
42
42
  declare function getTestName(task: Task, separator?: string): string;
43
+ declare function createTaskName(names: readonly (string | undefined)[], separator?: string): string;
43
44
 
44
- export { calculateSuiteHash, createFileTask, findTestFileStackTrace, generateFileHash, generateHash, getFullName, getNames, getSuites, getTasks, getTestName, getTests, hasFailed, hasTests, interpretTaskModes, isTestCase, limitConcurrency, partitionSuiteChildren, someTasksAreOnly };
45
+ export { calculateSuiteHash, createFileTask, createTaskName, findTestFileStackTrace, generateFileHash, generateHash, getFullName, getNames, getSuites, getTasks, getTestName, getTests, hasFailed, hasTests, interpretTaskModes, isTestCase, limitConcurrency, partitionSuiteChildren, someTasksAreOnly };
package/dist/utils.js CHANGED
@@ -1,4 +1,4 @@
1
- export { a as calculateSuiteHash, c as createChainable, b as createFileTask, f as findTestFileStackTrace, g as generateFileHash, d as generateHash, e as getFullName, h as getNames, j as getSuites, k as getTasks, m as getTestName, n as getTests, o as hasFailed, q as hasTests, i as interpretTaskModes, r as isTestCase, l as limitConcurrency, p as partitionSuiteChildren, s as someTasksAreOnly } from './chunk-tasks.js';
1
+ export { a as calculateSuiteHash, c as createChainable, b as createFileTask, e as createTaskName, f as findTestFileStackTrace, g as generateFileHash, d as generateHash, h as getFullName, j as getNames, k as getSuites, m as getTasks, n as getTestName, o as getTests, q as hasFailed, r as hasTests, i as interpretTaskModes, t as isTestCase, l as limitConcurrency, p as partitionSuiteChildren, s as someTasksAreOnly } from './chunk-tasks.js';
2
2
  import '@vitest/utils/error';
3
3
  import '@vitest/utils/source-map';
4
4
  import 'pathe';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vitest/runner",
3
3
  "type": "module",
4
- "version": "4.0.13",
4
+ "version": "4.0.15",
5
5
  "description": "Vitest test runner",
6
6
  "license": "MIT",
7
7
  "funding": "https://opencollective.com/vitest",
@@ -39,7 +39,7 @@
39
39
  ],
40
40
  "dependencies": {
41
41
  "pathe": "^2.0.3",
42
- "@vitest/utils": "4.0.13"
42
+ "@vitest/utils": "4.0.15"
43
43
  },
44
44
  "scripts": {
45
45
  "build": "premove dist && rollup -c",