vitest 0.0.133 → 0.0.137
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/cli.js +10 -10
- package/dist/{constants-0211a379.js → constants-d24b670d.js} +2 -2
- package/dist/{diff-18d4a7eb.js → diff-5dfc7eb4.js} +3 -5
- package/dist/entry.js +86 -20
- package/dist/{global-5d1fb309.js → global-f971f18f.js} +6 -6
- package/dist/{index-354a6abd.js → index-314cb4d9.js} +5 -3
- package/dist/index-5d6a5929.js +9255 -0
- package/dist/{index-7975be53.js → index-648e7ab2.js} +1 -1
- package/dist/index-64aafe4b.js +396 -0
- package/dist/index-64de1341.js +8677 -0
- package/dist/{index-4cd25949.js → index-6e709f57.js} +1 -1
- package/dist/{index-26cb6e63.js → index-ce49e384.js} +3 -3
- package/dist/index.d.ts +135 -17
- package/dist/index.js +4 -4
- package/dist/jest-mock-6c629944.js +95 -0
- package/dist/node.d.ts +111 -4
- package/dist/node.js +6 -6
- package/dist/{setup-5aaf533e.js → setup-97a1dda2.js} +49 -26
- package/dist/vi-567ba572.js +3462 -0
- package/dist/worker.js +48 -51
- package/package.json +5 -5
- package/dist/externalize-2f63779d.js +0 -9259
- package/dist/index-720a83c6.js +0 -396
- package/dist/index-7f7acd60.js +0 -8548
- package/dist/index-e909c175.js +0 -63
- package/dist/jest-mock-30625866.js +0 -94
- package/dist/vi-aec007e7.js +0 -3461
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ViteDevServer, CommonServerOptions } from 'vite';
|
|
1
|
+
import { ViteDevServer, CommonServerOptions, TransformResult } from 'vite';
|
|
2
2
|
import { MessagePort } from 'worker_threads';
|
|
3
3
|
import { SpyImpl } from 'tinyspy';
|
|
4
4
|
export { Spy, SpyFn } from 'tinyspy';
|
|
@@ -307,6 +307,7 @@ declare class Vitest {
|
|
|
307
307
|
visitedFilesMap: Map<string, RawSourceMap>;
|
|
308
308
|
runningPromise?: Promise<void>;
|
|
309
309
|
closingPromise?: Promise<void>;
|
|
310
|
+
externalizeCache: Map<string, Promise<string | false>>;
|
|
310
311
|
isFirstRun: boolean;
|
|
311
312
|
restartsCount: number;
|
|
312
313
|
private _onRestartListeners;
|
|
@@ -327,6 +328,7 @@ declare class Vitest {
|
|
|
327
328
|
report<T extends keyof Reporter>(name: T, ...args: ArgumentsType<Reporter[T]>): Promise<void>;
|
|
328
329
|
globTestFiles(filters?: string[]): Promise<string[]>;
|
|
329
330
|
isTargetFile(id: string): boolean;
|
|
331
|
+
shouldExternalize(id: string): Promise<string | false>;
|
|
330
332
|
onServerRestarted(fn: () => void): void;
|
|
331
333
|
}
|
|
332
334
|
|
|
@@ -386,9 +388,14 @@ declare class VerboseReporter extends DefaultReporter {
|
|
|
386
388
|
}
|
|
387
389
|
|
|
388
390
|
declare class TapReporter implements Reporter {
|
|
389
|
-
|
|
391
|
+
protected ctx: Vitest;
|
|
392
|
+
onInit(ctx: Vitest): void;
|
|
393
|
+
protected logTasks(tasks: Task[], currentIdent: string): void;
|
|
394
|
+
onFinished(files?: File[]): Promise<void>;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
declare class TapFlatReporter extends TapReporter {
|
|
390
398
|
onInit(ctx: Vitest): void;
|
|
391
|
-
logTasks(tasks: Task[], currentIdent: string): void;
|
|
392
399
|
onFinished(files?: File[]): Promise<void>;
|
|
393
400
|
}
|
|
394
401
|
|
|
@@ -397,6 +404,7 @@ declare const ReportersMap: {
|
|
|
397
404
|
verbose: typeof VerboseReporter;
|
|
398
405
|
dot: typeof DotReporter;
|
|
399
406
|
tap: typeof TapReporter;
|
|
407
|
+
'tap-flat': typeof TapFlatReporter;
|
|
400
408
|
};
|
|
401
409
|
declare type BuiltinReporters = keyof typeof ReportersMap;
|
|
402
410
|
|
|
@@ -450,6 +458,86 @@ interface ResolvedC8Options extends Required<C8Options> {
|
|
|
450
458
|
tempDirectory: string;
|
|
451
459
|
}
|
|
452
460
|
|
|
461
|
+
interface JSDOMOptions {
|
|
462
|
+
/**
|
|
463
|
+
* The html content for the test.
|
|
464
|
+
*
|
|
465
|
+
* @default '<!DOCTYPE html>'
|
|
466
|
+
*/
|
|
467
|
+
html?: string | Buffer | ArrayBufferLike;
|
|
468
|
+
/**
|
|
469
|
+
* referrer just affects the value read from document.referrer.
|
|
470
|
+
* It defaults to no referrer (which reflects as the empty string).
|
|
471
|
+
*/
|
|
472
|
+
referrer?: string;
|
|
473
|
+
/**
|
|
474
|
+
* userAgent affects the value read from navigator.userAgent, as well as the User-Agent header sent while fetching subresources.
|
|
475
|
+
*
|
|
476
|
+
* @default `Mozilla/5.0 (${process.platform}) AppleWebKit/537.36 (KHTML, like Gecko) jsdom/${jsdomVersion}`
|
|
477
|
+
*/
|
|
478
|
+
userAgent?: string;
|
|
479
|
+
/**
|
|
480
|
+
* url sets the value returned by window.location, document.URL, and document.documentURI,
|
|
481
|
+
* and affects things like resolution of relative URLs within the document
|
|
482
|
+
* and the same-origin restrictions and referrer used while fetching subresources.
|
|
483
|
+
*
|
|
484
|
+
* @default 'http://localhost:3000'.
|
|
485
|
+
*/
|
|
486
|
+
url?: string;
|
|
487
|
+
/**
|
|
488
|
+
* contentType affects the value read from document.contentType, and how the document is parsed: as HTML or as XML.
|
|
489
|
+
* Values that are not "text/html" or an XML mime type will throw.
|
|
490
|
+
*
|
|
491
|
+
* @default 'text/html'.
|
|
492
|
+
*/
|
|
493
|
+
contentType?: string;
|
|
494
|
+
/**
|
|
495
|
+
* The maximum size in code units for the separate storage areas used by localStorage and sessionStorage.
|
|
496
|
+
* Attempts to store data larger than this limit will cause a DOMException to be thrown. By default, it is set
|
|
497
|
+
* to 5,000,000 code units per origin, as inspired by the HTML specification.
|
|
498
|
+
*
|
|
499
|
+
* @default 5_000_000
|
|
500
|
+
*/
|
|
501
|
+
storageQuota?: number;
|
|
502
|
+
/**
|
|
503
|
+
* Enable console?
|
|
504
|
+
*
|
|
505
|
+
* @default false
|
|
506
|
+
*/
|
|
507
|
+
console?: boolean;
|
|
508
|
+
/**
|
|
509
|
+
* jsdom does not have the capability to render visual content, and will act like a headless browser by default.
|
|
510
|
+
* It provides hints to web pages through APIs such as document.hidden that their content is not visible.
|
|
511
|
+
*
|
|
512
|
+
* When the `pretendToBeVisual` option is set to `true`, jsdom will pretend that it is rendering and displaying
|
|
513
|
+
* content.
|
|
514
|
+
*
|
|
515
|
+
* @default true
|
|
516
|
+
*/
|
|
517
|
+
pretendToBeVisual?: boolean;
|
|
518
|
+
/**
|
|
519
|
+
* `includeNodeLocations` preserves the location info produced by the HTML parser,
|
|
520
|
+
* allowing you to retrieve it with the nodeLocation() method (described below).
|
|
521
|
+
*
|
|
522
|
+
* It defaults to false to give the best performance,
|
|
523
|
+
* and cannot be used with an XML content type since our XML parser does not support location info.
|
|
524
|
+
*
|
|
525
|
+
* @default false
|
|
526
|
+
*/
|
|
527
|
+
includeNodeLocations?: boolean | undefined;
|
|
528
|
+
/**
|
|
529
|
+
* @default 'dangerously'
|
|
530
|
+
*/
|
|
531
|
+
runScripts?: 'dangerously' | 'outside-only';
|
|
532
|
+
/**
|
|
533
|
+
* Enable CookieJar
|
|
534
|
+
*
|
|
535
|
+
* @default false
|
|
536
|
+
*/
|
|
537
|
+
cookieJar?: boolean;
|
|
538
|
+
resources?: 'usable' | any;
|
|
539
|
+
}
|
|
540
|
+
|
|
453
541
|
declare type Awaitable<T> = T | PromiseLike<T>;
|
|
454
542
|
declare type Nullable<T> = T | null | undefined;
|
|
455
543
|
declare type Arrayable<T> = T | Array<T>;
|
|
@@ -464,7 +552,7 @@ interface EnvironmentReturn {
|
|
|
464
552
|
}
|
|
465
553
|
interface Environment {
|
|
466
554
|
name: string;
|
|
467
|
-
setup(global: any): Awaitable<EnvironmentReturn>;
|
|
555
|
+
setup(global: any, options: Record<string, any>): Awaitable<EnvironmentReturn>;
|
|
468
556
|
}
|
|
469
557
|
interface UserConsoleLog {
|
|
470
558
|
content: string;
|
|
@@ -493,6 +581,11 @@ interface ErrorWithDiff extends Error {
|
|
|
493
581
|
expected?: any;
|
|
494
582
|
operator?: string;
|
|
495
583
|
}
|
|
584
|
+
interface ModuleGraphData {
|
|
585
|
+
graph: Record<string, string[]>;
|
|
586
|
+
externalized: string[];
|
|
587
|
+
inlined: string[];
|
|
588
|
+
}
|
|
496
589
|
|
|
497
590
|
declare type ChainableFunction<T extends string, Args extends any[], R = any> = {
|
|
498
591
|
(...args: Args): R;
|
|
@@ -621,6 +714,13 @@ interface SnapshotSummary {
|
|
|
621
714
|
|
|
622
715
|
declare type BuiltinEnvironment = 'node' | 'jsdom' | 'happy-dom';
|
|
623
716
|
declare type ApiConfig = Pick<CommonServerOptions, 'port' | 'strictPort' | 'host'>;
|
|
717
|
+
|
|
718
|
+
interface EnvironmentOptions {
|
|
719
|
+
/**
|
|
720
|
+
* jsdom options.
|
|
721
|
+
*/
|
|
722
|
+
jsdom?: JSDOMOptions;
|
|
723
|
+
}
|
|
624
724
|
interface InlineConfig {
|
|
625
725
|
/**
|
|
626
726
|
* Include globs for test files
|
|
@@ -682,7 +782,11 @@ interface InlineConfig {
|
|
|
682
782
|
*/
|
|
683
783
|
environment?: BuiltinEnvironment;
|
|
684
784
|
/**
|
|
685
|
-
*
|
|
785
|
+
* Environment options.
|
|
786
|
+
*/
|
|
787
|
+
environmentOptions?: EnvironmentOptions;
|
|
788
|
+
/**
|
|
789
|
+
* Update snapshot
|
|
686
790
|
*
|
|
687
791
|
* @default false
|
|
688
792
|
*/
|
|
@@ -695,6 +799,8 @@ interface InlineConfig {
|
|
|
695
799
|
watch?: boolean;
|
|
696
800
|
/**
|
|
697
801
|
* Project root
|
|
802
|
+
*
|
|
803
|
+
* @default process.cwd()
|
|
698
804
|
*/
|
|
699
805
|
root?: string;
|
|
700
806
|
/**
|
|
@@ -788,7 +894,13 @@ interface InlineConfig {
|
|
|
788
894
|
* Open Vitest UI
|
|
789
895
|
* @internal WIP
|
|
790
896
|
*/
|
|
791
|
-
|
|
897
|
+
ui?: boolean;
|
|
898
|
+
/**
|
|
899
|
+
* Base url for the UI
|
|
900
|
+
*
|
|
901
|
+
* @default '/__vitest__/'
|
|
902
|
+
*/
|
|
903
|
+
uiBase?: string;
|
|
792
904
|
}
|
|
793
905
|
interface UserConfig extends InlineConfig {
|
|
794
906
|
/**
|
|
@@ -839,8 +951,12 @@ interface WorkerContext {
|
|
|
839
951
|
files: string[];
|
|
840
952
|
invalidates?: string[];
|
|
841
953
|
}
|
|
954
|
+
declare type FetchFunction = (id: string) => Promise<{
|
|
955
|
+
code?: string;
|
|
956
|
+
externalize?: string;
|
|
957
|
+
}>;
|
|
842
958
|
interface WorkerRPC {
|
|
843
|
-
fetch:
|
|
959
|
+
fetch: FetchFunction;
|
|
844
960
|
getSourceMap: (id: string, force?: boolean) => Promise<RawSourceMap | undefined>;
|
|
845
961
|
onWorkerExit: (code?: number) => void;
|
|
846
962
|
onUserLog: (log: UserConsoleLog) => void;
|
|
@@ -874,11 +990,11 @@ interface MockResultThrow {
|
|
|
874
990
|
value: any;
|
|
875
991
|
}
|
|
876
992
|
declare type MockResult<T> = MockResultReturn<T> | MockResultThrow | MockResultIncomplete;
|
|
877
|
-
interface JestMockCompatContext<
|
|
878
|
-
calls:
|
|
879
|
-
instances:
|
|
993
|
+
interface JestMockCompatContext<TArgs, TReturns> {
|
|
994
|
+
calls: TArgs[];
|
|
995
|
+
instances: TReturns[];
|
|
880
996
|
invocationCallOrder: number[];
|
|
881
|
-
results: MockResult<
|
|
997
|
+
results: MockResult<TReturns>[];
|
|
882
998
|
}
|
|
883
999
|
declare type Procedure = (...args: any[]) => any;
|
|
884
1000
|
declare type Methods<T> = {
|
|
@@ -1022,16 +1138,16 @@ declare class VitestUtils {
|
|
|
1022
1138
|
declare const vitest: VitestUtils;
|
|
1023
1139
|
declare const vi: VitestUtils;
|
|
1024
1140
|
|
|
1141
|
+
interface TransformResultWithSource extends TransformResult {
|
|
1142
|
+
source?: string;
|
|
1143
|
+
}
|
|
1025
1144
|
interface WebSocketHandlers {
|
|
1026
1145
|
getFiles(): File[];
|
|
1027
1146
|
getConfig(): ResolvedConfig;
|
|
1147
|
+
getModuleGraph(id: string): Promise<ModuleGraphData>;
|
|
1148
|
+
getTransformResult(id: string): Promise<TransformResultWithSource | undefined>;
|
|
1028
1149
|
readFile(id: string): Promise<string>;
|
|
1029
1150
|
writeFile(id: string, content: string): Promise<void>;
|
|
1030
|
-
getModuleGraph(id: string): Promise<{
|
|
1031
|
-
graph: Record<string, string[]>;
|
|
1032
|
-
externalized: string[];
|
|
1033
|
-
inlined: string[];
|
|
1034
|
-
}>;
|
|
1035
1151
|
rerun(files: string[]): Promise<void>;
|
|
1036
1152
|
}
|
|
1037
1153
|
interface WebSocketEvents extends Pick<Reporter, 'onCollected' | 'onTaskUpdate'> {
|
|
@@ -1062,6 +1178,8 @@ declare global {
|
|
|
1062
1178
|
anything(): Anything;
|
|
1063
1179
|
any(constructor: unknown): Any;
|
|
1064
1180
|
addSnapshotSerializer(plugin: Plugin): void;
|
|
1181
|
+
getState(): MatcherState;
|
|
1182
|
+
setState(state: Partial<MatcherState>): void;
|
|
1065
1183
|
not: AsymmetricMatchersContaining;
|
|
1066
1184
|
}
|
|
1067
1185
|
interface JestAssertions {
|
|
@@ -1128,4 +1246,4 @@ declare global {
|
|
|
1128
1246
|
}
|
|
1129
1247
|
}
|
|
1130
1248
|
|
|
1131
|
-
export { ApiConfig, ArgumentsType, Arrayable, Awaitable, BuiltinEnvironment, DoneCallback, EnhancedSpy, Environment, EnvironmentReturn, ErrorWithDiff, File, HookListener, InlineConfig, JestMockCompat, JestMockCompatContext, JestMockCompatFn, MaybeMocked, MaybeMockedConstructor, MaybeMockedDeep, MockWithArgs, MockedFunction, MockedFunctionDeep, MockedObject, MockedObjectDeep, ModuleCache, Nullable, ParsedStack, Position, Reporter, ResolvedConfig, RunMode, RuntimeContext, SnapshotData, SnapshotMatchOptions, SnapshotResult, SnapshotStateOptions, SnapshotSummary, SnapshotUpdateState, Suite, SuiteCollector, SuiteHooks, Task, TaskBase, TaskResult, TaskResultPack, TaskState, Test, TestCollector, TestFactory, TestFunction, UncheckedSnapshot, UserConfig, UserConsoleLog, WebSocketEvents, WebSocketHandlers, WorkerContext, WorkerRPC, afterAll, afterEach, beforeAll, beforeEach, describe, expect, fn, isMockFunction, it, spies, spyOn, suite, test, vi, vitest };
|
|
1249
|
+
export { ApiConfig, ArgumentsType, Arrayable, Awaitable, BuiltinEnvironment, DoneCallback, EnhancedSpy, Environment, EnvironmentOptions, EnvironmentReturn, ErrorWithDiff, FetchFunction, File, HookListener, InlineConfig, JSDOMOptions, JestMockCompat, JestMockCompatContext, JestMockCompatFn, MaybeMocked, MaybeMockedConstructor, MaybeMockedDeep, MockWithArgs, MockedFunction, MockedFunctionDeep, MockedObject, MockedObjectDeep, ModuleCache, ModuleGraphData, Nullable, ParsedStack, Position, Reporter, ResolvedConfig, RunMode, RuntimeContext, SnapshotData, SnapshotMatchOptions, SnapshotResult, SnapshotStateOptions, SnapshotSummary, SnapshotUpdateState, Suite, SuiteCollector, SuiteHooks, Task, TaskBase, TaskResult, TaskResultPack, TaskState, Test, TestCollector, TestFactory, TestFunction, TransformResultWithSource, UncheckedSnapshot, UserConfig, UserConsoleLog, WebSocketEvents, WebSocketHandlers, WorkerContext, WorkerRPC, afterAll, afterEach, beforeAll, beforeEach, describe, expect, fn, isMockFunction, it, spies, spyOn, suite, test, vi, vitest };
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { d as describe, i as it, c as suite, t as test, e as vi, v as vitest } from './vi-
|
|
2
|
-
export { a as afterAll, d as afterEach, b as beforeAll, c as beforeEach, e as expect } from './index-
|
|
3
|
-
export { f as fn, i as isMockFunction, s as spies, a as spyOn } from './jest-mock-
|
|
1
|
+
export { d as describe, i as it, c as suite, t as test, e as vi, v as vitest } from './vi-567ba572.js';
|
|
2
|
+
export { a as afterAll, d as afterEach, b as beforeAll, c as beforeEach, e as expect } from './index-314cb4d9.js';
|
|
3
|
+
export { f as fn, i as isMockFunction, s as spies, a as spyOn } from './jest-mock-6c629944.js';
|
|
4
4
|
export { assert, default as chai, should } from 'chai';
|
|
5
|
-
import './index-
|
|
5
|
+
import './index-64aafe4b.js';
|
|
6
6
|
import 'url';
|
|
7
7
|
import 'tty';
|
|
8
8
|
import 'local-pkg';
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { util } from 'chai';
|
|
2
|
+
import * as tinyspy from 'tinyspy';
|
|
3
|
+
|
|
4
|
+
const spies = new Set();
|
|
5
|
+
function isMockFunction(fn2) {
|
|
6
|
+
return typeof fn2 === "function" && "__isSpy" in fn2 && fn2.__isSpy;
|
|
7
|
+
}
|
|
8
|
+
function spyOn(obj, method, accessType) {
|
|
9
|
+
const dictionary = {
|
|
10
|
+
get: "getter",
|
|
11
|
+
set: "setter"
|
|
12
|
+
};
|
|
13
|
+
const objMethod = accessType ? { [dictionary[accessType]]: method } : method;
|
|
14
|
+
const stub = tinyspy.spyOn(obj, objMethod);
|
|
15
|
+
return enhanceSpy(stub);
|
|
16
|
+
}
|
|
17
|
+
function enhanceSpy(spy) {
|
|
18
|
+
const stub = spy;
|
|
19
|
+
let implementation;
|
|
20
|
+
let instances = [];
|
|
21
|
+
const mockContext = {
|
|
22
|
+
get calls() {
|
|
23
|
+
return stub.calls;
|
|
24
|
+
},
|
|
25
|
+
get instances() {
|
|
26
|
+
return instances;
|
|
27
|
+
},
|
|
28
|
+
get invocationCallOrder() {
|
|
29
|
+
return [];
|
|
30
|
+
},
|
|
31
|
+
get results() {
|
|
32
|
+
return stub.results.map(([callType, value]) => {
|
|
33
|
+
const type = callType === "error" ? "throw" : "return";
|
|
34
|
+
return { type, value };
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
let onceImplementations = [];
|
|
39
|
+
let name = stub.name;
|
|
40
|
+
stub.getMockName = () => name || "vi.fn()";
|
|
41
|
+
stub.mockName = (n) => {
|
|
42
|
+
name = n;
|
|
43
|
+
return stub;
|
|
44
|
+
};
|
|
45
|
+
stub.mockClear = () => {
|
|
46
|
+
stub.reset();
|
|
47
|
+
instances = [];
|
|
48
|
+
return stub;
|
|
49
|
+
};
|
|
50
|
+
stub.mockReset = () => {
|
|
51
|
+
stub.mockClear();
|
|
52
|
+
implementation = () => void 0;
|
|
53
|
+
onceImplementations = [];
|
|
54
|
+
return stub;
|
|
55
|
+
};
|
|
56
|
+
stub.mockRestore = () => {
|
|
57
|
+
stub.mockReset();
|
|
58
|
+
implementation = void 0;
|
|
59
|
+
return stub;
|
|
60
|
+
};
|
|
61
|
+
stub.getMockImplementation = () => implementation;
|
|
62
|
+
stub.mockImplementation = (fn2) => {
|
|
63
|
+
implementation = fn2;
|
|
64
|
+
return stub;
|
|
65
|
+
};
|
|
66
|
+
stub.mockImplementationOnce = (fn2) => {
|
|
67
|
+
onceImplementations.push(fn2);
|
|
68
|
+
return stub;
|
|
69
|
+
};
|
|
70
|
+
stub.mockReturnThis = () => stub.mockImplementation(function() {
|
|
71
|
+
return this;
|
|
72
|
+
});
|
|
73
|
+
stub.mockReturnValue = (val) => stub.mockImplementation(() => val);
|
|
74
|
+
stub.mockReturnValueOnce = (val) => stub.mockImplementationOnce(() => val);
|
|
75
|
+
stub.mockResolvedValue = (val) => stub.mockImplementation(() => Promise.resolve(val));
|
|
76
|
+
stub.mockResolvedValueOnce = (val) => stub.mockImplementationOnce(() => Promise.resolve(val));
|
|
77
|
+
stub.mockRejectedValue = (val) => stub.mockImplementation(() => Promise.reject(val));
|
|
78
|
+
stub.mockRejectedValueOnce = (val) => stub.mockImplementationOnce(() => Promise.reject(val));
|
|
79
|
+
util.addProperty(stub, "mock", () => mockContext);
|
|
80
|
+
stub.willCall(function(...args) {
|
|
81
|
+
instances.push(this);
|
|
82
|
+
const impl = onceImplementations.shift() || implementation || stub.getOriginal() || (() => {
|
|
83
|
+
});
|
|
84
|
+
return impl.apply(this, args);
|
|
85
|
+
});
|
|
86
|
+
spies.add(stub);
|
|
87
|
+
return stub;
|
|
88
|
+
}
|
|
89
|
+
function fn(implementation) {
|
|
90
|
+
return enhanceSpy(tinyspy.spyOn({ fn: implementation || (() => {
|
|
91
|
+
}) }, "fn"));
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export { spyOn as a, fn as f, isMockFunction as i, spies as s };
|
|
95
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamVzdC1tb2NrLTZjNjI5OTQ0LmpzIiwic291cmNlcyI6WyIuLi9zcmMvaW50ZWdyYXRpb25zL2plc3QtbW9jay50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1dGlsIH0gZnJvbSAnY2hhaSdcbmltcG9ydCB0eXBlIHsgU3B5SW1wbCB9IGZyb20gJ3RpbnlzcHknXG5pbXBvcnQgKiBhcyB0aW55c3B5IGZyb20gJ3RpbnlzcHknXG5cbmludGVyZmFjZSBNb2NrUmVzdWx0UmV0dXJuPFQ+IHtcbiAgdHlwZTogJ3JldHVybidcbiAgdmFsdWU6IFRcbn1cbmludGVyZmFjZSBNb2NrUmVzdWx0SW5jb21wbGV0ZSB7XG4gIHR5cGU6ICdpbmNvbXBsZXRlJ1xuICB2YWx1ZTogdW5kZWZpbmVkXG59XG5pbnRlcmZhY2UgTW9ja1Jlc3VsdFRocm93IHtcbiAgdHlwZTogJ3Rocm93J1xuICB2YWx1ZTogYW55XG59XG5cbnR5cGUgTW9ja1Jlc3VsdDxUPiA9IE1vY2tSZXN1bHRSZXR1cm48VD4gfCBNb2NrUmVzdWx0VGhyb3cgfCBNb2NrUmVzdWx0SW5jb21wbGV0ZVxuXG5leHBvcnQgaW50ZXJmYWNlIEplc3RNb2NrQ29tcGF0Q29udGV4dDxUQXJncywgVFJldHVybnM+IHtcbiAgY2FsbHM6IFRBcmdzW11cbiAgaW5zdGFuY2VzOiBUUmV0dXJuc1tdXG4gIC8vIFRPRE86IGRvZXNuJ3Qgd29ya1xuICBpbnZvY2F0aW9uQ2FsbE9yZGVyOiBudW1iZXJbXVxuICByZXN1bHRzOiBNb2NrUmVzdWx0PFRSZXR1cm5zPltdXG59XG5cbnR5cGUgUHJvY2VkdXJlID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnlcblxudHlwZSBNZXRob2RzPFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzIFByb2NlZHVyZSA/IEsgOiBuZXZlclxufVtrZXlvZiBUXSAmIHN0cmluZ1xudHlwZSBQcm9wZXJ0aWVzPFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzIFByb2NlZHVyZSA/IG5ldmVyIDogS1xufVtrZXlvZiBUXSAmIHN0cmluZ1xudHlwZSBDbGFzc2VzPFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzIG5ldyAoLi4uYXJnczogYW55W10pID0+IGFueSA/IEsgOiBuZXZlclxufVtrZXlvZiBUXSAmIHN0cmluZ1xuXG5leHBvcnQgaW50ZXJmYWNlIEplc3RNb2NrQ29tcGF0PFRBcmdzIGV4dGVuZHMgYW55W10gPSBhbnlbXSwgVFJldHVybnMgPSBhbnk+IHtcbiAgZ2V0TW9ja05hbWUoKTogc3RyaW5nXG4gIG1vY2tOYW1lKG46IHN0cmluZyk6IHRoaXNcbiAgbW9jazogSmVzdE1vY2tDb21wYXRDb250ZXh0PFRBcmdzLCBUUmV0dXJucz5cbiAgbW9ja0NsZWFyKCk6IHRoaXNcbiAgbW9ja1Jlc2V0KCk6IHRoaXNcbiAgbW9ja1Jlc3RvcmUoKTogdm9pZFxuICBnZXRNb2NrSW1wbGVtZW50YXRpb24oKTogKCguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybnMpIHwgdW5kZWZpbmVkXG4gIG1vY2tJbXBsZW1lbnRhdGlvbihmbjogKCguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybnMpIHwgKCgpID0+IFByb21pc2U8VFJldHVybnM+KSk6IHRoaXNcbiAgbW9ja0ltcGxlbWVudGF0aW9uT25jZShmbjogKCguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybnMpIHwgKCgpID0+IFByb21pc2U8VFJldHVybnM+KSk6IHRoaXNcbiAgbW9ja1JldHVyblRoaXMoKTogdGhpc1xuICBtb2NrUmV0dXJuVmFsdWUob2JqOiBUUmV0dXJucyk6IHRoaXNcbiAgbW9ja1JldHVyblZhbHVlT25jZShvYmo6IFRSZXR1cm5zKTogdGhpc1xuICBtb2NrUmVzb2x2ZWRWYWx1ZShvYmo6IEF3YWl0ZWQ8VFJldHVybnM+KTogdGhpc1xuICBtb2NrUmVzb2x2ZWRWYWx1ZU9uY2Uob2JqOiBBd2FpdGVkPFRSZXR1cm5zPik6IHRoaXNcbiAgbW9ja1JlamVjdGVkVmFsdWUob2JqOiBhbnkpOiB0aGlzXG4gIG1vY2tSZWplY3RlZFZhbHVlT25jZShvYmo6IGFueSk6IHRoaXNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBKZXN0TW9ja0NvbXBhdEZuPFRBcmdzIGV4dGVuZHMgYW55W10gPSBhbnksIFRSZXR1cm5zID0gYW55PiBleHRlbmRzIEplc3RNb2NrQ29tcGF0PFRBcmdzLCBUUmV0dXJucz4ge1xuICAoLi4uYXJnczogVEFyZ3MpOiBUUmV0dXJuc1xufVxuXG5leHBvcnQgdHlwZSBNYXliZU1vY2tlZENvbnN0cnVjdG9yPFQ+ID0gVCBleHRlbmRzIG5ldyAoXG4gIC4uLmFyZ3M6IEFycmF5PGFueT5cbikgPT4gaW5mZXIgUlxuICA/IEplc3RNb2NrQ29tcGF0Rm48Q29uc3RydWN0b3JQYXJhbWV0ZXJzPFQ+LCBSPlxuICA6IFRcbmV4cG9ydCB0eXBlIE1vY2tlZEZ1bmN0aW9uPFQgZXh0ZW5kcyBQcm9jZWR1cmU+ID0gTW9ja1dpdGhBcmdzPFQ+ICYge1xuICBbSyBpbiBrZXlvZiBUXTogVFtLXTtcbn1cbmV4cG9ydCB0eXBlIE1vY2tlZEZ1bmN0aW9uRGVlcDxUIGV4dGVuZHMgUHJvY2VkdXJlPiA9IE1vY2tXaXRoQXJnczxUPiAmIE1vY2tlZE9iamVjdERlZXA8VD5cbmV4cG9ydCB0eXBlIE1vY2tlZE9iamVjdDxUPiA9IE1heWJlTW9ja2VkQ29uc3RydWN0b3I8VD4gJiB7XG4gIFtLIGluIE1ldGhvZHM8VD5dOiBUW0tdIGV4dGVuZHMgUHJvY2VkdXJlXG4gICAgPyBNb2NrZWRGdW5jdGlvbjxUW0tdPlxuICAgIDogVFtLXTtcbn0gJiB7W0sgaW4gUHJvcGVydGllczxUPl06IFRbS119XG5leHBvcnQgdHlwZSBNb2NrZWRPYmplY3REZWVwPFQ+ID0gTWF5YmVNb2NrZWRDb25zdHJ1Y3RvcjxUPiAmIHtcbiAgW0sgaW4gTWV0aG9kczxUPl06IFRbS10gZXh0ZW5kcyBQcm9jZWR1cmVcbiAgICA/IE1vY2tlZEZ1bmN0aW9uRGVlcDxUW0tdPlxuICAgIDogVFtLXTtcbn0gJiB7W0sgaW4gUHJvcGVydGllczxUPl06IE1heWJlTW9ja2VkRGVlcDxUW0tdPn1cblxuZXhwb3J0IHR5cGUgTWF5YmVNb2NrZWREZWVwPFQ+ID0gVCBleHRlbmRzIFByb2NlZHVyZVxuICA/IE1vY2tlZEZ1bmN0aW9uRGVlcDxUPlxuICA6IFQgZXh0ZW5kcyBvYmplY3RcbiAgICA/IE1vY2tlZE9iamVjdERlZXA8VD5cbiAgICA6IFRcblxuZXhwb3J0IHR5cGUgTWF5YmVNb2NrZWQ8VD4gPSBUIGV4dGVuZHMgUHJvY2VkdXJlXG4gID8gTW9ja2VkRnVuY3Rpb248VD5cbiAgOiBUIGV4dGVuZHMgb2JqZWN0XG4gICAgPyBNb2NrZWRPYmplY3Q8VD5cbiAgICA6IFRcblxuZXhwb3J0IHR5cGUgRW5oYW5jZWRTcHk8VEFyZ3MgZXh0ZW5kcyBhbnlbXSA9IGFueVtdLCBUUmV0dXJucyA9IGFueT4gPSBKZXN0TW9ja0NvbXBhdDxUQXJncywgVFJldHVybnM+ICYgU3B5SW1wbDxUQXJncywgVFJldHVybnM+XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9ja1dpdGhBcmdzPFQgZXh0ZW5kcyBQcm9jZWR1cmU+XG4gIGV4dGVuZHMgSmVzdE1vY2tDb21wYXRGbjxQYXJhbWV0ZXJzPFQ+LCBSZXR1cm5UeXBlPFQ+PiB7XG4gIG5ldyAoLi4uYXJnczogVCBleHRlbmRzIG5ldyAoLi4uYXJnczogYW55KSA9PiBhbnkgPyBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VD4gOiBuZXZlcik6IFRcbiAgKC4uLmFyZ3M6IFBhcmFtZXRlcnM8VD4pOiBSZXR1cm5UeXBlPFQ+XG59XG5cbmV4cG9ydCBjb25zdCBzcGllcyA9IG5ldyBTZXQ8SmVzdE1vY2tDb21wYXQ+KClcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTW9ja0Z1bmN0aW9uKGZuOiBhbnkpOiBmbiBpcyBFbmhhbmNlZFNweSB7XG4gIHJldHVybiB0eXBlb2YgZm4gPT09ICdmdW5jdGlvbidcbiAgJiYgJ19faXNTcHknIGluIGZuXG4gICYmIGZuLl9faXNTcHlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNweU9uPFQsIFMgZXh0ZW5kcyBQcm9wZXJ0aWVzPFJlcXVpcmVkPFQ+Pj4oXG4gIG9iajogVCxcbiAgbWV0aG9kTmFtZTogUyxcbiAgYWNjZXNUeXBlOiAnZ2V0Jyxcbik6IEplc3RNb2NrQ29tcGF0PFtUW1NdXSwgdm9pZD5cbmV4cG9ydCBmdW5jdGlvbiBzcHlPbjxULCBHIGV4dGVuZHMgUHJvcGVydGllczxSZXF1aXJlZDxUPj4+KFxuICBvYmo6IFQsXG4gIG1ldGhvZE5hbWU6IEcsXG4gIGFjY2VzVHlwZTogJ3NldCcsXG4pOiBKZXN0TW9ja0NvbXBhdDxbXSwgVFtHXT5cbmV4cG9ydCBmdW5jdGlvbiBzcHlPbjxULCBNIGV4dGVuZHMgQ2xhc3NlczxSZXF1aXJlZDxUPj4+KFxuICBvYmplY3Q6IFQsXG4gIG1ldGhvZDogTVxuKTogUmVxdWlyZWQ8VD5bTV0gZXh0ZW5kcyBuZXcgKC4uLmFyZ3M6IGluZmVyIEEpID0+IGluZmVyIFJcbiAgPyBKZXN0TW9ja0NvbXBhdDxBLCBSPlxuICA6IG5ldmVyXG5leHBvcnQgZnVuY3Rpb24gc3B5T248VCwgTSBleHRlbmRzIE1ldGhvZHM8UmVxdWlyZWQ8VD4+PihcbiAgb2JqOiBULFxuICBtZXRob2ROYW1lOiBNLFxuICBtb2NrPzogVFtNXVxuKTogUmVxdWlyZWQ8VD5bTV0gZXh0ZW5kcyAoLi4uYXJnczogaW5mZXIgQSkgPT4gaW5mZXIgUiA/IEplc3RNb2NrQ29tcGF0PEEsIFI+IDogbmV2ZXJcbmV4cG9ydCBmdW5jdGlvbiBzcHlPbjxULCBLIGV4dGVuZHMga2V5b2YgVD4oXG4gIG9iajogVCxcbiAgbWV0aG9kOiBLLFxuICBhY2Nlc3NUeXBlPzogJ2dldCcgfCAnc2V0Jyxcbik6IEplc3RNb2NrQ29tcGF0IHtcbiAgY29uc3QgZGljdGlvbmFyeSA9IHtcbiAgICBnZXQ6ICdnZXR0ZXInLFxuICAgIHNldDogJ3NldHRlcicsXG4gIH0gYXMgY29uc3RcbiAgY29uc3Qgb2JqTWV0aG9kID0gYWNjZXNzVHlwZSA/IHsgW2RpY3Rpb25hcnlbYWNjZXNzVHlwZV1dOiBtZXRob2QgfSA6IG1ldGhvZFxuXG4gIGNvbnN0IHN0dWIgPSB0aW55c3B5LnNweU9uKG9iaiwgb2JqTWV0aG9kIGFzIGFueSlcblxuICByZXR1cm4gZW5oYW5jZVNweShzdHViKSBhcyBKZXN0TW9ja0NvbXBhdFxufVxuXG5mdW5jdGlvbiBlbmhhbmNlU3B5PFRBcmdzIGV4dGVuZHMgYW55W10sIFRSZXR1cm5zPihcbiAgc3B5OiBTcHlJbXBsPFRBcmdzLCBUUmV0dXJucz4sXG4pOiBKZXN0TW9ja0NvbXBhdDxUQXJncywgVFJldHVybnM+IHtcbiAgY29uc3Qgc3R1YiA9IHNweSBhcyB1bmtub3duIGFzIEVuaGFuY2VkU3B5PFRBcmdzLCBUUmV0dXJucz5cblxuICBsZXQgaW1wbGVtZW50YXRpb246ICgoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm5zKSB8IHVuZGVmaW5lZFxuXG4gIGxldCBpbnN0YW5jZXM6IGFueVtdID0gW11cblxuICBjb25zdCBtb2NrQ29udGV4dCA9IHtcbiAgICBnZXQgY2FsbHMoKSB7XG4gICAgICByZXR1cm4gc3R1Yi5jYWxsc1xuICAgIH0sXG4gICAgZ2V0IGluc3RhbmNlcygpIHtcbiAgICAgIHJldHVybiBpbnN0YW5jZXNcbiAgICB9LFxuICAgIC8vIG5vdCBzdXBwb3J0ZWRcbiAgICBnZXQgaW52b2NhdGlvbkNhbGxPcmRlcigpIHtcbiAgICAgIHJldHVybiBbXVxuICAgIH0sXG4gICAgZ2V0IHJlc3VsdHMoKSB7XG4gICAgICByZXR1cm4gc3R1Yi5yZXN1bHRzLm1hcCgoW2NhbGxUeXBlLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgdHlwZSA9IGNhbGxUeXBlID09PSAnZXJyb3InID8gJ3Rocm93JyA6ICdyZXR1cm4nXG4gICAgICAgIHJldHVybiB7IHR5cGUsIHZhbHVlIH1cbiAgICAgIH0pXG4gICAgfSxcbiAgfVxuXG4gIGxldCBvbmNlSW1wbGVtZW50YXRpb25zOiAoKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJucylbXSA9IFtdXG5cbiAgbGV0IG5hbWU6IHN0cmluZyA9IChzdHViIGFzIGFueSkubmFtZVxuXG4gIHN0dWIuZ2V0TW9ja05hbWUgPSAoKSA9PiBuYW1lIHx8ICd2aS5mbigpJ1xuICBzdHViLm1vY2tOYW1lID0gKG4pID0+IHtcbiAgICBuYW1lID0gblxuICAgIHJldHVybiBzdHViXG4gIH1cblxuICBzdHViLm1vY2tDbGVhciA9ICgpID0+IHtcbiAgICBzdHViLnJlc2V0KClcbiAgICBpbnN0YW5jZXMgPSBbXVxuICAgIHJldHVybiBzdHViXG4gIH1cblxuICBzdHViLm1vY2tSZXNldCA9ICgpID0+IHtcbiAgICBzdHViLm1vY2tDbGVhcigpXG4gICAgaW1wbGVtZW50YXRpb24gPSAoKSA9PiB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBUUmV0dXJuc1xuICAgIG9uY2VJbXBsZW1lbnRhdGlvbnMgPSBbXVxuICAgIHJldHVybiBzdHViXG4gIH1cblxuICBzdHViLm1vY2tSZXN0b3JlID0gKCkgPT4ge1xuICAgIHN0dWIubW9ja1Jlc2V0KClcbiAgICBpbXBsZW1lbnRhdGlvbiA9IHVuZGVmaW5lZFxuICAgIHJldHVybiBzdHViXG4gIH1cblxuICBzdHViLmdldE1vY2tJbXBsZW1lbnRhdGlvbiA9ICgpID0+IGltcGxlbWVudGF0aW9uXG4gIHN0dWIubW9ja0ltcGxlbWVudGF0aW9uID0gKGZuOiAoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm5zKSA9PiB7XG4gICAgaW1wbGVtZW50YXRpb24gPSBmblxuICAgIHJldHVybiBzdHViXG4gIH1cblxuICBzdHViLm1vY2tJbXBsZW1lbnRhdGlvbk9uY2UgPSAoZm46ICguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybnMpID0+IHtcbiAgICBvbmNlSW1wbGVtZW50YXRpb25zLnB1c2goZm4pXG4gICAgcmV0dXJuIHN0dWJcbiAgfVxuXG4gIHN0dWIubW9ja1JldHVyblRoaXMgPSAoKSA9PlxuICAgIHN0dWIubW9ja0ltcGxlbWVudGF0aW9uKGZ1bmN0aW9uKHRoaXM6IFRSZXR1cm5zKSB7XG4gICAgICByZXR1cm4gdGhpc1xuICAgIH0pXG5cbiAgc3R1Yi5tb2NrUmV0dXJuVmFsdWUgPSAodmFsOiBUUmV0dXJucykgPT4gc3R1Yi5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gdmFsKVxuICBzdHViLm1vY2tSZXR1cm5WYWx1ZU9uY2UgPSAodmFsOiBUUmV0dXJucykgPT4gc3R1Yi5tb2NrSW1wbGVtZW50YXRpb25PbmNlKCgpID0+IHZhbClcblxuICBzdHViLm1vY2tSZXNvbHZlZFZhbHVlID0gKHZhbDogQXdhaXRlZDxUUmV0dXJucz4pID0+XG4gICAgc3R1Yi5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHZhbCBhcyBUUmV0dXJucykpXG5cbiAgc3R1Yi5tb2NrUmVzb2x2ZWRWYWx1ZU9uY2UgPSAodmFsOiBBd2FpdGVkPFRSZXR1cm5zPikgPT5cbiAgICBzdHViLm1vY2tJbXBsZW1lbnRhdGlvbk9uY2UoKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHZhbCBhcyBUUmV0dXJucykpXG5cbiAgc3R1Yi5tb2NrUmVqZWN0ZWRWYWx1ZSA9ICh2YWw6IHVua25vd24pID0+XG4gICAgc3R1Yi5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gUHJvbWlzZS5yZWplY3QodmFsKSlcblxuICBzdHViLm1vY2tSZWplY3RlZFZhbHVlT25jZSA9ICh2YWw6IHVua25vd24pID0+XG4gICAgc3R1Yi5tb2NrSW1wbGVtZW50YXRpb25PbmNlKCgpID0+IFByb21pc2UucmVqZWN0KHZhbCkpXG5cbiAgdXRpbC5hZGRQcm9wZXJ0eShzdHViLCAnbW9jaycsICgpID0+IG1vY2tDb250ZXh0KVxuXG4gIHN0dWIud2lsbENhbGwoZnVuY3Rpb24odGhpczogdW5rbm93biwgLi4uYXJncykge1xuICAgIGluc3RhbmNlcy5wdXNoKHRoaXMpXG4gICAgY29uc3QgaW1wbCA9IG9uY2VJbXBsZW1lbnRhdGlvbnMuc2hpZnQoKSB8fCBpbXBsZW1lbnRhdGlvbiB8fCBzdHViLmdldE9yaWdpbmFsKCkgfHwgKCgpID0+IHt9KVxuICAgIHJldHVybiBpbXBsLmFwcGx5KHRoaXMsIGFyZ3MpXG4gIH0pXG5cbiAgc3BpZXMuYWRkKHN0dWIpXG5cbiAgcmV0dXJuIHN0dWIgYXMgYW55XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmbjxUQXJncyBleHRlbmRzIGFueVtdID0gYW55W10sIFIgPSBhbnk+KCk6IEplc3RNb2NrQ29tcGF0Rm48VEFyZ3MsIFI+XG5leHBvcnQgZnVuY3Rpb24gZm48VEFyZ3MgZXh0ZW5kcyBhbnlbXSA9IGFueVtdLCBSID0gYW55PihcbiAgaW1wbGVtZW50YXRpb246ICguLi5hcmdzOiBUQXJncykgPT4gUlxuKTogSmVzdE1vY2tDb21wYXRGbjxUQXJncywgUj5cbmV4cG9ydCBmdW5jdGlvbiBmbjxUQXJncyBleHRlbmRzIGFueVtdID0gYW55W10sIFIgPSBhbnk+KFxuICBpbXBsZW1lbnRhdGlvbj86ICguLi5hcmdzOiBUQXJncykgPT4gUixcbik6IEplc3RNb2NrQ29tcGF0Rm48VEFyZ3MsIFI+IHtcbiAgcmV0dXJuIGVuaGFuY2VTcHkodGlueXNweS5zcHlPbih7IGZuOiBpbXBsZW1lbnRhdGlvbiB8fCAoKCkgPT4ge30pIH0sICdmbicpKSBhcyB1bmtub3duIGFzIEplc3RNb2NrQ29tcGF0Rm5cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFWSxNQUFDLEtBQUssR0FBRyxJQUFJLEdBQUcsR0FBRztBQUN4QixTQUFTLGNBQWMsQ0FBQyxHQUFHLEVBQUU7QUFDcEMsRUFBRSxPQUFPLE9BQU8sR0FBRyxLQUFLLFVBQVUsSUFBSSxTQUFTLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUM7QUFDdEUsQ0FBQztBQUNNLFNBQVMsS0FBSyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFO0FBQy9DLEVBQUUsTUFBTSxVQUFVLEdBQUc7QUFDckIsSUFBSSxHQUFHLEVBQUUsUUFBUTtBQUNqQixJQUFJLEdB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
|
package/dist/node.d.ts
CHANGED
|
@@ -69,9 +69,14 @@ declare class VerboseReporter extends DefaultReporter {
|
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
declare class TapReporter implements Reporter {
|
|
72
|
-
|
|
72
|
+
protected ctx: Vitest;
|
|
73
|
+
onInit(ctx: Vitest): void;
|
|
74
|
+
protected logTasks(tasks: Task[], currentIdent: string): void;
|
|
75
|
+
onFinished(files?: File[]): Promise<void>;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
declare class TapFlatReporter extends TapReporter {
|
|
73
79
|
onInit(ctx: Vitest): void;
|
|
74
|
-
logTasks(tasks: Task[], currentIdent: string): void;
|
|
75
80
|
onFinished(files?: File[]): Promise<void>;
|
|
76
81
|
}
|
|
77
82
|
|
|
@@ -80,6 +85,7 @@ declare const ReportersMap: {
|
|
|
80
85
|
verbose: typeof VerboseReporter;
|
|
81
86
|
dot: typeof DotReporter;
|
|
82
87
|
tap: typeof TapReporter;
|
|
88
|
+
'tap-flat': typeof TapFlatReporter;
|
|
83
89
|
};
|
|
84
90
|
declare type BuiltinReporters = keyof typeof ReportersMap;
|
|
85
91
|
|
|
@@ -133,6 +139,86 @@ interface ResolvedC8Options extends Required<C8Options> {
|
|
|
133
139
|
tempDirectory: string;
|
|
134
140
|
}
|
|
135
141
|
|
|
142
|
+
interface JSDOMOptions {
|
|
143
|
+
/**
|
|
144
|
+
* The html content for the test.
|
|
145
|
+
*
|
|
146
|
+
* @default '<!DOCTYPE html>'
|
|
147
|
+
*/
|
|
148
|
+
html?: string | Buffer | ArrayBufferLike;
|
|
149
|
+
/**
|
|
150
|
+
* referrer just affects the value read from document.referrer.
|
|
151
|
+
* It defaults to no referrer (which reflects as the empty string).
|
|
152
|
+
*/
|
|
153
|
+
referrer?: string;
|
|
154
|
+
/**
|
|
155
|
+
* userAgent affects the value read from navigator.userAgent, as well as the User-Agent header sent while fetching subresources.
|
|
156
|
+
*
|
|
157
|
+
* @default `Mozilla/5.0 (${process.platform}) AppleWebKit/537.36 (KHTML, like Gecko) jsdom/${jsdomVersion}`
|
|
158
|
+
*/
|
|
159
|
+
userAgent?: string;
|
|
160
|
+
/**
|
|
161
|
+
* url sets the value returned by window.location, document.URL, and document.documentURI,
|
|
162
|
+
* and affects things like resolution of relative URLs within the document
|
|
163
|
+
* and the same-origin restrictions and referrer used while fetching subresources.
|
|
164
|
+
*
|
|
165
|
+
* @default 'http://localhost:3000'.
|
|
166
|
+
*/
|
|
167
|
+
url?: string;
|
|
168
|
+
/**
|
|
169
|
+
* contentType affects the value read from document.contentType, and how the document is parsed: as HTML or as XML.
|
|
170
|
+
* Values that are not "text/html" or an XML mime type will throw.
|
|
171
|
+
*
|
|
172
|
+
* @default 'text/html'.
|
|
173
|
+
*/
|
|
174
|
+
contentType?: string;
|
|
175
|
+
/**
|
|
176
|
+
* The maximum size in code units for the separate storage areas used by localStorage and sessionStorage.
|
|
177
|
+
* Attempts to store data larger than this limit will cause a DOMException to be thrown. By default, it is set
|
|
178
|
+
* to 5,000,000 code units per origin, as inspired by the HTML specification.
|
|
179
|
+
*
|
|
180
|
+
* @default 5_000_000
|
|
181
|
+
*/
|
|
182
|
+
storageQuota?: number;
|
|
183
|
+
/**
|
|
184
|
+
* Enable console?
|
|
185
|
+
*
|
|
186
|
+
* @default false
|
|
187
|
+
*/
|
|
188
|
+
console?: boolean;
|
|
189
|
+
/**
|
|
190
|
+
* jsdom does not have the capability to render visual content, and will act like a headless browser by default.
|
|
191
|
+
* It provides hints to web pages through APIs such as document.hidden that their content is not visible.
|
|
192
|
+
*
|
|
193
|
+
* When the `pretendToBeVisual` option is set to `true`, jsdom will pretend that it is rendering and displaying
|
|
194
|
+
* content.
|
|
195
|
+
*
|
|
196
|
+
* @default true
|
|
197
|
+
*/
|
|
198
|
+
pretendToBeVisual?: boolean;
|
|
199
|
+
/**
|
|
200
|
+
* `includeNodeLocations` preserves the location info produced by the HTML parser,
|
|
201
|
+
* allowing you to retrieve it with the nodeLocation() method (described below).
|
|
202
|
+
*
|
|
203
|
+
* It defaults to false to give the best performance,
|
|
204
|
+
* and cannot be used with an XML content type since our XML parser does not support location info.
|
|
205
|
+
*
|
|
206
|
+
* @default false
|
|
207
|
+
*/
|
|
208
|
+
includeNodeLocations?: boolean | undefined;
|
|
209
|
+
/**
|
|
210
|
+
* @default 'dangerously'
|
|
211
|
+
*/
|
|
212
|
+
runScripts?: 'dangerously' | 'outside-only';
|
|
213
|
+
/**
|
|
214
|
+
* Enable CookieJar
|
|
215
|
+
*
|
|
216
|
+
* @default false
|
|
217
|
+
*/
|
|
218
|
+
cookieJar?: boolean;
|
|
219
|
+
resources?: 'usable' | any;
|
|
220
|
+
}
|
|
221
|
+
|
|
136
222
|
declare type Awaitable<T> = T | PromiseLike<T>;
|
|
137
223
|
declare type Arrayable<T> = T | Array<T>;
|
|
138
224
|
declare type ArgumentsType<T> = T extends (...args: infer U) => any ? U : never;
|
|
@@ -334,6 +420,13 @@ interface SnapshotSummary {
|
|
|
334
420
|
|
|
335
421
|
declare type BuiltinEnvironment = 'node' | 'jsdom' | 'happy-dom';
|
|
336
422
|
declare type ApiConfig = Pick<CommonServerOptions, 'port' | 'strictPort' | 'host'>;
|
|
423
|
+
|
|
424
|
+
interface EnvironmentOptions {
|
|
425
|
+
/**
|
|
426
|
+
* jsdom options.
|
|
427
|
+
*/
|
|
428
|
+
jsdom?: JSDOMOptions;
|
|
429
|
+
}
|
|
337
430
|
interface InlineConfig {
|
|
338
431
|
/**
|
|
339
432
|
* Include globs for test files
|
|
@@ -395,7 +488,11 @@ interface InlineConfig {
|
|
|
395
488
|
*/
|
|
396
489
|
environment?: BuiltinEnvironment;
|
|
397
490
|
/**
|
|
398
|
-
*
|
|
491
|
+
* Environment options.
|
|
492
|
+
*/
|
|
493
|
+
environmentOptions?: EnvironmentOptions;
|
|
494
|
+
/**
|
|
495
|
+
* Update snapshot
|
|
399
496
|
*
|
|
400
497
|
* @default false
|
|
401
498
|
*/
|
|
@@ -408,6 +505,8 @@ interface InlineConfig {
|
|
|
408
505
|
watch?: boolean;
|
|
409
506
|
/**
|
|
410
507
|
* Project root
|
|
508
|
+
*
|
|
509
|
+
* @default process.cwd()
|
|
411
510
|
*/
|
|
412
511
|
root?: string;
|
|
413
512
|
/**
|
|
@@ -501,7 +600,13 @@ interface InlineConfig {
|
|
|
501
600
|
* Open Vitest UI
|
|
502
601
|
* @internal WIP
|
|
503
602
|
*/
|
|
504
|
-
|
|
603
|
+
ui?: boolean;
|
|
604
|
+
/**
|
|
605
|
+
* Base url for the UI
|
|
606
|
+
*
|
|
607
|
+
* @default '/__vitest__/'
|
|
608
|
+
*/
|
|
609
|
+
uiBase?: string;
|
|
505
610
|
}
|
|
506
611
|
interface UserConfig extends InlineConfig {
|
|
507
612
|
/**
|
|
@@ -590,6 +695,7 @@ declare class Vitest {
|
|
|
590
695
|
visitedFilesMap: Map<string, RawSourceMap>;
|
|
591
696
|
runningPromise?: Promise<void>;
|
|
592
697
|
closingPromise?: Promise<void>;
|
|
698
|
+
externalizeCache: Map<string, Promise<string | false>>;
|
|
593
699
|
isFirstRun: boolean;
|
|
594
700
|
restartsCount: number;
|
|
595
701
|
private _onRestartListeners;
|
|
@@ -610,6 +716,7 @@ declare class Vitest {
|
|
|
610
716
|
report<T extends keyof Reporter>(name: T, ...args: ArgumentsType<Reporter[T]>): Promise<void>;
|
|
611
717
|
globTestFiles(filters?: string[]): Promise<string[]>;
|
|
612
718
|
isTargetFile(id: string): boolean;
|
|
719
|
+
shouldExternalize(id: string): Promise<string | false>;
|
|
613
720
|
onServerRestarted(fn: () => void): void;
|
|
614
721
|
}
|
|
615
722
|
|
package/dist/node.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { c as createVitest } from './index-
|
|
1
|
+
export { c as createVitest } from './index-64de1341.js';
|
|
2
2
|
import 'fs';
|
|
3
|
-
import './index-
|
|
3
|
+
import './index-64aafe4b.js';
|
|
4
4
|
import 'url';
|
|
5
5
|
import 'tty';
|
|
6
6
|
import 'local-pkg';
|
|
@@ -11,15 +11,15 @@ import 'os';
|
|
|
11
11
|
import 'util';
|
|
12
12
|
import 'stream';
|
|
13
13
|
import 'events';
|
|
14
|
-
import './constants-
|
|
14
|
+
import './constants-d24b670d.js';
|
|
15
15
|
import './magic-string.es-94000aea.js';
|
|
16
16
|
import 'perf_hooks';
|
|
17
|
-
import './diff-
|
|
18
|
-
import './index-
|
|
17
|
+
import './diff-5dfc7eb4.js';
|
|
18
|
+
import './index-648e7ab2.js';
|
|
19
19
|
import './_commonjsHelpers-c9e3b764.js';
|
|
20
20
|
import 'assert';
|
|
21
21
|
import 'module';
|
|
22
|
+
import './index-5d6a5929.js';
|
|
22
23
|
import 'worker_threads';
|
|
23
24
|
import 'tinypool';
|
|
24
|
-
import './index-e909c175.js';
|
|
25
25
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W10sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyJ9
|