vitest 0.0.131 → 0.0.135
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 +5 -5
- package/dist/{constants-5b9c0d41.js → constants-d24b670d.js} +2 -2
- package/dist/{diff-aa2146ff.js → diff-04ac7bc9.js} +3 -3
- package/dist/entry.js +169 -44
- package/dist/{externalize-2f63779d.js → externalize-b979f524.js} +2 -2
- package/dist/{global-4d67a585.js → global-3d90eb55.js} +5 -5
- package/dist/{index-6f5d03b2.js → index-6397bdab.js} +4 -2
- package/dist/index-64aafe4b.js +396 -0
- package/dist/index-9e44ed60.js +8544 -0
- package/dist/index.d.ts +152 -36
- package/dist/index.js +3 -3
- package/dist/jest-mock-30625866.js +1 -1
- package/dist/node.d.ts +103 -1
- package/dist/node.js +4 -4
- package/dist/{setup-b212370d.js → setup-a9c8349a.js} +46 -22
- package/dist/vi-2509fe43.js +3462 -0
- package/dist/worker.js +34 -26
- package/package.json +9 -9
- package/dist/index-98403570.js +0 -8480
- package/dist/index-9fdde2e8.js +0 -367
- package/dist/vi-8ac1afa2.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';
|
|
@@ -187,6 +187,8 @@ declare type MatcherState = {
|
|
|
187
187
|
declare type SyncExpectationResult = {
|
|
188
188
|
pass: boolean;
|
|
189
189
|
message: () => string;
|
|
190
|
+
actual?: any;
|
|
191
|
+
expected?: any;
|
|
190
192
|
};
|
|
191
193
|
declare type AsyncExpectationResult = Promise<SyncExpectationResult>;
|
|
192
194
|
declare type ExpectationResult = SyncExpectationResult | AsyncExpectationResult;
|
|
@@ -383,10 +385,18 @@ declare class VerboseReporter extends DefaultReporter {
|
|
|
383
385
|
constructor();
|
|
384
386
|
}
|
|
385
387
|
|
|
388
|
+
declare class TapReporter implements Reporter {
|
|
389
|
+
private ctx;
|
|
390
|
+
onInit(ctx: Vitest): void;
|
|
391
|
+
logTasks(tasks: Task[], currentIdent: string): void;
|
|
392
|
+
onFinished(files?: File[]): Promise<void>;
|
|
393
|
+
}
|
|
394
|
+
|
|
386
395
|
declare const ReportersMap: {
|
|
387
396
|
default: typeof DefaultReporter;
|
|
388
397
|
verbose: typeof VerboseReporter;
|
|
389
398
|
dot: typeof DotReporter;
|
|
399
|
+
tap: typeof TapReporter;
|
|
390
400
|
};
|
|
391
401
|
declare type BuiltinReporters = keyof typeof ReportersMap;
|
|
392
402
|
|
|
@@ -440,6 +450,86 @@ interface ResolvedC8Options extends Required<C8Options> {
|
|
|
440
450
|
tempDirectory: string;
|
|
441
451
|
}
|
|
442
452
|
|
|
453
|
+
interface JSDOMOptions {
|
|
454
|
+
/**
|
|
455
|
+
* The html content for the test.
|
|
456
|
+
*
|
|
457
|
+
* @default '<!DOCTYPE html>'
|
|
458
|
+
*/
|
|
459
|
+
html?: string | Buffer | ArrayBufferLike;
|
|
460
|
+
/**
|
|
461
|
+
* referrer just affects the value read from document.referrer.
|
|
462
|
+
* It defaults to no referrer (which reflects as the empty string).
|
|
463
|
+
*/
|
|
464
|
+
referrer?: string;
|
|
465
|
+
/**
|
|
466
|
+
* userAgent affects the value read from navigator.userAgent, as well as the User-Agent header sent while fetching subresources.
|
|
467
|
+
*
|
|
468
|
+
* @default `Mozilla/5.0 (${process.platform}) AppleWebKit/537.36 (KHTML, like Gecko) jsdom/${jsdomVersion}`
|
|
469
|
+
*/
|
|
470
|
+
userAgent?: string;
|
|
471
|
+
/**
|
|
472
|
+
* url sets the value returned by window.location, document.URL, and document.documentURI,
|
|
473
|
+
* and affects things like resolution of relative URLs within the document
|
|
474
|
+
* and the same-origin restrictions and referrer used while fetching subresources.
|
|
475
|
+
*
|
|
476
|
+
* @default 'http://localhost:3000'.
|
|
477
|
+
*/
|
|
478
|
+
url?: string;
|
|
479
|
+
/**
|
|
480
|
+
* contentType affects the value read from document.contentType, and how the document is parsed: as HTML or as XML.
|
|
481
|
+
* Values that are not "text/html" or an XML mime type will throw.
|
|
482
|
+
*
|
|
483
|
+
* @default 'text/html'.
|
|
484
|
+
*/
|
|
485
|
+
contentType?: string;
|
|
486
|
+
/**
|
|
487
|
+
* The maximum size in code units for the separate storage areas used by localStorage and sessionStorage.
|
|
488
|
+
* Attempts to store data larger than this limit will cause a DOMException to be thrown. By default, it is set
|
|
489
|
+
* to 5,000,000 code units per origin, as inspired by the HTML specification.
|
|
490
|
+
*
|
|
491
|
+
* @default 5_000_000
|
|
492
|
+
*/
|
|
493
|
+
storageQuota?: number;
|
|
494
|
+
/**
|
|
495
|
+
* Enable console?
|
|
496
|
+
*
|
|
497
|
+
* @default false
|
|
498
|
+
*/
|
|
499
|
+
console?: boolean;
|
|
500
|
+
/**
|
|
501
|
+
* jsdom does not have the capability to render visual content, and will act like a headless browser by default.
|
|
502
|
+
* It provides hints to web pages through APIs such as document.hidden that their content is not visible.
|
|
503
|
+
*
|
|
504
|
+
* When the `pretendToBeVisual` option is set to `true`, jsdom will pretend that it is rendering and displaying
|
|
505
|
+
* content.
|
|
506
|
+
*
|
|
507
|
+
* @default true
|
|
508
|
+
*/
|
|
509
|
+
pretendToBeVisual?: boolean;
|
|
510
|
+
/**
|
|
511
|
+
* `includeNodeLocations` preserves the location info produced by the HTML parser,
|
|
512
|
+
* allowing you to retrieve it with the nodeLocation() method (described below).
|
|
513
|
+
*
|
|
514
|
+
* It defaults to false to give the best performance,
|
|
515
|
+
* and cannot be used with an XML content type since our XML parser does not support location info.
|
|
516
|
+
*
|
|
517
|
+
* @default false
|
|
518
|
+
*/
|
|
519
|
+
includeNodeLocations?: boolean | undefined;
|
|
520
|
+
/**
|
|
521
|
+
* @default 'dangerously'
|
|
522
|
+
*/
|
|
523
|
+
runScripts?: 'dangerously' | 'outside-only';
|
|
524
|
+
/**
|
|
525
|
+
* Enable CookieJar
|
|
526
|
+
*
|
|
527
|
+
* @default false
|
|
528
|
+
*/
|
|
529
|
+
cookieJar?: boolean;
|
|
530
|
+
resources?: 'usable' | any;
|
|
531
|
+
}
|
|
532
|
+
|
|
443
533
|
declare type Awaitable<T> = T | PromiseLike<T>;
|
|
444
534
|
declare type Nullable<T> = T | null | undefined;
|
|
445
535
|
declare type Arrayable<T> = T | Array<T>;
|
|
@@ -454,7 +544,7 @@ interface EnvironmentReturn {
|
|
|
454
544
|
}
|
|
455
545
|
interface Environment {
|
|
456
546
|
name: string;
|
|
457
|
-
setup(global: any): Awaitable<EnvironmentReturn>;
|
|
547
|
+
setup(global: any, options: Record<string, any>): Awaitable<EnvironmentReturn>;
|
|
458
548
|
}
|
|
459
549
|
interface UserConsoleLog {
|
|
460
550
|
content: string;
|
|
@@ -483,6 +573,11 @@ interface ErrorWithDiff extends Error {
|
|
|
483
573
|
expected?: any;
|
|
484
574
|
operator?: string;
|
|
485
575
|
}
|
|
576
|
+
interface ModuleGraphData {
|
|
577
|
+
graph: Record<string, string[]>;
|
|
578
|
+
externalized: string[];
|
|
579
|
+
inlined: string[];
|
|
580
|
+
}
|
|
486
581
|
|
|
487
582
|
declare type ChainableFunction<T extends string, Args extends any[], R = any> = {
|
|
488
583
|
(...args: Args): R;
|
|
@@ -611,6 +706,13 @@ interface SnapshotSummary {
|
|
|
611
706
|
|
|
612
707
|
declare type BuiltinEnvironment = 'node' | 'jsdom' | 'happy-dom';
|
|
613
708
|
declare type ApiConfig = Pick<CommonServerOptions, 'port' | 'strictPort' | 'host'>;
|
|
709
|
+
|
|
710
|
+
interface EnvironmentOptions {
|
|
711
|
+
/**
|
|
712
|
+
* jsdom options.
|
|
713
|
+
*/
|
|
714
|
+
jsdom?: JSDOMOptions;
|
|
715
|
+
}
|
|
614
716
|
interface InlineConfig {
|
|
615
717
|
/**
|
|
616
718
|
* Include globs for test files
|
|
@@ -672,7 +774,11 @@ interface InlineConfig {
|
|
|
672
774
|
*/
|
|
673
775
|
environment?: BuiltinEnvironment;
|
|
674
776
|
/**
|
|
675
|
-
*
|
|
777
|
+
* Environment options.
|
|
778
|
+
*/
|
|
779
|
+
environmentOptions?: EnvironmentOptions;
|
|
780
|
+
/**
|
|
781
|
+
* Update snapshot
|
|
676
782
|
*
|
|
677
783
|
* @default false
|
|
678
784
|
*/
|
|
@@ -685,6 +791,8 @@ interface InlineConfig {
|
|
|
685
791
|
watch?: boolean;
|
|
686
792
|
/**
|
|
687
793
|
* Project root
|
|
794
|
+
*
|
|
795
|
+
* @default process.cwd()
|
|
688
796
|
*/
|
|
689
797
|
root?: string;
|
|
690
798
|
/**
|
|
@@ -809,6 +917,7 @@ interface UserConfig extends InlineConfig {
|
|
|
809
917
|
related?: string[] | string;
|
|
810
918
|
}
|
|
811
919
|
interface ResolvedConfig extends Omit<Required<UserConfig>, 'config' | 'filters' | 'coverage' | 'testNamePattern' | 'related' | 'api'> {
|
|
920
|
+
base?: string;
|
|
812
921
|
config?: string;
|
|
813
922
|
filters?: string[];
|
|
814
923
|
testNamePattern?: RegExp;
|
|
@@ -863,12 +972,22 @@ interface MockResultThrow {
|
|
|
863
972
|
value: any;
|
|
864
973
|
}
|
|
865
974
|
declare type MockResult<T> = MockResultReturn<T> | MockResultThrow | MockResultIncomplete;
|
|
866
|
-
interface JestMockCompatContext<
|
|
867
|
-
calls:
|
|
868
|
-
instances:
|
|
975
|
+
interface JestMockCompatContext<TArgs, TReturns> {
|
|
976
|
+
calls: TArgs[];
|
|
977
|
+
instances: TReturns[];
|
|
869
978
|
invocationCallOrder: number[];
|
|
870
|
-
results: MockResult<
|
|
979
|
+
results: MockResult<TReturns>[];
|
|
871
980
|
}
|
|
981
|
+
declare type Procedure = (...args: any[]) => any;
|
|
982
|
+
declare type Methods<T> = {
|
|
983
|
+
[K in keyof T]: T[K] extends Procedure ? K : never;
|
|
984
|
+
}[keyof T] & string;
|
|
985
|
+
declare type Properties<T> = {
|
|
986
|
+
[K in keyof T]: T[K] extends Procedure ? never : K;
|
|
987
|
+
}[keyof T] & string;
|
|
988
|
+
declare type Classes<T> = {
|
|
989
|
+
[K in keyof T]: T[K] extends new (...args: any[]) => any ? K : never;
|
|
990
|
+
}[keyof T] & string;
|
|
872
991
|
interface JestMockCompat<TArgs extends any[] = any[], TReturns = any> {
|
|
873
992
|
getMockName(): string;
|
|
874
993
|
mockName(n: string): this;
|
|
@@ -890,41 +1009,34 @@ interface JestMockCompat<TArgs extends any[] = any[], TReturns = any> {
|
|
|
890
1009
|
interface JestMockCompatFn<TArgs extends any[] = any, TReturns = any> extends JestMockCompat<TArgs, TReturns> {
|
|
891
1010
|
(...args: TArgs): TReturns;
|
|
892
1011
|
}
|
|
893
|
-
declare type
|
|
894
|
-
declare type
|
|
895
|
-
[K in keyof T]: T[K] extends MockableFunction ? K : never;
|
|
896
|
-
}[keyof T];
|
|
897
|
-
declare type PropertyKeysOf<T> = {
|
|
898
|
-
[K in keyof T]: T[K] extends MockableFunction ? never : K;
|
|
899
|
-
}[keyof T];
|
|
900
|
-
declare type ArgumentsOf<T> = T extends (...args: infer A) => any ? A : never;
|
|
901
|
-
declare type ConstructorArgumentsOf<T> = T extends new (...args: infer A) => any ? A : never;
|
|
902
|
-
declare type MaybeMockedConstructor<T> = T extends new (...args: Array<any>) => infer R ? JestMockCompatFn<ConstructorArgumentsOf<T>, R> : T;
|
|
903
|
-
declare type MockedFunction<T extends MockableFunction> = MockWithArgs<T> & {
|
|
1012
|
+
declare type MaybeMockedConstructor<T> = T extends new (...args: Array<any>) => infer R ? JestMockCompatFn<ConstructorParameters<T>, R> : T;
|
|
1013
|
+
declare type MockedFunction<T extends Procedure> = MockWithArgs<T> & {
|
|
904
1014
|
[K in keyof T]: T[K];
|
|
905
1015
|
};
|
|
906
|
-
declare type MockedFunctionDeep<T extends
|
|
1016
|
+
declare type MockedFunctionDeep<T extends Procedure> = MockWithArgs<T> & MockedObjectDeep<T>;
|
|
907
1017
|
declare type MockedObject<T> = MaybeMockedConstructor<T> & {
|
|
908
|
-
[K in
|
|
1018
|
+
[K in Methods<T>]: T[K] extends Procedure ? MockedFunction<T[K]> : T[K];
|
|
909
1019
|
} & {
|
|
910
|
-
[K in
|
|
1020
|
+
[K in Properties<T>]: T[K];
|
|
911
1021
|
};
|
|
912
1022
|
declare type MockedObjectDeep<T> = MaybeMockedConstructor<T> & {
|
|
913
|
-
[K in
|
|
1023
|
+
[K in Methods<T>]: T[K] extends Procedure ? MockedFunctionDeep<T[K]> : T[K];
|
|
914
1024
|
} & {
|
|
915
|
-
[K in
|
|
1025
|
+
[K in Properties<T>]: MaybeMockedDeep<T[K]>;
|
|
916
1026
|
};
|
|
917
|
-
declare type MaybeMockedDeep<T> = T extends
|
|
918
|
-
declare type MaybeMocked<T> = T extends
|
|
1027
|
+
declare type MaybeMockedDeep<T> = T extends Procedure ? MockedFunctionDeep<T> : T extends object ? MockedObjectDeep<T> : T;
|
|
1028
|
+
declare type MaybeMocked<T> = T extends Procedure ? MockedFunction<T> : T extends object ? MockedObject<T> : T;
|
|
919
1029
|
declare type EnhancedSpy<TArgs extends any[] = any[], TReturns = any> = JestMockCompat<TArgs, TReturns> & SpyImpl<TArgs, TReturns>;
|
|
920
|
-
interface MockWithArgs<T extends
|
|
921
|
-
new (...args:
|
|
922
|
-
(...args:
|
|
1030
|
+
interface MockWithArgs<T extends Procedure> extends JestMockCompatFn<Parameters<T>, ReturnType<T>> {
|
|
1031
|
+
new (...args: T extends new (...args: any) => any ? ConstructorParameters<T> : never): T;
|
|
1032
|
+
(...args: Parameters<T>): ReturnType<T>;
|
|
923
1033
|
}
|
|
924
1034
|
declare const spies: Set<JestMockCompat<any[], any>>;
|
|
925
1035
|
declare function isMockFunction(fn: any): fn is EnhancedSpy;
|
|
926
|
-
declare function spyOn<T,
|
|
927
|
-
declare
|
|
1036
|
+
declare function spyOn<T, S extends Properties<Required<T>>>(obj: T, methodName: S, accesType: 'get'): JestMockCompat<[T[S]], void>;
|
|
1037
|
+
declare function spyOn<T, G extends Properties<Required<T>>>(obj: T, methodName: G, accesType: 'set'): JestMockCompat<[], T[G]>;
|
|
1038
|
+
declare function spyOn<T, M extends Classes<Required<T>>>(object: T, method: M): Required<T>[M] extends new (...args: infer A) => infer R ? JestMockCompat<A, R> : never;
|
|
1039
|
+
declare function spyOn<T, M extends Methods<Required<T>>>(obj: T, methodName: M, mock?: T[M]): Required<T>[M] extends (...args: infer A) => infer R ? JestMockCompat<A, R> : never;
|
|
928
1040
|
declare function fn<TArgs extends any[] = any[], R = any>(): JestMockCompatFn<TArgs, R>;
|
|
929
1041
|
declare function fn<TArgs extends any[] = any[], R = any>(implementation: (...args: TArgs) => R): JestMockCompatFn<TArgs, R>;
|
|
930
1042
|
|
|
@@ -1008,16 +1120,16 @@ declare class VitestUtils {
|
|
|
1008
1120
|
declare const vitest: VitestUtils;
|
|
1009
1121
|
declare const vi: VitestUtils;
|
|
1010
1122
|
|
|
1123
|
+
interface TransformResultWithSource extends TransformResult {
|
|
1124
|
+
source?: string;
|
|
1125
|
+
}
|
|
1011
1126
|
interface WebSocketHandlers {
|
|
1012
1127
|
getFiles(): File[];
|
|
1013
1128
|
getConfig(): ResolvedConfig;
|
|
1129
|
+
getModuleGraph(id: string): Promise<ModuleGraphData>;
|
|
1130
|
+
getTransformResult(id: string): Promise<TransformResultWithSource | undefined>;
|
|
1014
1131
|
readFile(id: string): Promise<string>;
|
|
1015
1132
|
writeFile(id: string, content: string): Promise<void>;
|
|
1016
|
-
getModuleGraph(id: string): Promise<{
|
|
1017
|
-
graph: Record<string, string[]>;
|
|
1018
|
-
externalized: string[];
|
|
1019
|
-
inlined: string[];
|
|
1020
|
-
}>;
|
|
1021
1133
|
rerun(files: string[]): Promise<void>;
|
|
1022
1134
|
}
|
|
1023
1135
|
interface WebSocketEvents extends Pick<Reporter, 'onCollected' | 'onTaskUpdate'> {
|
|
@@ -1048,10 +1160,14 @@ declare global {
|
|
|
1048
1160
|
anything(): Anything;
|
|
1049
1161
|
any(constructor: unknown): Any;
|
|
1050
1162
|
addSnapshotSerializer(plugin: Plugin): void;
|
|
1163
|
+
getState(): MatcherState;
|
|
1164
|
+
setState(state: Partial<MatcherState>): void;
|
|
1051
1165
|
not: AsymmetricMatchersContaining;
|
|
1052
1166
|
}
|
|
1053
1167
|
interface JestAssertions {
|
|
1168
|
+
toMatchSnapshot(snapshot: object, message?: string): void;
|
|
1054
1169
|
toMatchSnapshot(message?: string): void;
|
|
1170
|
+
toMatchInlineSnapshot(properties: object, snapshot?: string, message?: string): void;
|
|
1055
1171
|
toMatchInlineSnapshot(snapshot?: string, message?: string): void;
|
|
1056
1172
|
toThrowErrorMatchingSnapshot(message?: string): void;
|
|
1057
1173
|
toThrowErrorMatchingInlineSnapshot(snapshot?: string, message?: string): void;
|
|
@@ -1112,4 +1228,4 @@ declare global {
|
|
|
1112
1228
|
}
|
|
1113
1229
|
}
|
|
1114
1230
|
|
|
1115
|
-
export { ApiConfig,
|
|
1231
|
+
export { ApiConfig, ArgumentsType, Arrayable, Awaitable, BuiltinEnvironment, DoneCallback, EnhancedSpy, Environment, EnvironmentOptions, EnvironmentReturn, ErrorWithDiff, 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-
|
|
1
|
+
export { d as describe, i as it, c as suite, t as test, e as vi, v as vitest } from './vi-2509fe43.js';
|
|
2
|
+
export { a as afterAll, d as afterEach, b as beforeAll, c as beforeEach, e as expect } from './index-6397bdab.js';
|
|
3
3
|
export { f as fn, i as isMockFunction, s as spies, a as spyOn } from './jest-mock-30625866.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';
|
|
@@ -91,4 +91,4 @@ function fn(implementation) {
|
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
export { spyOn as a, fn as f, isMockFunction as i, spies as s };
|
|
94
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamVzdC1tb2NrLTMwNjI1ODY2LmpzIiwic291cmNlcyI6WyIuLi9zcmMvaW50ZWdyYXRpb25zL2plc3QtbW9jay50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1dGlsIH0gZnJvbSAnY2hhaSdcbmltcG9ydCB0eXBlIHsgU3B5SW1wbCB9IGZyb20gJ3RpbnlzcHknXG5pbXBvcnQgKiBhcyB0aW55c3B5IGZyb20gJ3RpbnlzcHknXG5cbmludGVyZmFjZSBNb2NrUmVzdWx0UmV0dXJuPFQ+IHtcbiAgdHlwZTogJ3JldHVybidcbiAgdmFsdWU6IFRcbn1cbmludGVyZmFjZSBNb2NrUmVzdWx0SW5jb21wbGV0ZSB7XG4gIHR5cGU6ICdpbmNvbXBsZXRlJ1xuICB2YWx1ZTogdW5kZWZpbmVkXG59XG5pbnRlcmZhY2UgTW9ja1Jlc3VsdFRocm93IHtcbiAgdHlwZTogJ3Rocm93J1xuICB2YWx1ZTogYW55XG59XG5cbnR5cGUgTW9ja1Jlc3VsdDxUPiA9IE1vY2tSZXN1bHRSZXR1cm48VD4gfCBNb2NrUmVzdWx0VGhyb3cgfCBNb2NrUmVzdWx0SW5jb21wbGV0ZVxuXG5leHBvcnQgaW50ZXJmYWNlIEplc3RNb2NrQ29tcGF0Q29udGV4dDxULCBZPiB7XG4gIGNhbGxzOiBZW11cbiAgaW5zdGFuY2VzOiBUW11cbiAgLy8gVE9ETzogZG9lc24ndCB3b3JrXG4gIGludm9jYXRpb25DYWxsT3JkZXI6IG51bWJlcltdXG4gIHJlc3VsdHM6IE1vY2tSZXN1bHQ8VD5bXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEplc3RNb2NrQ29tcGF0PFRBcmdzIGV4dGVuZHMgYW55W10gPSBhbnlbXSwgVFJldHVybnMgPSBhbnk+IHtcbiAgZ2V0TW9ja05hbWUoKTogc3RyaW5nXG4gIG1vY2tOYW1lKG46IHN0cmluZyk6IHRoaXNcbiAgbW9jazogSmVzdE1vY2tDb21wYXRDb250ZXh0PFRBcmdzLCBUUmV0dXJucz5cbiAgbW9ja0NsZWFyKCk6IHRoaXNcbiAgbW9ja1Jlc2V0KCk6IHRoaXNcbiAgbW9ja1Jlc3RvcmUoKTogdm9pZFxuICBnZXRNb2NrSW1wbGVtZW50YXRpb24oKTogKCguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybnMpIHwgdW5kZWZpbmVkXG4gIG1vY2tJbXBsZW1lbnRhdGlvbihmbjogKCguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybnMpIHwgKCgpID0+IFByb21pc2U8VFJldHVybnM+KSk6IHRoaXNcbiAgbW9ja0ltcGxlbWVudGF0aW9uT25jZShmbjogKCguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybnMpIHwgKCgpID0+IFByb21pc2U8VFJldHVybnM+KSk6IHRoaXNcbiAgbW9ja1JldHVyblRoaXMoKTogdGhpc1xuICBtb2NrUmV0dXJuVmFsdWUob2JqOiBUUmV0dXJucyk6IHRoaXNcbiAgbW9ja1JldHVyblZhbHVlT25jZShvYmo6IFRSZXR1cm5zKTogdGhpc1xuICBtb2NrUmVzb2x2ZWRWYWx1ZShvYmo6IEF3YWl0ZWQ8VFJldHVybnM+KTogdGhpc1xuICBtb2NrUmVzb2x2ZWRWYWx1ZU9uY2Uob2JqOiBBd2FpdGVkPFRSZXR1cm5zPik6IHRoaXNcbiAgbW9ja1JlamVjdGVkVmFsdWUob2JqOiBhbnkpOiB0aGlzXG4gIG1vY2tSZWplY3RlZFZhbHVlT25jZShvYmo6IGFueSk6IHRoaXNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBKZXN0TW9ja0NvbXBhdEZuPFRBcmdzIGV4dGVuZHMgYW55W10gPSBhbnksIFRSZXR1cm5zID0gYW55PiBleHRlbmRzIEplc3RNb2NrQ29tcGF0PFRBcmdzLCBUUmV0dXJucz4ge1xuICAoLi4uYXJnczogVEFyZ3MpOiBUUmV0dXJuc1xufVxuXG5leHBvcnQgdHlwZSBNb2NrYWJsZUZ1bmN0aW9uID0gKC4uLmFyZ3M6IEFycmF5PGFueT4pID0+IGFueVxuZXhwb3J0IHR5cGUgTWV0aG9kS2V5c09mPFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzIE1vY2thYmxlRnVuY3Rpb24gPyBLIDogbmV2ZXI7XG59W2tleW9mIFRdXG5leHBvcnQgdHlwZSBQcm9wZXJ0eUtleXNPZjxUPiA9IHtcbiAgW0sgaW4ga2V5b2YgVF06IFRbS10gZXh0ZW5kcyBNb2NrYWJsZUZ1bmN0aW9uID8gbmV2ZXIgOiBLO1xufVtrZXlvZiBUXVxuXG5leHBvcnQgdHlwZSBBcmd1bWVudHNPZjxUPiA9IFQgZXh0ZW5kcyAoLi4uYXJnczogaW5mZXIgQSkgPT4gYW55ID8gQSA6IG5ldmVyXG5cbmV4cG9ydCB0eXBlIENvbnN0cnVjdG9yQXJndW1lbnRzT2Y8VD4gPSBUIGV4dGVuZHMgbmV3ICguLi5hcmdzOiBpbmZlciBBKSA9PiBhbnlcbiAgPyBBXG4gIDogbmV2ZXJcbmV4cG9ydCB0eXBlIE1heWJlTW9ja2VkQ29uc3RydWN0b3I8VD4gPSBUIGV4dGVuZHMgbmV3IChcbiAgLi4uYXJnczogQXJyYXk8YW55PlxuKSA9PiBpbmZlciBSXG4gID8gSmVzdE1vY2tDb21wYXRGbjxDb25zdHJ1Y3RvckFyZ3VtZW50c09mPFQ+LCBSPlxuICA6IFRcbmV4cG9ydCB0eXBlIE1vY2tlZEZ1bmN0aW9uPFQgZXh0ZW5kcyBNb2NrYWJsZUZ1bmN0aW9uPiA9IE1vY2tXaXRoQXJnczxUPiAmIHtcbiAgW0sgaW4ga2V5b2YgVF06IFRbS107XG59XG5leHBvcnQgdHlwZSBNb2NrZWRGdW5jdGlvbkRlZXA8VCBleHRlbmRzIE1vY2thYmxlRnVuY3Rpb24+ID0gTW9ja1dpdGhBcmdzPFQ+ICZcbk1vY2tlZE9iamVjdERlZXA8VD5cbmV4cG9ydCB0eXBlIE1vY2tlZE9iamVjdDxUPiA9IE1heWJlTW9ja2VkQ29uc3RydWN0b3I8VD4gJiB7XG4gIFtLIGluIE1ldGhvZEtleXNPZjxUPl06IFRbS10gZXh0ZW5kcyBNb2NrYWJsZUZ1bmN0aW9uXG4gICAgPyBNb2NrZWRGdW5jdGlvbjxUW0tdPlxuICAgIDogVFtLXTtcbn0gJiB7W0sgaW4gUHJvcGVydHlLZXlzT2Y8VD5dOiBUW0tdfVxuZXhwb3J0IHR5cGUgTW9ja2VkT2JqZWN0RGVlcDxUPiA9IE1heWJlTW9ja2VkQ29uc3RydWN0b3I8VD4gJiB7XG4gIFtLIGluIE1ldGhvZEtleXNPZjxUPl06IFRbS10gZXh0ZW5kcyBNb2NrYWJsZUZ1bmN0aW9uXG4gICAgPyBNb2NrZWRGdW5jdGlvbkRlZXA8VFtLXT5cbiAgICA6IFRbS107XG59ICYge1tLIGluIFByb3BlcnR5S2V5c09mPFQ+XTogTWF5YmVNb2NrZWREZWVwPFRbS10+fVxuXG5leHBvcnQgdHlwZSBNYXliZU1vY2tlZERlZXA8VD4gPSBUIGV4dGVuZHMgTW9ja2FibGVGdW5jdGlvblxuICA/IE1vY2tlZEZ1bmN0aW9uRGVlcDxUPlxuICA6IFQgZXh0ZW5kcyBvYmplY3RcbiAgICA/IE1vY2tlZE9iamVjdERlZXA8VD5cbiAgICA6IFRcblxuZXhwb3J0IHR5cGUgTWF5YmVNb2NrZWQ8VD4gPSBUIGV4dGVuZHMgTW9ja2FibGVGdW5jdGlvblxuICA/IE1vY2tlZEZ1bmN0aW9uPFQ+XG4gIDogVCBleHRlbmRzIG9iamVjdFxuICAgID8gTW9ja2VkT2JqZWN0PFQ+XG4gICAgOiBUXG5cbmV4cG9ydCB0eXBlIEVuaGFuY2VkU3B5PFRBcmdzIGV4dGVuZHMgYW55W10gPSBhbnlbXSwgVFJldHVybnMgPSBhbnk+ID0gSmVzdE1vY2tDb21wYXQ8VEFyZ3MsIFRSZXR1cm5zPiAmIFNweUltcGw8VEFyZ3MsIFRSZXR1cm5zPlxuXG5leHBvcnQgaW50ZXJmYWNlIE1vY2tXaXRoQXJnczxUIGV4dGVuZHMgTW9ja2FibGVGdW5jdGlvbj5cbiAgZXh0ZW5kcyBKZXN0TW9ja0NvbXBhdEZuPEFyZ3VtZW50c09mPFQ+LCBSZXR1cm5UeXBlPFQ+PiB7XG4gIG5ldyAoLi4uYXJnczogQ29uc3RydWN0b3JBcmd1bWVudHNPZjxUPik6IFRcbiAgKC4uLmFyZ3M6IEFyZ3VtZW50c09mPFQ+KTogUmV0dXJuVHlwZTxUPlxufVxuXG5leHBvcnQgY29uc3Qgc3BpZXMgPSBuZXcgU2V0PEplc3RNb2NrQ29tcGF0PigpXG5cbmV4cG9ydCBmdW5jdGlvbiBpc01vY2tGdW5jdGlvbihmbjogYW55KTogZm4gaXMgRW5oYW5jZWRTcHkge1xuICByZXR1cm4gdHlwZW9mIGZuID09PSAnZnVuY3Rpb24nXG4gICYmICdfX2lzU3B5JyBpbiBmblxuICAmJiBmbi5fX2lzU3B5XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzcHlPbjxULCBLIGV4dGVuZHMga2V5b2YgVD4oXG4gIG9iajogVCxcbiAgbWV0aG9kOiBLLFxuICBhY2Nlc3NUeXBlPzogJ2dldCcgfCAnc2V0Jyxcbik6IFRbS10gZXh0ZW5kcyAoLi4uYXJnczogaW5mZXIgVEFyZ3MpID0+IGluZmVyIFRSZXR1cm5WYWx1ZVxuICAgID8gSmVzdE1vY2tDb21wYXQ8VEFyZ3MsIFRSZXR1cm5WYWx1ZT4gOiBKZXN0TW9ja0NvbXBhdCB7XG4gIGNvbnN0IGRpY3Rpb25hcnkgPSB7XG4gICAgZ2V0OiAnZ2V0dGVyJyxcbiAgICBzZXQ6ICdzZXR0ZXInLFxuICB9IGFzIGNvbnN0XG4gIGNvbnN0IG9iak1ldGhvZCA9IGFjY2Vzc1R5cGUgPyB7IFtkaWN0aW9uYXJ5W2FjY2Vzc1R5cGVdXTogbWV0aG9kIH0gOiBtZXRob2RcblxuICBjb25zdCBzdHViID0gdGlueXNweS5zcHlPbihvYmosIG9iak1ldGhvZCBhcyBhbnkpXG5cbiAgcmV0dXJuIGVuaGFuY2VTcHkoc3R1YikgYXMgYW55XG59XG5cbnR5cGUgQXdhaXRlZDxUPiA9IFQgZXh0ZW5kcyBQcm9taXNlPGluZmVyIFI+ID8gUiA6IG5ldmVyXG5cbmZ1bmN0aW9uIGVuaGFuY2VTcHk8VEFyZ3MgZXh0ZW5kcyBhbnlbXSwgVFJldHVybnM+KFxuICBzcHk6IFNweUltcGw8VEFyZ3MsIFRSZXR1cm5zPixcbik6IEplc3RNb2NrQ29tcGF0PFRBcmdzLCBUUmV0dXJucz4ge1xuICBjb25zdCBzdHViID0gc3B5IGFzIHVua25vd24gYXMgRW5oYW5jZWRTcHk8VEFyZ3MsIFRSZXR1cm5zPlxuXG4gIGxldCBpbXBsZW1lbnRhdGlvbjogKCguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybnMpIHwgdW5kZWZpbmVkXG5cbiAgY29uc3QgaW5zdGFuY2VzOiBhbnlbXSA9IFtdXG5cbiAgY29uc3QgbW9ja0NvbnRleHQgPSB7XG4gICAgZ2V0IGNhbGxzKCkge1xuICAgICAgcmV0dXJuIHN0dWIuY2FsbHNcbiAgICB9LFxuICAgIGdldCBpbnN0YW5jZXMoKSB7XG4gICAgICByZXR1cm4gaW5zdGFuY2VzXG4gICAgfSxcbiAgICAvLyBub3Qgc3VwcG9ydGVkXG4gICAgZ2V0IGludm9jYXRpb25DYWxsT3JkZXIoKSB7XG4gICAgICByZXR1cm4gW11cbiAgICB9LFxuICAgIGdldCByZXN1bHRzKCkge1xuICAgICAgcmV0dXJuIHN0dWIucmVzdWx0cy5tYXAoKFtjYWxsVHlwZSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IHR5cGUgPSBjYWxsVHlwZSA9PT0gJ2Vycm9yJyA/ICd0aHJvdycgOiAncmV0dXJuJ1xuICAgICAgICByZXR1cm4geyB0eXBlLCB2YWx1ZSB9XG4gICAgICB9KVxuICAgIH0sXG4gIH1cblxuICBsZXQgb25jZUltcGxlbWVudGF0aW9uczogKCguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybnMpW10gPSBbXVxuXG4gIGxldCBuYW1lOiBzdHJpbmcgPSAoc3R1YiBhcyBhbnkpLm5hbWVcblxuICBzdHViLmdldE1vY2tOYW1lID0gKCkgPT4gbmFtZSB8fCAndmkuZm4oKSdcbiAgc3R1Yi5tb2NrTmFtZSA9IChuKSA9PiB7XG4gICAgbmFtZSA9IG5cbiAgICByZXR1cm4gc3R1YlxuICB9XG5cbiAgc3R1Yi5tb2NrQ2xlYXIgPSAoKSA9PiB7XG4gICAgc3R1Yi5yZXNldCgpXG4gICAgcmV0dXJuIHN0dWJcbiAgfVxuXG4gIHN0dWIubW9ja1Jlc2V0ID0gKCkgPT4ge1xuICAgIHN0dWIucmVzZXQoKVxuICAgIGltcGxlbWVudGF0aW9uID0gKCkgPT4gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgVFJldHVybnNcbiAgICBvbmNlSW1wbGVtZW50YXRpb25zID0gW11cbiAgICByZXR1cm4gc3R1YlxuICB9XG5cbiAgc3R1Yi5tb2NrUmVzdG9yZSA9ICgpID0+IHtcbiAgICBzdHViLm1vY2tSZXNldCgpXG4gICAgaW1wbGVtZW50YXRpb24gPSB1bmRlZmluZWRcbiAgICByZXR1cm4gc3R1YlxuICB9XG5cbiAgc3R1Yi5nZXRNb2NrSW1wbGVtZW50YXRpb24gPSAoKSA9PiBpbXBsZW1lbnRhdGlvblxuICBzdHViLm1vY2tJbXBsZW1lbnRhdGlvbiA9IChmbjogKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJucykgPT4ge1xuICAgIGltcGxlbWVudGF0aW9uID0gZm5cbiAgICByZXR1cm4gc3R1YlxuICB9XG5cbiAgc3R1Yi5tb2NrSW1wbGVtZW50YXRpb25PbmNlID0gKGZuOiAoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm5zKSA9PiB7XG4gICAgb25jZUltcGxlbWVudGF0aW9ucy5wdXNoKGZuKVxuICAgIHJldHVybiBzdHViXG4gIH1cblxuICBzdHViLm1vY2tSZXR1cm5UaGlzID0gKCkgPT5cbiAgICBzdHViLm1vY2tJbXBsZW1lbnRhdGlvbihmdW5jdGlvbih0aGlzOiBUUmV0dXJucykge1xuICAgICAgcmV0dXJuIHRoaXNcbiAgICB9KVxuXG4gIHN0dWIubW9ja1JldHVyblZhbHVlID0gKHZhbDogVFJldHVybnMpID0+IHN0dWIubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHZhbClcbiAgc3R1Yi5tb2NrUmV0dXJuVmFsdWVPbmNlID0gKHZhbDogVFJldHVybnMpID0+IHN0dWIubW9ja0ltcGxlbWVudGF0aW9uT25jZSgoKSA9PiB2YWwpXG5cbiAgc3R1Yi5tb2NrUmVzb2x2ZWRWYWx1ZSA9ICh2YWw6IEF3YWl0ZWQ8VFJldHVybnM+KSA9PlxuICAgIHN0dWIubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IFByb21pc2UucmVzb2x2ZSh2YWwgYXMgVFJldHVybnMpKVxuXG4gIHN0dWIubW9ja1Jlc29sdmVkVmFsdWVPbmNlID0gKHZhbDogQXdhaXRlZDxUUmV0dXJucz4pID0+XG4gICAgc3R1Yi5tb2NrSW1wbGVtZW50YXRpb25PbmNlKCgpID0+IFByb21pc2UucmVzb2x2ZSh2YWwgYXMgVFJldHVybnMpKVxuXG4gIHN0dWIubW9ja1JlamVjdGVkVmFsdWUgPSAodmFsOiB1bmtub3duKSA9PlxuICAgIHN0dWIubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IFByb21pc2UucmVqZWN0KHZhbCkpXG5cbiAgc3R1Yi5tb2NrUmVqZWN0ZWRWYWx1ZU9uY2UgPSAodmFsOiB1bmtub3duKSA9PlxuICAgIHN0dWIubW9ja0ltcGxlbWVudGF0aW9uT25jZSgoKSA9PiBQcm9taXNlLnJlamVjdCh2YWwpKVxuXG4gIHV0aWwuYWRkUHJvcGVydHkoc3R1YiwgJ21vY2snLCAoKSA9PiBtb2NrQ29udGV4dClcblxuICBzdHViLndpbGxDYWxsKGZ1bmN0aW9uKHRoaXM6IHVua25vd24sIC4uLmFyZ3MpIHtcbiAgICBpbnN0YW5jZXMucHVzaCh0aGlzKVxuICAgIGNvbnN0IGltcGwgPSBvbmNlSW1wbGVtZW50YXRpb25zLnNoaWZ0KCkgfHwgaW1wbGVtZW50YXRpb24gfHwgc3R1Yi5nZXRPcmlnaW5hbCgpIHx8ICgoKSA9PiB7fSlcbiAgICByZXR1cm4gaW1wbC5hcHBseSh0aGlzLCBhcmdzKVxuICB9KVxuXG4gIHNwaWVzLmFkZChzdHViKVxuXG4gIHJldHVybiBzdHViIGFzIGFueVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZm48VEFyZ3MgZXh0ZW5kcyBhbnlbXSA9IGFueVtdLCBSID0gYW55PigpOiBKZXN0TW9ja0NvbXBhdEZuPFRBcmdzLCBSPlxuZXhwb3J0IGZ1bmN0aW9uIGZuPFRBcmdzIGV4dGVuZHMgYW55W10gPSBhbnlbXSwgUiA9IGFueT4oXG4gIGltcGxlbWVudGF0aW9uOiAoLi4uYXJnczogVEFyZ3MpID0+IFJcbik6IEplc3RNb2NrQ29tcGF0Rm48VEFyZ3MsIFI+XG5leHBvcnQgZnVuY3Rpb24gZm48VEFyZ3MgZXh0ZW5kcyBhbnlbXSA9IGFueVtdLCBSID0gYW55PihcbiAgaW1wbGVtZW50YXRpb24/OiAoLi4uYXJnczogVEFyZ3MpID0+IFIsXG4pOiBKZXN0TW9ja0NvbXBhdEZuPFRBcmdzLCBSPiB7XG4gIHJldHVybiBlbmhhbmNlU3B5KHRpbnlzcHkuc3B5T24oeyBmbjogaW1wbGVtZW50YXRpb24gfHwgKCgpID0+IHt9KSB9LCAnZm4nKSkgYXMgdW5rbm93biBhcyBKZXN0TW9ja0NvbXBhdEZuXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRVksTUFBQyxLQUFLLEdBQUcsSUFBSSxHQUFHLEdBQUc7QUFDeEIsU0FBUyxjQUFjLENBQUMsR0FBRyxFQUFFO0FBQ3BDLEVBQUUsT0FBTyxPQUFPLEdBQUcsS0FBSyxVQUFVLElBQUksU0FBUyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDO0FBQ3RFLENBQUM7QUFDTSxTQUFTLEtBQUssQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRTtBQUMvQyxFQUFFLE1BQU0sVUFBVSxHQUFHO0FBQ3JCLElBQUksR0FBRyxFQUFFLFFBQVE7QUFDakIsSUFBSSxHQUFHLEVBQUUsUUFBUTtBQUNqQixHQUFHLENBQUM7QUFDSixFQUFFLE1BQU0sU0FBUyxHQUFHLFVBQVUsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQztBQUMvRSxFQUFFLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQzdDLEVBQUUsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUNELFNBQVMsVUFBVSxDQUFDLEdBQUcsRUFBRTtBQUN6QixFQUFFLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQztBQUNuQixFQUFFLElBQUksY0FBYyxDQUFDO0FBQ3JCLEVBQUUsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO0FBQ3ZCLEVBQUUsTUFBTSxXQUFXLEdBQUc7QUFDdEIsSUFBSSxJQUFJLEtBQUssR0FBRztBQUNo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
|
|
94
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamVzdC1tb2NrLTMwNjI1ODY2LmpzIiwic291cmNlcyI6WyIuLi9zcmMvaW50ZWdyYXRpb25zL2plc3QtbW9jay50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1dGlsIH0gZnJvbSAnY2hhaSdcbmltcG9ydCB0eXBlIHsgU3B5SW1wbCB9IGZyb20gJ3RpbnlzcHknXG5pbXBvcnQgKiBhcyB0aW55c3B5IGZyb20gJ3RpbnlzcHknXG5cbmludGVyZmFjZSBNb2NrUmVzdWx0UmV0dXJuPFQ+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+IFRSZXR1cm5zKSB8IHVuZGVmaW5lZFxuXG4gIGNvbnN0IGluc3RhbmNlczogYW55W10gPSBbXVxuXG4gIGNvbnN0IG1vY2tDb250ZXh0ID0ge1xuICAgIGdldCBjYWxscygpIHtcbiAgICAgIHJldHVybiBzdHViLmNhbGxzXG4gICAgfSxcbiAgICBnZXQgaW5zdGFuY2VzKCkge1xuICAgICAgcmV0dXJuIGluc3RhbmNlc1xuICAgIH0sXG4gICAgLy8gbm90IHN1cHBvcnRlZFxuICAgIGdldCBpbnZvY2F0aW9uQ2FsbE9yZGVyKCkge1xuICAgICAgcmV0dXJuIFtdXG4gICAgfSxcbiAgICBnZXQgcmVzdWx0cygpIHtcbiAgICAgIHJldHVybiBzdHViLnJlc3VsdHMubWFwKChbY2FsbFR5cGUsIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCB0eXBlID0gY2FsbFR5cGUgPT09ICdlcnJvcicgPyAndGhyb3cnIDogJ3JldHVybidcbiAgICAgICAgcmV0dXJuIHsgdHlwZSwgdmFsdWUgfVxuICAgICAgfSlcbiAgICB9LFxuICB9XG5cbiAgbGV0IG9uY2VJbXBsZW1lbnRhdGlvbnM6ICgoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm5zKVtdID0gW11cblxuICBsZXQgbmFtZTogc3RyaW5nID0gKHN0dWIgYXMgYW55KS5uYW1lXG5cbiAgc3R1Yi5nZXRNb2NrTmFtZSA9ICgpID0+IG5hbWUgfHwgJ3ZpLmZuKCknXG4gIHN0dWIubW9ja05hbWUgPSAobikgPT4ge1xuICAgIG5hbWUgPSBuXG4gICAgcmV0dXJuIHN0dWJcbiAgfVxuXG4gIHN0dWIubW9ja0NsZWFyID0gKCkgPT4ge1xuICAgIHN0dWIucmVzZXQoKVxuICAgIHJldHVybiBzdHViXG4gIH1cblxuICBzdHViLm1vY2tSZXNldCA9ICgpID0+IHtcbiAgICBzdHViLnJlc2V0KClcbiAgICBpbXBsZW1lbnRhdGlvbiA9ICgpID0+IHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIFRSZXR1cm5zXG4gICAgb25jZUltcGxlbWVudGF0aW9ucyA9IFtdXG4gICAgcmV0dXJuIHN0dWJcbiAgfVxuXG4gIHN0dWIubW9ja1Jlc3RvcmUgPSAoKSA9PiB7XG4gICAgc3R1Yi5tb2NrUmVzZXQoKVxuICAgIGltcGxlbWVudGF0aW9uID0gdW5kZWZpbmVkXG4gICAgcmV0dXJuIHN0dWJcbiAgfVxuXG4gIHN0dWIuZ2V0TW9ja0ltcGxlbWVudGF0aW9uID0gKCkgPT4gaW1wbGVtZW50YXRpb25cbiAgc3R1Yi5tb2NrSW1wbGVtZW50YXRpb24gPSAoZm46ICguLi5hcmdzOiBUQXJncykgPT4gVFJldHVybnMpID0+IHtcbiAgICBpbXBsZW1lbnRhdGlvbiA9IGZuXG4gICAgcmV0dXJuIHN0dWJcbiAgfVxuXG4gIHN0dWIubW9ja0ltcGxlbWVudGF0aW9uT25jZSA9IChmbjogKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJucykgPT4ge1xuICAgIG9uY2VJbXBsZW1lbnRhdGlvbnMucHVzaChmbilcbiAgICByZXR1cm4gc3R1YlxuICB9XG5cbiAgc3R1Yi5tb2NrUmV0dXJuVGhpcyA9ICgpID0+XG4gICAgc3R1Yi5tb2NrSW1wbGVtZW50YXRpb24oZnVuY3Rpb24odGhpczogVFJldHVybnMpIHtcbiAgICAgIHJldHVybiB0aGlzXG4gICAgfSlcblxuICBzdHViLm1vY2tSZXR1cm5WYWx1ZSA9ICh2YWw6IFRSZXR1cm5zKSA9PiBzdHViLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB2YWwpXG4gIHN0dWIubW9ja1JldHVyblZhbHVlT25jZSA9ICh2YWw6IFRSZXR1cm5zKSA9PiBzdHViLm1vY2tJbXBsZW1lbnRhdGlvbk9uY2UoKCkgPT4gdmFsKVxuXG4gIHN0dWIubW9ja1Jlc29sdmVkVmFsdWUgPSAodmFsOiBBd2FpdGVkPFRSZXR1cm5zPikgPT5cbiAgICBzdHViLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiBQcm9taXNlLnJlc29sdmUodmFsIGFzIFRSZXR1cm5zKSlcblxuICBzdHViLm1vY2tSZXNvbHZlZFZhbHVlT25jZSA9ICh2YWw6IEF3YWl0ZWQ8VFJldHVybnM+KSA9PlxuICAgIHN0dWIubW9ja0ltcGxlbWVudGF0aW9uT25jZSgoKSA9PiBQcm9taXNlLnJlc29sdmUodmFsIGFzIFRSZXR1cm5zKSlcblxuICBzdHViLm1vY2tSZWplY3RlZFZhbHVlID0gKHZhbDogdW5rbm93bikgPT5cbiAgICBzdHViLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiBQcm9taXNlLnJlamVjdCh2YWwpKVxuXG4gIHN0dWIubW9ja1JlamVjdGVkVmFsdWVPbmNlID0gKHZhbDogdW5rbm93bikgPT5cbiAgICBzdHViLm1vY2tJbXBsZW1lbnRhdGlvbk9uY2UoKCkgPT4gUHJvbWlzZS5yZWplY3QodmFsKSlcblxuICB1dGlsLmFkZFByb3BlcnR5KHN0dWIsICdtb2NrJywgKCkgPT4gbW9ja0NvbnRleHQpXG5cbiAgc3R1Yi53aWxsQ2FsbChmdW5jdGlvbih0aGlzOiB1bmtub3duLCAuLi5hcmdzKSB7XG4gICAgaW5zdGFuY2VzLnB1c2godGhpcylcbiAgICBjb25zdCBpbXBsID0gb25jZUltcGxlbWVudGF0aW9ucy5zaGlmdCgpIHx8IGltcGxlbWVudGF0aW9uIHx8IHN0dWIuZ2V0T3JpZ2luYWwoKSB8fCAoKCkgPT4ge30pXG4gICAgcmV0dXJuIGltcGwuYXBwbHkodGhpcywgYXJncylcbiAgfSlcblxuICBzcGllcy5hZGQoc3R1YilcblxuICByZXR1cm4gc3R1YiBhcyBhbnlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZuPFRBcmdzIGV4dGVuZHMgYW55W10gPSBhbnlbXSwgUiA9IGFueT4oKTogSmVzdE1vY2tDb21wYXRGbjxUQXJncywgUj5cbmV4cG9ydCBmdW5jdGlvbiBmbjxUQXJncyBleHRlbmRzIGFueVtdID0gYW55W10sIFIgPSBhbnk+KFxuICBpbXBsZW1lbnRhdGlvbjogKC4uLmFyZ3M6IFRBcmdzKSA9PiBSXG4pOiBKZXN0TW9ja0NvbXBhdEZuPFRBcmdzLCBSPlxuZXhwb3J0IGZ1bmN0aW9uIGZuPFRBcmdzIGV4dGVuZHMgYW55W10gPSBhbnlbXSwgUiA9IGFueT4oXG4gIGltcGxlbWVudGF0aW9uPzogKC4uLmFyZ3M6IFRBcmdzKSA9PiBSLFxuKTogSmVzdE1vY2tDb21wYXRGbjxUQXJncywgUj4ge1xuICByZXR1cm4gZW5oYW5jZVNweSh0aW55c3B5LnNweU9uKHsgZm46IGltcGxlbWVudGF0aW9uIHx8ICgoKSA9PiB7fSkgfSwgJ2ZuJykpIGFzIHVua25vd24gYXMgSmVzdE1vY2tDb21wYXRGblxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVZLE1BQUMsS0FBSyxHQUFHLElBQUksR0FBRyxHQUFHO0FBQ3hCLFNBQVMsY0FBYyxDQUFDLEdBQUcsRUFBRTtBQUNwQyxFQUFFLE9BQU8sT0FBTyxHQUFHLEtBQUssVUFBVSxJQUFJLFNBQVMsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQztBQUN0RSxDQUFDO0FBQ00sU0FBUyxLQUFLLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUU7QUFDL0MsRUFBRSxNQUFNLFVBQVUsR0FBRztBQUNyQixJQUFJLEdBQUcsRUFBRSxRQUFRO0FBQ2pCLElBQUksR0FBRyxFQUFFLFFBQVE7QUFDakIsR0FB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
|
package/dist/node.d.ts
CHANGED
|
@@ -68,10 +68,18 @@ declare class VerboseReporter extends DefaultReporter {
|
|
|
68
68
|
constructor();
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
declare class TapReporter implements Reporter {
|
|
72
|
+
private ctx;
|
|
73
|
+
onInit(ctx: Vitest): void;
|
|
74
|
+
logTasks(tasks: Task[], currentIdent: string): void;
|
|
75
|
+
onFinished(files?: File[]): Promise<void>;
|
|
76
|
+
}
|
|
77
|
+
|
|
71
78
|
declare const ReportersMap: {
|
|
72
79
|
default: typeof DefaultReporter;
|
|
73
80
|
verbose: typeof VerboseReporter;
|
|
74
81
|
dot: typeof DotReporter;
|
|
82
|
+
tap: typeof TapReporter;
|
|
75
83
|
};
|
|
76
84
|
declare type BuiltinReporters = keyof typeof ReportersMap;
|
|
77
85
|
|
|
@@ -125,6 +133,86 @@ interface ResolvedC8Options extends Required<C8Options> {
|
|
|
125
133
|
tempDirectory: string;
|
|
126
134
|
}
|
|
127
135
|
|
|
136
|
+
interface JSDOMOptions {
|
|
137
|
+
/**
|
|
138
|
+
* The html content for the test.
|
|
139
|
+
*
|
|
140
|
+
* @default '<!DOCTYPE html>'
|
|
141
|
+
*/
|
|
142
|
+
html?: string | Buffer | ArrayBufferLike;
|
|
143
|
+
/**
|
|
144
|
+
* referrer just affects the value read from document.referrer.
|
|
145
|
+
* It defaults to no referrer (which reflects as the empty string).
|
|
146
|
+
*/
|
|
147
|
+
referrer?: string;
|
|
148
|
+
/**
|
|
149
|
+
* userAgent affects the value read from navigator.userAgent, as well as the User-Agent header sent while fetching subresources.
|
|
150
|
+
*
|
|
151
|
+
* @default `Mozilla/5.0 (${process.platform}) AppleWebKit/537.36 (KHTML, like Gecko) jsdom/${jsdomVersion}`
|
|
152
|
+
*/
|
|
153
|
+
userAgent?: string;
|
|
154
|
+
/**
|
|
155
|
+
* url sets the value returned by window.location, document.URL, and document.documentURI,
|
|
156
|
+
* and affects things like resolution of relative URLs within the document
|
|
157
|
+
* and the same-origin restrictions and referrer used while fetching subresources.
|
|
158
|
+
*
|
|
159
|
+
* @default 'http://localhost:3000'.
|
|
160
|
+
*/
|
|
161
|
+
url?: string;
|
|
162
|
+
/**
|
|
163
|
+
* contentType affects the value read from document.contentType, and how the document is parsed: as HTML or as XML.
|
|
164
|
+
* Values that are not "text/html" or an XML mime type will throw.
|
|
165
|
+
*
|
|
166
|
+
* @default 'text/html'.
|
|
167
|
+
*/
|
|
168
|
+
contentType?: string;
|
|
169
|
+
/**
|
|
170
|
+
* The maximum size in code units for the separate storage areas used by localStorage and sessionStorage.
|
|
171
|
+
* Attempts to store data larger than this limit will cause a DOMException to be thrown. By default, it is set
|
|
172
|
+
* to 5,000,000 code units per origin, as inspired by the HTML specification.
|
|
173
|
+
*
|
|
174
|
+
* @default 5_000_000
|
|
175
|
+
*/
|
|
176
|
+
storageQuota?: number;
|
|
177
|
+
/**
|
|
178
|
+
* Enable console?
|
|
179
|
+
*
|
|
180
|
+
* @default false
|
|
181
|
+
*/
|
|
182
|
+
console?: boolean;
|
|
183
|
+
/**
|
|
184
|
+
* jsdom does not have the capability to render visual content, and will act like a headless browser by default.
|
|
185
|
+
* It provides hints to web pages through APIs such as document.hidden that their content is not visible.
|
|
186
|
+
*
|
|
187
|
+
* When the `pretendToBeVisual` option is set to `true`, jsdom will pretend that it is rendering and displaying
|
|
188
|
+
* content.
|
|
189
|
+
*
|
|
190
|
+
* @default true
|
|
191
|
+
*/
|
|
192
|
+
pretendToBeVisual?: boolean;
|
|
193
|
+
/**
|
|
194
|
+
* `includeNodeLocations` preserves the location info produced by the HTML parser,
|
|
195
|
+
* allowing you to retrieve it with the nodeLocation() method (described below).
|
|
196
|
+
*
|
|
197
|
+
* It defaults to false to give the best performance,
|
|
198
|
+
* and cannot be used with an XML content type since our XML parser does not support location info.
|
|
199
|
+
*
|
|
200
|
+
* @default false
|
|
201
|
+
*/
|
|
202
|
+
includeNodeLocations?: boolean | undefined;
|
|
203
|
+
/**
|
|
204
|
+
* @default 'dangerously'
|
|
205
|
+
*/
|
|
206
|
+
runScripts?: 'dangerously' | 'outside-only';
|
|
207
|
+
/**
|
|
208
|
+
* Enable CookieJar
|
|
209
|
+
*
|
|
210
|
+
* @default false
|
|
211
|
+
*/
|
|
212
|
+
cookieJar?: boolean;
|
|
213
|
+
resources?: 'usable' | any;
|
|
214
|
+
}
|
|
215
|
+
|
|
128
216
|
declare type Awaitable<T> = T | PromiseLike<T>;
|
|
129
217
|
declare type Arrayable<T> = T | Array<T>;
|
|
130
218
|
declare type ArgumentsType<T> = T extends (...args: infer U) => any ? U : never;
|
|
@@ -326,6 +414,13 @@ interface SnapshotSummary {
|
|
|
326
414
|
|
|
327
415
|
declare type BuiltinEnvironment = 'node' | 'jsdom' | 'happy-dom';
|
|
328
416
|
declare type ApiConfig = Pick<CommonServerOptions, 'port' | 'strictPort' | 'host'>;
|
|
417
|
+
|
|
418
|
+
interface EnvironmentOptions {
|
|
419
|
+
/**
|
|
420
|
+
* jsdom options.
|
|
421
|
+
*/
|
|
422
|
+
jsdom?: JSDOMOptions;
|
|
423
|
+
}
|
|
329
424
|
interface InlineConfig {
|
|
330
425
|
/**
|
|
331
426
|
* Include globs for test files
|
|
@@ -387,7 +482,11 @@ interface InlineConfig {
|
|
|
387
482
|
*/
|
|
388
483
|
environment?: BuiltinEnvironment;
|
|
389
484
|
/**
|
|
390
|
-
*
|
|
485
|
+
* Environment options.
|
|
486
|
+
*/
|
|
487
|
+
environmentOptions?: EnvironmentOptions;
|
|
488
|
+
/**
|
|
489
|
+
* Update snapshot
|
|
391
490
|
*
|
|
392
491
|
* @default false
|
|
393
492
|
*/
|
|
@@ -400,6 +499,8 @@ interface InlineConfig {
|
|
|
400
499
|
watch?: boolean;
|
|
401
500
|
/**
|
|
402
501
|
* Project root
|
|
502
|
+
*
|
|
503
|
+
* @default process.cwd()
|
|
403
504
|
*/
|
|
404
505
|
root?: string;
|
|
405
506
|
/**
|
|
@@ -524,6 +625,7 @@ interface UserConfig extends InlineConfig {
|
|
|
524
625
|
related?: string[] | string;
|
|
525
626
|
}
|
|
526
627
|
interface ResolvedConfig extends Omit<Required<UserConfig>, 'config' | 'filters' | 'coverage' | 'testNamePattern' | 'related' | 'api'> {
|
|
628
|
+
base?: string;
|
|
527
629
|
config?: string;
|
|
528
630
|
filters?: string[];
|
|
529
631
|
testNamePattern?: RegExp;
|
package/dist/node.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { c as createVitest } from './index-
|
|
1
|
+
export { c as createVitest } from './index-9e44ed60.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,10 +11,10 @@ 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-
|
|
17
|
+
import './diff-04ac7bc9.js';
|
|
18
18
|
import './index-648e7ab2.js';
|
|
19
19
|
import './_commonjsHelpers-c9e3b764.js';
|
|
20
20
|
import 'assert';
|