@vitest/runner 3.0.0-beta.1 → 3.0.0-beta.2

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.
@@ -31,7 +31,7 @@ function createChainable(keys, fn) {
31
31
 
32
32
  function interpretTaskModes(file, namePattern, testLocations, onlyMode, parentIsOnly, allowOnly) {
33
33
  const matchedLocations = [];
34
- const traverseSuite = (suite, parentIsOnly2) => {
34
+ const traverseSuite = (suite, parentIsOnly2, parentMatchedWithLocation) => {
35
35
  const suiteIsOnly = parentIsOnly2 || suite.mode === "only";
36
36
  suite.tasks.forEach((t) => {
37
37
  const includeTask = suiteIsOnly || t.mode === "only";
@@ -48,23 +48,27 @@ function interpretTaskModes(file, namePattern, testLocations, onlyMode, parentIs
48
48
  t.mode = "run";
49
49
  }
50
50
  }
51
+ let hasLocationMatch = parentMatchedWithLocation;
52
+ if (testLocations !== void 0 && testLocations.length !== 0) {
53
+ if (t.location && (testLocations == null ? void 0 : testLocations.includes(t.location.line))) {
54
+ t.mode = "run";
55
+ matchedLocations.push(t.location.line);
56
+ hasLocationMatch = true;
57
+ } else if (parentMatchedWithLocation) {
58
+ t.mode = "run";
59
+ } else if (t.type === "test") {
60
+ t.mode = "skip";
61
+ }
62
+ }
51
63
  if (t.type === "test") {
52
64
  if (namePattern && !getTaskFullName(t).match(namePattern)) {
53
65
  t.mode = "skip";
54
66
  }
55
- if (testLocations !== void 0 && testLocations.length !== 0) {
56
- if (t.location && (testLocations == null ? void 0 : testLocations.includes(t.location.line))) {
57
- t.mode = "run";
58
- matchedLocations.push(t.location.line);
59
- } else {
60
- t.mode = "skip";
61
- }
62
- }
63
67
  } else if (t.type === "suite") {
64
68
  if (t.mode === "skip") {
65
69
  skipAllTasks(t);
66
70
  } else {
67
- traverseSuite(t, includeTask);
71
+ traverseSuite(t, includeTask, hasLocationMatch);
68
72
  }
69
73
  }
70
74
  });
@@ -74,7 +78,7 @@ function interpretTaskModes(file, namePattern, testLocations, onlyMode, parentIs
74
78
  }
75
79
  }
76
80
  };
77
- traverseSuite(file, parentIsOnly);
81
+ traverseSuite(file, parentIsOnly, false);
78
82
  const nonMatching = testLocations == null ? void 0 : testLocations.filter((loc) => !matchedLocations.includes(loc));
79
83
  if (nonMatching && nonMatching.length !== 0) {
80
84
  const message = nonMatching.length === 1 ? `line ${nonMatching[0]}` : `lines ${nonMatching.join(", ")}`;
@@ -147,7 +151,7 @@ function calculateSuiteHash(parent) {
147
151
  function createFileTask(filepath, root, projectName, pool) {
148
152
  const path = relative(root, filepath);
149
153
  const file = {
150
- id: generateHash(`${path}${projectName || ""}`),
154
+ id: generateFileHash(path, projectName),
151
155
  name: path,
152
156
  type: "suite",
153
157
  mode: "run",
@@ -161,6 +165,9 @@ function createFileTask(filepath, root, projectName, pool) {
161
165
  file.file = file;
162
166
  return file;
163
167
  }
168
+ function generateFileHash(file, projectName) {
169
+ return generateHash(`${file}${projectName || ""}`);
170
+ }
164
171
 
165
172
  function limitConcurrency(concurrency = Infinity) {
166
173
  let count = 0;
@@ -277,4 +284,4 @@ function getTestName(task, separator = " > ") {
277
284
  return getNames(task).slice(1).join(separator);
278
285
  }
279
286
 
280
- export { calculateSuiteHash as a, createFileTask as b, createChainable as c, getFullName as d, getNames as e, getSuites as f, generateHash as g, getTasks as h, interpretTaskModes as i, getTestName as j, getTests as k, limitConcurrency as l, hasFailed as m, hasTests as n, isAtomTest as o, partitionSuiteChildren as p, isTestCase as q, someTasksAreOnly as s };
287
+ export { calculateSuiteHash as a, createFileTask as b, createChainable as c, generateHash as d, getFullName as e, getNames as f, generateFileHash as g, getSuites as h, interpretTaskModes as i, getTasks as j, getTestName as k, limitConcurrency as l, getTests as m, hasFailed as n, hasTests as o, partitionSuiteChildren as p, isAtomTest as q, isTestCase as r, someTasksAreOnly as s };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { B as BeforeAllListener, A as AfterAllListener, b as BeforeEachListener, d as AfterEachListener, e as TaskHook, O as OnTestFailedHandler, f as OnTestFinishedHandler, a as Test, g as Custom, S as Suite, h as SuiteHooks, T as Task, F as File, i as SuiteAPI, j as TestAPI, k as SuiteCollector } from './tasks-D_Ah6OyC.js';
2
- export { D as DoneCallback, E as ExtendedContext, l as Fixture, m as FixtureFn, n as FixtureOptions, o as Fixtures, H as HookCleanupCallback, p as HookListener, I as InferFixturesTypes, R as RunMode, q as RuntimeContext, r as SequenceHooks, s as SequenceSetupFiles, t as SuiteFactory, u as TaskBase, v as TaskContext, w as TaskCustomOptions, x as TaskMeta, y as TaskPopulated, z as TaskResult, G as TaskResultPack, J as TaskState, K as TestContext, L as TestFunction, M as TestOptions, U as Use } from './tasks-D_Ah6OyC.js';
1
+ import { B as BeforeAllListener, A as AfterAllListener, b as BeforeEachListener, d as AfterEachListener, e as TaskHook, O as OnTestFailedHandler, f as OnTestFinishedHandler, a as Test, g as Custom, S as Suite, h as SuiteHooks, T as Task, F as File, i as SuiteAPI, j as TestAPI, k as SuiteCollector } from './tasks-DaEhEbK_.js';
2
+ export { D as DoneCallback, E as ExtendedContext, l as Fixture, m as FixtureFn, n as FixtureOptions, o as Fixtures, H as HookCleanupCallback, p as HookListener, I as InferFixturesTypes, R as RunMode, q as RuntimeContext, r as SequenceHooks, s as SequenceSetupFiles, t as SuiteFactory, u as TaskBase, v as TaskContext, w as TaskCustomOptions, x as TaskMeta, y as TaskPopulated, z as TaskResult, G as TaskResultPack, J as TaskState, K as TestContext, L as TestFunction, M as TestOptions, U as Use } from './tasks-DaEhEbK_.js';
3
3
  import { Awaitable } from '@vitest/utils';
4
- import { VitestRunner, FileSpec } from './types.js';
4
+ import { VitestRunner, FileSpecification } from './types.js';
5
5
  export { CancelReason, VitestRunnerConfig, VitestRunnerConstructor, VitestRunnerImportSource } from './types.js';
6
6
  export { processError } from '@vitest/utils/error';
7
7
  import '@vitest/utils/diff';
@@ -126,8 +126,8 @@ declare function setHooks(key: Suite, hooks: SuiteHooks): void;
126
126
  declare function getHooks(key: Suite): SuiteHooks;
127
127
 
128
128
  declare function updateTask(task: Task, runner: VitestRunner): void;
129
- declare function startTests(specs: string[] | FileSpec[], runner: VitestRunner): Promise<File[]>;
130
- declare function publicCollect(specs: string[] | FileSpec[], runner: VitestRunner): Promise<File[]>;
129
+ declare function startTests(specs: string[] | FileSpecification[], runner: VitestRunner): Promise<File[]>;
130
+ declare function publicCollect(specs: string[] | FileSpecification[], runner: VitestRunner): Promise<File[]>;
131
131
 
132
132
  /**
133
133
  * Creates a suite of tests, allowing for grouping and hierarchical organization of tests.
@@ -256,4 +256,4 @@ declare function createTaskCollector(fn: (...args: any[]) => any, context?: Reco
256
256
 
257
257
  declare function getCurrentTest<T extends Test | undefined>(): T;
258
258
 
259
- export { AfterAllListener, AfterEachListener, BeforeAllListener, BeforeEachListener, Custom, TestAPI as CustomAPI, File, FileSpec, OnTestFailedHandler, OnTestFinishedHandler, Suite, SuiteAPI, SuiteCollector, SuiteHooks, Task, TaskHook, Test, TestAPI, VitestRunner, afterAll, afterEach, beforeAll, beforeEach, publicCollect as collectTests, createTaskCollector, describe, getCurrentSuite, getCurrentTest, getFn, getHooks, it, onTestFailed, onTestFinished, setFn, setHooks, startTests, suite, test, updateTask };
259
+ export { AfterAllListener, AfterEachListener, BeforeAllListener, BeforeEachListener, Custom, TestAPI as CustomAPI, File, FileSpecification, OnTestFailedHandler, OnTestFinishedHandler, Suite, SuiteAPI, SuiteCollector, SuiteHooks, Task, TaskHook, Test, TestAPI, VitestRunner, afterAll, afterEach, beforeAll, beforeEach, publicCollect as collectTests, createTaskCollector, describe, getCurrentSuite, getCurrentTest, getFn, getHooks, it, onTestFailed, onTestFinished, setFn, setHooks, startTests, suite, test, updateTask };
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { getSafeTimers, isObject, createDefer, isNegativeNaN, format, objDisplay, objectAttr, toArray, assertTypes, shuffle } from '@vitest/utils';
2
2
  import { parseSingleStack } from '@vitest/utils/source-map';
3
- import { c as createChainable, b as createFileTask, a as calculateSuiteHash, s as someTasksAreOnly, i as interpretTaskModes, l as limitConcurrency, p as partitionSuiteChildren, n as hasTests, m as hasFailed } from './chunk-tasks.js';
3
+ import { c as createChainable, b as createFileTask, a as calculateSuiteHash, s as someTasksAreOnly, i as interpretTaskModes, l as limitConcurrency, p as partitionSuiteChildren, o as hasTests, n as hasFailed } from './chunk-tasks.js';
4
4
  import { processError } from '@vitest/utils/error';
5
5
  export { processError } from '@vitest/utils/error';
6
6
  import 'pathe';
@@ -37,7 +37,6 @@ function withTimeout(fn, timeout, isHook = false) {
37
37
  const { setTimeout, clearTimeout } = getSafeTimers();
38
38
  return function runWithTimeout(...args) {
39
39
  return Promise.race([
40
- fn(...args),
41
40
  new Promise((resolve, reject) => {
42
41
  var _a;
43
42
  const timer = setTimeout(() => {
@@ -45,6 +44,9 @@ function withTimeout(fn, timeout, isHook = false) {
45
44
  reject(new Error(makeTimeoutMsg(isHook, timeout)));
46
45
  }, timeout);
47
46
  (_a = timer.unref) == null ? void 0 : _a.call(timer);
47
+ }),
48
+ Promise.resolve(fn(...args)).then((result) => {
49
+ return new Promise((resolve) => setTimeout(resolve, 0, result));
48
50
  })
49
51
  ]);
50
52
  };
@@ -105,14 +105,6 @@ interface TaskPopulated extends TaskBase {
105
105
  * Whether the task should succeed if it fails. If the task fails, it will be marked as passed.
106
106
  */
107
107
  fails?: boolean;
108
- /**
109
- * Hooks that will run if the task fails. The order depends on the `sequence.hooks` option.
110
- */
111
- onFailed?: OnTestFailedHandler[];
112
- /**
113
- * Hooks that will run after the task finishes. The order depends on the `sequence.hooks` option.
114
- */
115
- onFinished?: OnTestFinishedHandler[];
116
108
  /**
117
109
  * Store promises (from async expects) to wait for them before finishing the test
118
110
  */
@@ -136,7 +128,7 @@ interface TaskResult {
136
128
  state: TaskState;
137
129
  /**
138
130
  * Errors that occurred during the task execution. It is possible to have several errors
139
- * if `expect.soft()` failed multiple times.
131
+ * if `expect.soft()` failed multiple times or `retry` was triggered.
140
132
  */
141
133
  errors?: ErrorWithDiff[];
142
134
  /**
@@ -221,18 +213,13 @@ interface File extends Suite {
221
213
  * The time it took to import the setup file.
222
214
  */
223
215
  setupDuration?: number;
224
- /**
225
- * Whether the file is initiated without running any tests.
226
- * This is done to populate state on the server side by Vitest.
227
- */
228
- local?: boolean;
229
216
  }
230
217
  interface Test<ExtraContext = object> extends TaskPopulated {
231
218
  type: 'test';
232
219
  /**
233
220
  * Test context that will be passed to the test function.
234
221
  */
235
- context: TaskContext<Test> & ExtraContext & TestContext;
222
+ context: TestContext & ExtraContext;
236
223
  }
237
224
  /**
238
225
  * @deprecated Use `Test` instead. `type: 'custom'` is not used since 2.2
@@ -243,7 +230,7 @@ type Task = Test | Suite | File;
243
230
  * @deprecated Vitest doesn't provide `done()` anymore
244
231
  */
245
232
  type DoneCallback = (error?: any) => void;
246
- type TestFunction<ExtraContext = object> = (context: ExtendedContext<Test> & ExtraContext) => Awaitable<any> | void;
233
+ type TestFunction<ExtraContext = object> = (context: TestContext & ExtraContext) => Awaitable<any> | void;
247
234
  type ExtractEachCallbackArgs<T extends ReadonlyArray<any>> = {
248
235
  1: [T[0]];
249
236
  2: [T[0], T[1]];
@@ -276,8 +263,8 @@ interface TestForFunctionReturn<Arg, Context> {
276
263
  (name: string | Function, options: TestCollectorOptions, fn: (args: Arg, context: Context) => Awaitable<void>): void;
277
264
  }
278
265
  interface TestForFunction<ExtraContext> {
279
- <T>(cases: ReadonlyArray<T>): TestForFunctionReturn<T, ExtendedContext<Test> & ExtraContext>;
280
- (strings: TemplateStringsArray, ...values: any[]): TestForFunctionReturn<any, ExtendedContext<Test> & ExtraContext>;
266
+ <T>(cases: ReadonlyArray<T>): TestForFunctionReturn<T, TestContext & ExtraContext>;
267
+ (strings: TemplateStringsArray, ...values: any[]): TestForFunctionReturn<any, TestContext & ExtraContext>;
281
268
  }
282
269
  interface TestCollectorCallable<C = object> {
283
270
  /**
@@ -362,7 +349,7 @@ type Use<T> = (value: T) => Promise<void>;
362
349
  type FixtureFn<T, K extends keyof T, ExtraContext> = (context: Omit<T, K> & ExtraContext, use: Use<T[K]>) => Promise<void>;
363
350
  type Fixture<T, K extends keyof T, ExtraContext = object> = ((...args: any) => any) extends T[K] ? T[K] extends any ? FixtureFn<T, K, Omit<ExtraContext, Exclude<keyof T, K>>> : never : T[K] | (T[K] extends any ? FixtureFn<T, K, Omit<ExtraContext, Exclude<keyof T, K>>> : never);
364
351
  type Fixtures<T extends Record<string, any>, ExtraContext = object> = {
365
- [K in keyof T]: Fixture<T, K, ExtraContext & ExtendedContext<Test>> | [Fixture<T, K, ExtraContext & ExtendedContext<Test>>, FixtureOptions?];
352
+ [K in keyof T]: Fixture<T, K, ExtraContext & TestContext> | [Fixture<T, K, ExtraContext & TestContext>, FixtureOptions?];
366
353
  };
367
354
  type InferFixturesTypes<T> = T extends TestAPI<infer C> ? C : T;
368
355
  interface SuiteCollectorCallable<ExtraContext = object> {
@@ -395,10 +382,10 @@ interface AfterAllListener {
395
382
  (suite: Readonly<Suite | File>): Awaitable<unknown>;
396
383
  }
397
384
  interface BeforeEachListener<ExtraContext = object> {
398
- (context: ExtendedContext<Test> & ExtraContext, suite: Readonly<Suite>): Awaitable<unknown>;
385
+ (context: TestContext & ExtraContext, suite: Readonly<Suite>): Awaitable<unknown>;
399
386
  }
400
387
  interface AfterEachListener<ExtraContext = object> {
401
- (context: ExtendedContext<Test> & ExtraContext, suite: Readonly<Suite>): Awaitable<unknown>;
388
+ (context: TestContext & ExtraContext, suite: Readonly<Suite>): Awaitable<unknown>;
402
389
  }
403
390
  interface SuiteHooks<ExtraContext = object> {
404
391
  beforeAll: BeforeAllListener[];
@@ -424,7 +411,7 @@ interface TaskCustomOptions extends TestOptions {
424
411
  * If nothing is provided, the runner will try to get the function using `getFn(task)`.
425
412
  * If the runner cannot find the function, the task will be marked as failed.
426
413
  */
427
- handler?: (context: TaskContext<Test>) => Awaitable<void>;
414
+ handler?: (context: TestContext) => Awaitable<void>;
428
415
  }
429
416
  interface SuiteCollector<ExtraContext = object> {
430
417
  readonly name: string;
@@ -447,11 +434,6 @@ interface RuntimeContext {
447
434
  * User's custom test context.
448
435
  */
449
436
  interface TestContext {
450
- }
451
- /**
452
- * Context that's always available in the test function.
453
- */
454
- interface TaskContext<Task extends Test = Test> {
455
437
  /**
456
438
  * Metadata of the current test
457
439
  */
@@ -470,9 +452,16 @@ interface TaskContext<Task extends Test = Test> {
470
452
  */
471
453
  skip: (note?: string) => void;
472
454
  }
473
- type ExtendedContext<T extends Test> = TaskContext<T> & TestContext;
474
- type OnTestFailedHandler = (context: ExtendedContext<Test>) => Awaitable<void>;
475
- type OnTestFinishedHandler = (context: ExtendedContext<Test>) => Awaitable<void>;
455
+ /**
456
+ * Context that's always available in the test function.
457
+ * @deprecated use `TestContext` instead
458
+ */
459
+ interface TaskContext extends TestContext {
460
+ }
461
+ /** @deprecated use `TestContext` instead */
462
+ type ExtendedContext = TaskContext & TestContext;
463
+ type OnTestFailedHandler = (context: TestContext) => Awaitable<void>;
464
+ type OnTestFinishedHandler = (context: TestContext) => Awaitable<void>;
476
465
  interface TaskHook<HookListener> {
477
466
  (fn: HookListener, timeout?: number): void;
478
467
  }
package/dist/types.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { DiffOptions } from '@vitest/utils/diff';
2
- import { r as SequenceHooks, s as SequenceSetupFiles, F as File, T as Task, a as Test, S as Suite, G as TaskResultPack, v as TaskContext, E as ExtendedContext } from './tasks-D_Ah6OyC.js';
3
- export { A as AfterAllListener, d as AfterEachListener, B as BeforeAllListener, b as BeforeEachListener, g as Custom, j as CustomAPI, D as DoneCallback, l as Fixture, m as FixtureFn, n as FixtureOptions, o as Fixtures, H as HookCleanupCallback, p as HookListener, I as InferFixturesTypes, O as OnTestFailedHandler, f as OnTestFinishedHandler, R as RunMode, q as RuntimeContext, i as SuiteAPI, k as SuiteCollector, t as SuiteFactory, h as SuiteHooks, u as TaskBase, w as TaskCustomOptions, e as TaskHook, x as TaskMeta, y as TaskPopulated, z as TaskResult, J as TaskState, j as TestAPI, K as TestContext, L as TestFunction, M as TestOptions, U as Use } from './tasks-D_Ah6OyC.js';
2
+ import { r as SequenceHooks, s as SequenceSetupFiles, F as File, T as Task, a as Test, S as Suite, G as TaskResultPack, K as TestContext } from './tasks-DaEhEbK_.js';
3
+ export { A as AfterAllListener, d as AfterEachListener, B as BeforeAllListener, b as BeforeEachListener, g as Custom, j as CustomAPI, D as DoneCallback, E as ExtendedContext, l as Fixture, m as FixtureFn, n as FixtureOptions, o as Fixtures, H as HookCleanupCallback, p as HookListener, I as InferFixturesTypes, O as OnTestFailedHandler, f as OnTestFinishedHandler, R as RunMode, q as RuntimeContext, i as SuiteAPI, k as SuiteCollector, t as SuiteFactory, h as SuiteHooks, u as TaskBase, v as TaskContext, w as TaskCustomOptions, e as TaskHook, x as TaskMeta, y as TaskPopulated, z as TaskResult, J as TaskState, j as TestAPI, L as TestFunction, M as TestOptions, U as Use } from './tasks-DaEhEbK_.js';
4
4
  import '@vitest/utils';
5
5
 
6
6
  /**
@@ -30,7 +30,10 @@ interface VitestRunnerConfig {
30
30
  includeTaskLocation?: boolean;
31
31
  diffOptions?: DiffOptions;
32
32
  }
33
- interface FileSpec {
33
+ /**
34
+ * Possible options to run a single file in a test.
35
+ */
36
+ interface FileSpecification {
34
37
  filepath: string;
35
38
  testLocations: number[] | undefined;
36
39
  }
@@ -118,11 +121,9 @@ interface VitestRunner {
118
121
  * Called when new context for a test is defined. Useful if you want to add custom properties to the context.
119
122
  * If you only want to define custom context, consider using "beforeAll" in "setupFiles" instead.
120
123
  *
121
- * This method is called for both "test" and "custom" handlers.
122
- *
123
- * @see https://vitest.dev/advanced/runner.html#your-task-function
124
+ * @see https://vitest.dev/advanced/runner#your-task-function
124
125
  */
125
- extendTaskContext?: <T extends Test>(context: TaskContext<T>) => ExtendedContext<T>;
126
+ extendTaskContext?: (context: TestContext) => TestContext;
126
127
  /**
127
128
  * Called when test and setup files are imported. Can be called in two situations: when collecting tests and when importing setup files.
128
129
  */
@@ -141,4 +142,4 @@ interface VitestRunner {
141
142
  pool?: string;
142
143
  }
143
144
 
144
- export { type CancelReason, ExtendedContext, File, type FileSpec, SequenceHooks, SequenceSetupFiles, Suite, Task, TaskContext, TaskResultPack, Test, type VitestRunner, type VitestRunnerConfig, type VitestRunnerConstructor, type VitestRunnerImportSource };
145
+ export { type CancelReason, File, type FileSpecification, SequenceHooks, SequenceSetupFiles, Suite, Task, TaskResultPack, Test, TestContext, type VitestRunner, type VitestRunnerConfig, type VitestRunnerConstructor, type VitestRunnerImportSource };
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_Ah6OyC.js';
2
- export { C as ChainableFunction, c as createChainable } from './tasks-D_Ah6OyC.js';
1
+ import { S as Suite, F as File, T as Task, a as Test } from './tasks-DaEhEbK_.js';
2
+ export { C as ChainableFunction, c as createChainable } from './tasks-DaEhEbK_.js';
3
3
  import { Arrayable } from '@vitest/utils';
4
4
 
5
5
  /**
@@ -10,6 +10,12 @@ declare function someTasksAreOnly(suite: Suite): boolean;
10
10
  declare function generateHash(str: string): string;
11
11
  declare function calculateSuiteHash(parent: Suite): void;
12
12
  declare function createFileTask(filepath: string, root: string, projectName: string | undefined, pool?: string): File;
13
+ /**
14
+ * Generate a unique ID for a file based on its path and project name
15
+ * @param file File relative to the root of the project to keep ID the same between different machines
16
+ * @param projectName The name of the test project
17
+ */
18
+ declare function generateFileHash(file: string, projectName: string | undefined): string;
13
19
 
14
20
  /**
15
21
  * Return a function for running multiple async operations with limited concurrency.
@@ -35,4 +41,4 @@ declare function getNames(task: Task): string[];
35
41
  declare function getFullName(task: Task, separator?: string): string;
36
42
  declare function getTestName(task: Task, separator?: string): string;
37
43
 
38
- export { calculateSuiteHash, createFileTask, generateHash, getFullName, getNames, getSuites, getTasks, getTestName, getTests, hasFailed, hasTests, interpretTaskModes, isAtomTest, isTestCase, limitConcurrency, partitionSuiteChildren, someTasksAreOnly };
44
+ export { calculateSuiteHash, createFileTask, generateFileHash, generateHash, getFullName, getNames, getSuites, getTasks, getTestName, getTests, hasFailed, hasTests, interpretTaskModes, isAtomTest, isTestCase, limitConcurrency, partitionSuiteChildren, someTasksAreOnly };
package/dist/utils.js CHANGED
@@ -1,4 +1,4 @@
1
- export { a as calculateSuiteHash, c as createChainable, b as createFileTask, g as generateHash, d as getFullName, e as getNames, f as getSuites, h as getTasks, j as getTestName, k as getTests, m as hasFailed, n as hasTests, i as interpretTaskModes, o as isAtomTest, q 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, g as generateFileHash, d as generateHash, e as getFullName, f as getNames, h as getSuites, j as getTasks, k as getTestName, m as getTests, n as hasFailed, o as hasTests, i as interpretTaskModes, q as isAtomTest, r as isTestCase, l as limitConcurrency, p as partitionSuiteChildren, s as someTasksAreOnly } from './chunk-tasks.js';
2
2
  import '@vitest/utils/error';
3
3
  import 'pathe';
4
4
  import '@vitest/utils';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vitest/runner",
3
3
  "type": "module",
4
- "version": "3.0.0-beta.1",
4
+ "version": "3.0.0-beta.2",
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": "^1.1.2",
42
- "@vitest/utils": "3.0.0-beta.1"
42
+ "@vitest/utils": "3.0.0-beta.2"
43
43
  },
44
44
  "scripts": {
45
45
  "build": "rimraf dist && rollup -c",