@vitest/runner 1.0.0-beta.4 → 1.0.0-beta.5
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.
- package/dist/index.d.ts +3 -2
- package/dist/index.js +13 -8
- package/dist/{tasks-0309a91e.d.ts → tasks-rsXe_qLO.d.ts} +12 -2
- package/dist/types.d.ts +3 -44
- package/dist/utils.d.ts +2 -2
- package/package.json +8 -8
package/dist/index.d.ts
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
import { VitestRunner } from './types.js';
|
2
2
|
export { CancelReason, VitestRunnerConfig, VitestRunnerConstructor, VitestRunnerImportSource } from './types.js';
|
3
|
-
import { T as Task, F as File, d as SuiteAPI, e as TestAPI, f as SuiteCollector, g as CustomAPI, h as SuiteHooks, O as OnTestFailedHandler, a as Test, C as Custom } from './tasks-
|
4
|
-
export { D as DoneCallback, E as ExtendedContext, r as Fixture, q as FixtureFn, s as Fixtures, t as HookCleanupCallback, H as HookListener, I as InferFixturesTypes, R as RunMode, w as RuntimeContext, z as SequenceHooks, A as SequenceSetupFiles, S as Suite, v as SuiteFactory, j as TaskBase, y as TaskContext, u as TaskCustomOptions, l as TaskMeta, k as TaskPopulated, m as TaskResult, n as TaskResultPack, i as TaskState, x as TestContext, o as TestFunction, p as TestOptions, U as Use } from './tasks-
|
3
|
+
import { T as Task, F as File, d as SuiteAPI, e as TestAPI, f as SuiteCollector, g as CustomAPI, h as SuiteHooks, O as OnTestFailedHandler, a as Test, C as Custom } from './tasks-rsXe_qLO.js';
|
4
|
+
export { D as DoneCallback, E as ExtendedContext, r as Fixture, q as FixtureFn, s as Fixtures, t as HookCleanupCallback, H as HookListener, I as InferFixturesTypes, R as RunMode, w as RuntimeContext, z as SequenceHooks, A as SequenceSetupFiles, S as Suite, v as SuiteFactory, j as TaskBase, y as TaskContext, u as TaskCustomOptions, l as TaskMeta, k as TaskPopulated, m as TaskResult, n as TaskResultPack, i as TaskState, x as TestContext, o as TestFunction, p as TestOptions, U as Use } from './tasks-rsXe_qLO.js';
|
5
5
|
import { Awaitable } from '@vitest/utils';
|
6
6
|
export { processError } from '@vitest/utils/error';
|
7
|
+
import '@vitest/utils/diff';
|
7
8
|
|
8
9
|
declare function updateTask(task: Task, runner: VitestRunner): void;
|
9
10
|
declare function startTests(paths: string[], runner: VitestRunner): Promise<File[]>;
|
package/dist/index.js
CHANGED
@@ -167,7 +167,7 @@ function withFixtures(fn, testContext) {
|
|
167
167
|
else
|
168
168
|
return isFn ? value(context, use) : use(value);
|
169
169
|
}
|
170
|
-
const setupFixturePromise = next();
|
170
|
+
const setupFixturePromise = next().catch(reject);
|
171
171
|
cleanupFnArray.unshift(() => setupFixturePromise);
|
172
172
|
});
|
173
173
|
};
|
@@ -296,7 +296,7 @@ function createSuiteCollector(name, factory = () => {
|
|
296
296
|
meta: options.meta ?? /* @__PURE__ */ Object.create(null)
|
297
297
|
};
|
298
298
|
const handler = options.handler;
|
299
|
-
if (options.concurrent || !sequential &&
|
299
|
+
if (options.concurrent || !options.sequential && runner.config.sequence.concurrent)
|
300
300
|
task2.concurrent = true;
|
301
301
|
if (shuffle)
|
302
302
|
task2.shuffle = true;
|
@@ -315,11 +315,13 @@ function createSuiteCollector(name, factory = () => {
|
|
315
315
|
tasks.push(task2);
|
316
316
|
return task2;
|
317
317
|
};
|
318
|
-
const test2 = createTest(function(name2, fn = noop, options) {
|
318
|
+
const test2 = createTest(function(name2, fn = noop, options = {}) {
|
319
319
|
if (typeof options === "number")
|
320
320
|
options = { timeout: options };
|
321
321
|
if (typeof suiteOptions === "object")
|
322
322
|
options = Object.assign({}, suiteOptions, options);
|
323
|
+
options.concurrent = this.concurrent || !this.sequential && (options == null ? void 0 : options.concurrent);
|
324
|
+
options.sequential = this.sequential || !this.concurrent && (options == null ? void 0 : options.sequential);
|
323
325
|
const test3 = task(
|
324
326
|
formatName(name2),
|
325
327
|
{ ...this, ...options, handler: fn }
|
@@ -352,7 +354,8 @@ function createSuiteCollector(name, factory = () => {
|
|
352
354
|
each,
|
353
355
|
shuffle,
|
354
356
|
tasks: [],
|
355
|
-
meta: /* @__PURE__ */ Object.create(null)
|
357
|
+
meta: /* @__PURE__ */ Object.create(null),
|
358
|
+
projectName: ""
|
356
359
|
};
|
357
360
|
setHooks(suite2, createSuiteHooks());
|
358
361
|
}
|
@@ -381,14 +384,16 @@ function createSuiteCollector(name, factory = () => {
|
|
381
384
|
return collector;
|
382
385
|
}
|
383
386
|
function createSuite() {
|
384
|
-
function suiteFn(name, factory, options) {
|
387
|
+
function suiteFn(name, factory, options = {}) {
|
385
388
|
const mode = this.only ? "only" : this.skip ? "skip" : this.todo ? "todo" : "run";
|
386
389
|
const currentSuite = getCurrentSuite();
|
387
390
|
if (typeof options === "number")
|
388
391
|
options = { timeout: options };
|
389
392
|
if (currentSuite == null ? void 0 : currentSuite.options)
|
390
393
|
options = { ...currentSuite.options, ...options };
|
391
|
-
|
394
|
+
options.concurrent = this.concurrent || !this.sequential && (options == null ? void 0 : options.concurrent);
|
395
|
+
options.sequential = this.sequential || !this.concurrent && (options == null ? void 0 : options.sequential);
|
396
|
+
return createSuiteCollector(formatName(name), factory, mode, this.concurrent, this.sequential, this.shuffle, this.each, options);
|
392
397
|
}
|
393
398
|
suiteFn.each = function(cases, ...args) {
|
394
399
|
const suite2 = this.withContext();
|
@@ -438,7 +443,7 @@ function createTaskCollector(fn, context) {
|
|
438
443
|
}, _context);
|
439
444
|
};
|
440
445
|
const _test = createChainable(
|
441
|
-
["concurrent", "skip", "only", "todo", "fails"],
|
446
|
+
["concurrent", "sequential", "skip", "only", "todo", "fails"],
|
442
447
|
taskFn
|
443
448
|
);
|
444
449
|
if (context)
|
@@ -460,11 +465,11 @@ function formatTitle(template, items, idx) {
|
|
460
465
|
if (isObject(items[0])) {
|
461
466
|
formatted = formatted.replace(
|
462
467
|
/\$([$\w_.]+)/g,
|
468
|
+
// https://github.com/chaijs/chai/pull/1490
|
463
469
|
(_, key) => {
|
464
470
|
var _a, _b;
|
465
471
|
return objDisplay(objectAttr(items[0], key), { truncate: (_b = (_a = runner == null ? void 0 : runner.config) == null ? void 0 : _a.chaiConfig) == null ? void 0 : _b.truncateThreshold });
|
466
472
|
}
|
467
|
-
// https://github.com/chaijs/chai/pull/1490
|
468
473
|
);
|
469
474
|
}
|
470
475
|
return formatted;
|
@@ -68,7 +68,7 @@ interface Suite extends TaskBase {
|
|
68
68
|
type: 'suite';
|
69
69
|
tasks: Task[];
|
70
70
|
filepath?: string;
|
71
|
-
projectName
|
71
|
+
projectName: string;
|
72
72
|
}
|
73
73
|
interface File extends Suite {
|
74
74
|
filepath: string;
|
@@ -110,7 +110,7 @@ interface TestEachFunction {
|
|
110
110
|
<T>(cases: ReadonlyArray<T>): (name: string | Function, fn: (...args: T[]) => Awaitable<void>, options?: number | TestOptions) => void;
|
111
111
|
(...args: [TemplateStringsArray, ...any]): (name: string | Function, fn: (...args: any[]) => Awaitable<void>, options?: number | TestOptions) => void;
|
112
112
|
}
|
113
|
-
type ChainableTestAPI<ExtraContext = {}> = ChainableFunction<'concurrent' | 'only' | 'skip' | 'todo' | 'fails', [
|
113
|
+
type ChainableTestAPI<ExtraContext = {}> = ChainableFunction<'concurrent' | 'sequential' | 'only' | 'skip' | 'todo' | 'fails', [
|
114
114
|
name: string | Function,
|
115
115
|
fn?: TestFunction<ExtraContext>,
|
116
116
|
options?: number | TestOptions
|
@@ -137,6 +137,16 @@ interface TestOptions {
|
|
137
137
|
* @default 0
|
138
138
|
*/
|
139
139
|
repeats?: number;
|
140
|
+
/**
|
141
|
+
* Whether tests run concurrently.
|
142
|
+
* Tests inherit `concurrent` from `describe()` and nested `describe()` will inherit from parent's `concurrent`.
|
143
|
+
*/
|
144
|
+
concurrent?: boolean;
|
145
|
+
/**
|
146
|
+
* Whether tests run sequentially.
|
147
|
+
* Tests inherit `sequential` from `describe()` and nested `describe()` will inherit from parent's `sequential`.
|
148
|
+
*/
|
149
|
+
sequential?: boolean;
|
140
150
|
}
|
141
151
|
interface ExtendedAPI<ExtraContext> {
|
142
152
|
each: TestEachFunction;
|
package/dist/types.d.ts
CHANGED
@@ -1,49 +1,8 @@
|
|
1
|
-
import { z as SequenceHooks, A as SequenceSetupFiles, F as File, k as TaskPopulated, S as Suite, n as TaskResultPack, a as Test, C as Custom, y as TaskContext, E as ExtendedContext } from './tasks-
|
2
|
-
export { g as CustomAPI, D as DoneCallback, r as Fixture, q as FixtureFn, s as Fixtures, t as HookCleanupCallback, H as HookListener, I as InferFixturesTypes, O as OnTestFailedHandler, R as RunMode, w as RuntimeContext, d as SuiteAPI, f as SuiteCollector, v as SuiteFactory, h as SuiteHooks, T as Task, j as TaskBase, u as TaskCustomOptions, l as TaskMeta, m as TaskResult, i as TaskState, e as TestAPI, x as TestContext, o as TestFunction, p as TestOptions, U as Use } from './tasks-
|
1
|
+
import { z as SequenceHooks, A as SequenceSetupFiles, F as File, k as TaskPopulated, S as Suite, n as TaskResultPack, a as Test, C as Custom, y as TaskContext, E as ExtendedContext } from './tasks-rsXe_qLO.js';
|
2
|
+
export { g as CustomAPI, D as DoneCallback, r as Fixture, q as FixtureFn, s as Fixtures, t as HookCleanupCallback, H as HookListener, I as InferFixturesTypes, O as OnTestFailedHandler, R as RunMode, w as RuntimeContext, d as SuiteAPI, f as SuiteCollector, v as SuiteFactory, h as SuiteHooks, T as Task, j as TaskBase, u as TaskCustomOptions, l as TaskMeta, m as TaskResult, i as TaskState, e as TestAPI, x as TestContext, o as TestFunction, p as TestOptions, U as Use } from './tasks-rsXe_qLO.js';
|
3
|
+
import { DiffOptions } from '@vitest/utils/diff';
|
3
4
|
import '@vitest/utils';
|
4
5
|
|
5
|
-
/**
|
6
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
7
|
-
*
|
8
|
-
* This source code is licensed under the MIT license found in the
|
9
|
-
* LICENSE file in the root directory of this source tree.
|
10
|
-
*/
|
11
|
-
|
12
|
-
|
13
|
-
declare type CompareKeys =
|
14
|
-
| ((a: string, b: string) => number)
|
15
|
-
| null
|
16
|
-
| undefined;
|
17
|
-
|
18
|
-
/**
|
19
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
20
|
-
*
|
21
|
-
* This source code is licensed under the MIT license found in the
|
22
|
-
* LICENSE file in the root directory of this source tree.
|
23
|
-
*/
|
24
|
-
|
25
|
-
type DiffOptionsColor = (arg: string) => string;
|
26
|
-
interface DiffOptions {
|
27
|
-
aAnnotation?: string;
|
28
|
-
aColor?: DiffOptionsColor;
|
29
|
-
aIndicator?: string;
|
30
|
-
bAnnotation?: string;
|
31
|
-
bColor?: DiffOptionsColor;
|
32
|
-
bIndicator?: string;
|
33
|
-
changeColor?: DiffOptionsColor;
|
34
|
-
changeLineTrailingSpaceColor?: DiffOptionsColor;
|
35
|
-
commonColor?: DiffOptionsColor;
|
36
|
-
commonIndicator?: string;
|
37
|
-
commonLineTrailingSpaceColor?: DiffOptionsColor;
|
38
|
-
contextLines?: number;
|
39
|
-
emptyFirstOrLastLinePlaceholder?: string;
|
40
|
-
expand?: boolean;
|
41
|
-
includeChangeCounts?: boolean;
|
42
|
-
omitAnnotationLines?: boolean;
|
43
|
-
patchColor?: DiffOptionsColor;
|
44
|
-
compareKeys?: CompareKeys;
|
45
|
-
}
|
46
|
-
|
47
6
|
interface VitestRunnerConfig {
|
48
7
|
root: string;
|
49
8
|
setupFiles: string[] | string;
|
package/dist/utils.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
import { S as Suite, T as Task, a as Test, C as Custom } from './tasks-
|
2
|
-
export { b as ChainableFunction, c as createChainable } from './tasks-
|
1
|
+
import { S as Suite, T as Task, a as Test, C as Custom } from './tasks-rsXe_qLO.js';
|
2
|
+
export { b as ChainableFunction, c as createChainable } from './tasks-rsXe_qLO.js';
|
3
3
|
import { Arrayable } from '@vitest/utils';
|
4
4
|
|
5
5
|
/**
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@vitest/runner",
|
3
3
|
"type": "module",
|
4
|
-
"version": "1.0.0-beta.
|
4
|
+
"version": "1.0.0-beta.5",
|
5
5
|
"description": "Vitest test runner",
|
6
6
|
"license": "MIT",
|
7
7
|
"funding": "https://opencollective.com/vitest",
|
@@ -18,15 +18,15 @@
|
|
18
18
|
"exports": {
|
19
19
|
".": {
|
20
20
|
"types": "./dist/index.d.ts",
|
21
|
-
"
|
21
|
+
"default": "./dist/index.js"
|
22
22
|
},
|
23
23
|
"./utils": {
|
24
24
|
"types": "./dist/utils.d.ts",
|
25
|
-
"
|
25
|
+
"default": "./dist/utils.js"
|
26
26
|
},
|
27
27
|
"./types": {
|
28
28
|
"types": "./dist/types.d.ts",
|
29
|
-
"
|
29
|
+
"default": "./dist/types.js"
|
30
30
|
},
|
31
31
|
"./*": "./*"
|
32
32
|
},
|
@@ -34,13 +34,13 @@
|
|
34
34
|
"module": "./dist/index.js",
|
35
35
|
"types": "./dist/index.d.ts",
|
36
36
|
"files": [
|
37
|
-
"
|
38
|
-
"
|
37
|
+
"*.d.ts",
|
38
|
+
"dist"
|
39
39
|
],
|
40
40
|
"dependencies": {
|
41
|
-
"p-limit": "^
|
41
|
+
"p-limit": "^5.0.0",
|
42
42
|
"pathe": "^1.1.1",
|
43
|
-
"@vitest/utils": "1.0.0-beta.
|
43
|
+
"@vitest/utils": "1.0.0-beta.5"
|
44
44
|
},
|
45
45
|
"scripts": {
|
46
46
|
"build": "rimraf dist && rollup -c",
|