vitest 0.1.27 → 0.2.0
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/LICENSE.md +87 -34
- package/dist/{_commonjsHelpers-c9e3b764.js → _commonjsHelpers-bdec4bbd.js} +2 -6
- package/dist/cli.js +18 -1086
- package/dist/create-edd195eb.js +9163 -0
- package/dist/{diff-2acc5f39.js → diff-f479c2ad.js} +3 -3
- package/dist/entry.js +27 -8
- package/dist/{globals-2b76a322.js → globals-54e252e6.js} +7 -6
- package/dist/index-0c3a317d.js +2411 -0
- package/dist/{index-ba307c22.js → index-1085cee5.js} +37 -4
- package/dist/index-825cb54c.js +331 -0
- package/dist/{index-e69e6df8.js → index-a2ff0e29.js} +2 -2
- package/dist/{index-9cc4cba7.js → index-bf8aa0b4.js} +2 -2
- package/dist/index.d.ts +54 -46
- package/dist/index.js +7 -6
- package/dist/jest-mock-113430de.js +1 -1
- package/dist/node.d.ts +16 -10
- package/dist/node.js +7 -7
- package/dist/{setup-aacc2afb.js → setup-82880a85.js} +4 -4
- package/dist/{source-map-23caa14c.js → source-map-f7a4da05.js} +2 -2
- package/dist/vi-dce4c3b0.js +5750 -0
- package/dist/worker.js +12 -41
- package/package.json +6 -5
- package/dist/create-2d77f928.js +0 -9153
- package/dist/index-648e7ab2.js +0 -331
- package/dist/index-6e709f57.js +0 -782
- package/dist/index-ce49e384.js +0 -1644
- package/dist/vi-edfe5437.js +0 -3502
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ViteDevServer, TransformResult, CommonServerOptions } from 'vite';
|
|
2
|
+
import { Profiler } from 'inspector';
|
|
2
3
|
import { MessagePort } from 'worker_threads';
|
|
3
4
|
import { SpyImpl } from 'tinyspy';
|
|
4
|
-
export { Spy, SpyFn } from 'tinyspy';
|
|
5
5
|
export { assert, default as chai, should } from 'chai';
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -228,6 +228,11 @@ declare class Any extends AsymmetricMatcher<any> {
|
|
|
228
228
|
toAsymmetricMatcher(): string;
|
|
229
229
|
}
|
|
230
230
|
|
|
231
|
+
interface FetchResult$1 {
|
|
232
|
+
code?: string;
|
|
233
|
+
externalize?: string;
|
|
234
|
+
}
|
|
235
|
+
|
|
231
236
|
interface DepsHandlingOptions {
|
|
232
237
|
external?: (string | RegExp)[];
|
|
233
238
|
inline?: (string | RegExp)[];
|
|
@@ -266,19 +271,16 @@ interface ViteNodeServerOptions {
|
|
|
266
271
|
declare class ViteNodeServer {
|
|
267
272
|
server: ViteDevServer;
|
|
268
273
|
options: ViteNodeServerOptions;
|
|
269
|
-
|
|
274
|
+
private fetchPromiseMap;
|
|
275
|
+
private transformPromiseMap;
|
|
276
|
+
private fetchCache;
|
|
270
277
|
constructor(server: ViteDevServer, options?: ViteNodeServerOptions);
|
|
271
278
|
shouldExternalize(id: string): Promise<string | false>;
|
|
272
|
-
fetchModule(id: string): Promise<{
|
|
273
|
-
externalize: string;
|
|
274
|
-
code?: undefined;
|
|
275
|
-
} | {
|
|
276
|
-
code: string | undefined;
|
|
277
|
-
externalize?: undefined;
|
|
278
|
-
}>;
|
|
279
279
|
resolveId(id: string, importer?: string): Promise<ViteNodeResolveId$1 | null>;
|
|
280
|
+
fetchModule(id: string): Promise<FetchResult$1>;
|
|
280
281
|
transformRequest(id: string): Promise<TransformResult | null | undefined>;
|
|
281
|
-
|
|
282
|
+
getTransformMode(id: string): "web" | "ssr";
|
|
283
|
+
private _fetchModule;
|
|
282
284
|
private _transformRequest;
|
|
283
285
|
}
|
|
284
286
|
|
|
@@ -316,6 +318,7 @@ declare class Vitest {
|
|
|
316
318
|
server: ViteDevServer;
|
|
317
319
|
state: StateManager;
|
|
318
320
|
snapshot: SnapshotManager;
|
|
321
|
+
coverage: Profiler.TakePreciseCoverageReturnType[];
|
|
319
322
|
reporters: Reporter[];
|
|
320
323
|
console: Console;
|
|
321
324
|
pool: WorkerPool | undefined;
|
|
@@ -350,6 +353,9 @@ declare class Vitest {
|
|
|
350
353
|
private scheduleRerun;
|
|
351
354
|
private unregisterWatcher;
|
|
352
355
|
private registerWatcher;
|
|
356
|
+
/**
|
|
357
|
+
* @returns A value indicating whether rerun is needed (changedTests was mutated)
|
|
358
|
+
*/
|
|
353
359
|
private handleFileChanged;
|
|
354
360
|
close(): Promise<void>;
|
|
355
361
|
exit(force?: boolean): Promise<void>;
|
|
@@ -515,7 +521,6 @@ interface C8Options {
|
|
|
515
521
|
all?: boolean;
|
|
516
522
|
}
|
|
517
523
|
interface ResolvedC8Options extends Required<C8Options> {
|
|
518
|
-
tempDirectory: string;
|
|
519
524
|
}
|
|
520
525
|
|
|
521
526
|
interface JSDOMOptions {
|
|
@@ -1059,6 +1064,11 @@ interface ResolvedConfig extends Omit<Required<UserConfig>, 'config' | 'filters'
|
|
|
1059
1064
|
api?: ApiConfig;
|
|
1060
1065
|
}
|
|
1061
1066
|
|
|
1067
|
+
interface FetchResult {
|
|
1068
|
+
code?: string;
|
|
1069
|
+
externalize?: string;
|
|
1070
|
+
}
|
|
1071
|
+
declare type FetchFunction = (id: string) => Promise<FetchResult>;
|
|
1062
1072
|
interface ViteNodeResolveId {
|
|
1063
1073
|
external?: boolean | 'absolute' | 'relative';
|
|
1064
1074
|
id: string;
|
|
@@ -1073,10 +1083,6 @@ interface WorkerContext {
|
|
|
1073
1083
|
files: string[];
|
|
1074
1084
|
invalidates?: string[];
|
|
1075
1085
|
}
|
|
1076
|
-
declare type FetchFunction = (id: string) => Promise<{
|
|
1077
|
-
code?: string;
|
|
1078
|
-
externalize?: string;
|
|
1079
|
-
}>;
|
|
1080
1086
|
declare type ResolveIdFunction = (id: string, importer?: string) => Promise<ViteNodeResolveId | null>;
|
|
1081
1087
|
interface WorkerRPC {
|
|
1082
1088
|
fetch: FetchFunction;
|
|
@@ -1088,6 +1094,7 @@ interface WorkerRPC {
|
|
|
1088
1094
|
onCollected: (files: File[]) => void;
|
|
1089
1095
|
onTaskUpdate: (pack: TaskResultPack[]) => void;
|
|
1090
1096
|
snapshotSaved: (snapshot: SnapshotResult) => void;
|
|
1097
|
+
coverageCollected: (coverage: Profiler.TakePreciseCoverageReturnType) => void;
|
|
1091
1098
|
}
|
|
1092
1099
|
|
|
1093
1100
|
declare const suite: ChainableFunction<"skip" | "only" | "todo" | "concurrent", [name: string, factory?: TestFactory | undefined], SuiteCollector>;
|
|
@@ -1100,7 +1107,7 @@ declare const afterAll: (fn: SuiteHooks['afterAll'][0], timeout?: number | undef
|
|
|
1100
1107
|
declare const beforeEach: (fn: SuiteHooks['beforeEach'][0], timeout?: number | undefined) => void;
|
|
1101
1108
|
declare const afterEach: (fn: SuiteHooks['afterEach'][0], timeout?: number | undefined) => void;
|
|
1102
1109
|
|
|
1103
|
-
declare const expect:
|
|
1110
|
+
declare const expect: Vi.ExpectStatic;
|
|
1104
1111
|
|
|
1105
1112
|
interface MockResultReturn<T> {
|
|
1106
1113
|
type: 'return';
|
|
@@ -1131,7 +1138,7 @@ declare type Properties<T> = {
|
|
|
1131
1138
|
declare type Classes<T> = {
|
|
1132
1139
|
[K in keyof T]: T[K] extends new (...args: any[]) => any ? K : never;
|
|
1133
1140
|
}[keyof T] & string;
|
|
1134
|
-
interface
|
|
1141
|
+
interface SpyInstance<TArgs extends any[] = any[], TReturns = any> {
|
|
1135
1142
|
getMockName(): string;
|
|
1136
1143
|
mockName(n: string): this;
|
|
1137
1144
|
mock: JestMockCompatContext<TArgs, TReturns>;
|
|
@@ -1149,10 +1156,10 @@ interface JestMockCompat<TArgs extends any[] = any[], TReturns = any> {
|
|
|
1149
1156
|
mockRejectedValue(obj: any): this;
|
|
1150
1157
|
mockRejectedValueOnce(obj: any): this;
|
|
1151
1158
|
}
|
|
1152
|
-
interface
|
|
1159
|
+
interface SpyInstanceFn<TArgs extends any[] = any, TReturns = any> extends SpyInstance<TArgs, TReturns> {
|
|
1153
1160
|
(...args: TArgs): TReturns;
|
|
1154
1161
|
}
|
|
1155
|
-
declare type MaybeMockedConstructor<T> = T extends new (...args: Array<any>) => infer R ?
|
|
1162
|
+
declare type MaybeMockedConstructor<T> = T extends new (...args: Array<any>) => infer R ? SpyInstanceFn<ConstructorParameters<T>, R> : T;
|
|
1156
1163
|
declare type MockedFunction<T extends Procedure> = MockWithArgs<T> & {
|
|
1157
1164
|
[K in keyof T]: T[K];
|
|
1158
1165
|
};
|
|
@@ -1169,35 +1176,37 @@ declare type MockedObjectDeep<T> = MaybeMockedConstructor<T> & {
|
|
|
1169
1176
|
};
|
|
1170
1177
|
declare type MaybeMockedDeep<T> = T extends Procedure ? MockedFunctionDeep<T> : T extends object ? MockedObjectDeep<T> : T;
|
|
1171
1178
|
declare type MaybeMocked<T> = T extends Procedure ? MockedFunction<T> : T extends object ? MockedObject<T> : T;
|
|
1172
|
-
declare type EnhancedSpy<TArgs extends any[] = any[], TReturns = any> =
|
|
1173
|
-
interface MockWithArgs<T extends Procedure> extends
|
|
1179
|
+
declare type EnhancedSpy<TArgs extends any[] = any[], TReturns = any> = SpyInstance<TArgs, TReturns> & SpyImpl<TArgs, TReturns>;
|
|
1180
|
+
interface MockWithArgs<T extends Procedure> extends SpyInstanceFn<Parameters<T>, ReturnType<T>> {
|
|
1174
1181
|
new (...args: T extends new (...args: any) => any ? ConstructorParameters<T> : never): T;
|
|
1175
1182
|
(...args: Parameters<T>): ReturnType<T>;
|
|
1176
1183
|
}
|
|
1177
|
-
declare const spies: Set<
|
|
1184
|
+
declare const spies: Set<SpyInstance<any[], any>>;
|
|
1178
1185
|
declare function isMockFunction(fn: any): fn is EnhancedSpy;
|
|
1179
|
-
declare function spyOn<T, S extends Properties<Required<T>>>(obj: T, methodName: S, accesType: 'get'):
|
|
1180
|
-
declare function spyOn<T, G extends Properties<Required<T>>>(obj: T, methodName: G, accesType: 'set'):
|
|
1181
|
-
declare function spyOn<T, M extends Classes<Required<T>>>(object: T, method: M): Required<T>[M] extends new (...args: infer A) => infer R ?
|
|
1182
|
-
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 ?
|
|
1183
|
-
declare function fn<TArgs extends any[] = any[], R = any>():
|
|
1184
|
-
declare function fn<TArgs extends any[] = any[], R = any>(implementation: (...args: TArgs) => R):
|
|
1186
|
+
declare function spyOn<T, S extends Properties<Required<T>>>(obj: T, methodName: S, accesType: 'get'): SpyInstance<[], T[S]>;
|
|
1187
|
+
declare function spyOn<T, G extends Properties<Required<T>>>(obj: T, methodName: G, accesType: 'set'): SpyInstance<[T[G]], void>;
|
|
1188
|
+
declare function spyOn<T, M extends Classes<Required<T>>>(object: T, method: M): Required<T>[M] extends new (...args: infer A) => infer R ? SpyInstance<A, R> : never;
|
|
1189
|
+
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 ? SpyInstance<A, R> : never;
|
|
1190
|
+
declare function fn<TArgs extends any[] = any[], R = any>(): SpyInstanceFn<TArgs, R>;
|
|
1191
|
+
declare function fn<TArgs extends any[] = any[], R = any>(implementation: (...args: TArgs) => R): SpyInstanceFn<TArgs, R>;
|
|
1185
1192
|
|
|
1186
1193
|
declare class VitestUtils {
|
|
1187
1194
|
private _timers;
|
|
1188
1195
|
private _mockedDate;
|
|
1189
1196
|
private _mocker;
|
|
1190
1197
|
constructor();
|
|
1191
|
-
useFakeTimers():
|
|
1192
|
-
useRealTimers():
|
|
1193
|
-
runOnlyPendingTimers():
|
|
1194
|
-
runAllTimers():
|
|
1195
|
-
|
|
1196
|
-
|
|
1198
|
+
useFakeTimers(): this;
|
|
1199
|
+
useRealTimers(): this;
|
|
1200
|
+
runOnlyPendingTimers(): this;
|
|
1201
|
+
runAllTimers(): this;
|
|
1202
|
+
runAllTicks(): this;
|
|
1203
|
+
advanceTimersByTime(ms: number): this;
|
|
1204
|
+
advanceTimersToNextTimer(): this;
|
|
1197
1205
|
getTimerCount(): number;
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1206
|
+
setSystemTime(time: number | string | Date): this;
|
|
1207
|
+
getMockedSystemTime(): string | number | Date | null;
|
|
1208
|
+
getRealSystemTime(): number;
|
|
1209
|
+
clearAllTimers(): this;
|
|
1201
1210
|
spyOn: typeof spyOn;
|
|
1202
1211
|
fn: typeof fn;
|
|
1203
1212
|
private getImporter;
|
|
@@ -1303,9 +1312,9 @@ declare type Promisify<O> = {
|
|
|
1303
1312
|
[K in keyof O]: O[K] extends (...args: infer A) => infer R ? O extends R ? Promisify<O[K]> : (...args: A) => Promise<R> : O[K];
|
|
1304
1313
|
};
|
|
1305
1314
|
declare global {
|
|
1306
|
-
namespace
|
|
1307
|
-
interface ExpectStatic extends AsymmetricMatchersContaining {
|
|
1308
|
-
<T>(actual: T, message?: string):
|
|
1315
|
+
namespace Vi {
|
|
1316
|
+
interface ExpectStatic extends Chai.ExpectStatic, AsymmetricMatchersContaining {
|
|
1317
|
+
<T>(actual: T, message?: string): Vi.Assertion<T>;
|
|
1309
1318
|
extend(expects: MatchersObject): void;
|
|
1310
1319
|
assertions(expected: number): void;
|
|
1311
1320
|
hasAssertions(): void;
|
|
@@ -1377,14 +1386,13 @@ declare global {
|
|
|
1377
1386
|
nthReturnedWith<E>(nthCall: number, value: E): void;
|
|
1378
1387
|
}
|
|
1379
1388
|
type VitestifyAssertion<A> = {
|
|
1380
|
-
[K in keyof A]: A[K] extends Assertion ?
|
|
1389
|
+
[K in keyof A]: A[K] extends Chai.Assertion ? Assertion<any> : A[K] extends (...args: any[]) => any ? A[K] : VitestifyAssertion<A[K]>;
|
|
1381
1390
|
};
|
|
1382
|
-
interface
|
|
1383
|
-
resolves: Promisify<
|
|
1384
|
-
rejects: Promisify<
|
|
1385
|
-
chaiEqual<E>(expected: E): void;
|
|
1391
|
+
interface Assertion<T = any> extends VitestifyAssertion<Chai.Assertion>, JestAssertion<T> {
|
|
1392
|
+
resolves: Promisify<Assertion<T>>;
|
|
1393
|
+
rejects: Promisify<Assertion<T>>;
|
|
1386
1394
|
}
|
|
1387
1395
|
}
|
|
1388
1396
|
}
|
|
1389
1397
|
|
|
1390
|
-
export { ApiConfig, ArgumentsType, Arrayable, Awaitable, BuiltinEnvironment, Constructable, DeepMerge, DoneCallback, EnhancedSpy, Environment, EnvironmentOptions, EnvironmentReturn, ErrorWithDiff,
|
|
1398
|
+
export { ApiConfig, ArgumentsType, Arrayable, Awaitable, BuiltinEnvironment, Constructable, DeepMerge, DoneCallback, EnhancedSpy, Environment, EnvironmentOptions, EnvironmentReturn, ErrorWithDiff, File, HookListener, InlineConfig, JSDOMOptions, JestMockCompatContext, MaybeMocked, MaybeMockedConstructor, MaybeMockedDeep, MergeInsertions, MockWithArgs, MockedFunction, MockedFunctionDeep, MockedObject, MockedObjectDeep, ModuleCache, ModuleGraphData, Nullable, ParsedStack, Position, RawSourceMap, Reporter, ResolveIdFunction, ResolvedConfig, RunMode, RuntimeContext, SnapshotData, SnapshotMatchOptions, SnapshotResult, SnapshotStateOptions, SnapshotSummary, SnapshotUpdateState, SpyInstance, SpyInstanceFn, StartOfSourceMap, 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,11 +1,12 @@
|
|
|
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-dce4c3b0.js';
|
|
2
|
+
export { a as afterAll, d as afterEach, b as beforeAll, c as beforeEach, e as expect } from './index-bf8aa0b4.js';
|
|
3
3
|
export { f as fn, i as isMockFunction, s as spies, a as spyOn } from './jest-mock-113430de.js';
|
|
4
4
|
export { assert, default as chai, should } from 'chai';
|
|
5
|
-
import './index-
|
|
5
|
+
import './index-a2ff0e29.js';
|
|
6
6
|
import 'tty';
|
|
7
7
|
import 'local-pkg';
|
|
8
|
-
import './
|
|
9
|
-
import './
|
|
8
|
+
import './source-map-f7a4da05.js';
|
|
9
|
+
import './_commonjsHelpers-bdec4bbd.js';
|
|
10
|
+
import 'util';
|
|
10
11
|
import 'tinyspy';
|
|
11
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OyJ9
|
|
@@ -96,4 +96,4 @@ function fn(implementation) {
|
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
export { spyOn as a, fn as f, isMockFunction as i, spies as s };
|
|
99
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamVzdC1tb2NrLTExMzQzMGRlLmpzIiwic291cmNlcyI6WyIuLi9zcmMvaW50ZWdyYXRpb25zL2plc3QtbW9jay50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1dGlsIH0gZnJvbSAnY2hhaSdcbmltcG9ydCB0eXBlIHsgU3B5SW1wbCB9IGZyb20gJ3RpbnlzcHknXG5pbXBvcnQgKiBhcyB0aW55c3B5IGZyb20gJ3RpbnlzcHknXG5cbmludGVyZmFjZSBNb2NrUmVzdWx0UmV0dXJuPFQ+IHtcbiAgdHlwZTogJ3JldHVybidcbiAgdmFsdWU6IFRcbn1cbmludGVyZmFjZSBNb2NrUmVzdWx0SW5jb21wbGV0ZSB7XG4gIHR5cGU6ICdpbmNvbXBsZXRlJ1xuICB2YWx1ZTogdW5kZWZpbmVkXG59XG5pbnRlcmZhY2UgTW9ja1Jlc3VsdFRocm93IHtcbiAgdHlwZTogJ3Rocm93J1xuICB2YWx1ZTogYW55XG59XG5cbnR5cGUgTW9ja1Jlc3VsdDxUPiA9IE1vY2tSZXN1bHRSZXR1cm48VD4gfCBNb2NrUmVzdWx0VGhyb3cgfCBNb2NrUmVzdWx0SW5jb21wbGV0ZVxuXG5leHBvcnQgaW50ZXJmYWNlIEplc3RNb2NrQ29tcGF0Q29udGV4dDxUQXJncywgVFJldHVybnM+IHtcbiAgY2FsbHM6IFRBcmdzW11cbiAgaW5zdGFuY2VzOiBUUmV0dXJuc1tdXG4gIGludm9jYXRpb25DYWxsT3JkZXI6IG51bWJlcltdXG4gIHJlc3VsdHM6IE1vY2tSZXN1bHQ8VFJldHVybnM+W11cbn1cblxudHlwZSBQcm9jZWR1cmUgPSAoLi4uYXJnczogYW55W10pID0+IGFueVxuXG50eXBlIE1ldGhvZHM8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgUHJvY2VkdXJlID8gSyA6IG5ldmVyXG59W2tleW9mIFRdICYgc3RyaW5nXG50eXBlIFByb3BlcnRpZXM8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgUHJvY2VkdXJlID8gbmV2ZXIgOiBLXG59W2tleW9mIFRdICYgc3RyaW5nXG50eXBlIENsYXNzZXM8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55ID8gSyA6IG5ldmVyXG59W2tleW9mIFRdICYgc3RyaW5nXG5cbmV4cG9ydCBpbnRlcmZhY2UgSmVzdE1vY2tDb21wYXQ8VEFyZ3MgZXh0ZW5kcyBhbnlbXSA9IGFueVtdLCBUUmV0dXJucyA9IGFueT4ge1xuICBnZXRNb2NrTmFtZSgpOiBzdHJpbmdcbiAgbW9ja05hbWUobjogc3RyaW5nKTogdGhpc1xuICBtb2NrOiBKZXN0TW9ja0NvbXBhdENvbnRleHQ8VEFyZ3MsIFRSZXR1cm5zPlxuICBtb2NrQ2xlYXIoKTogdGhpc1xuICBtb2NrUmVzZXQoKTogdGhpc1xuICBtb2NrUmVzdG9yZSgpOiB2b2lkXG4gIGdldE1vY2tJbXBsZW1lbnRhdGlvbigpOiAoKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJucykgfCB1bmRlZmluZWRcbiAgbW9ja0ltcGxlbWVudGF0aW9uKGZuOiAoKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJucykgfCAoKCkgPT4gUHJvbWlzZTxUUmV0dXJucz4pKTogdGhpc1xuICBtb2NrSW1wbGVtZW50YXRpb25PbmNlKGZuOiAoKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJucykgfCAoKCkgPT4gUHJvbWlzZTxUUmV0dXJucz4pKTogdGhpc1xuICBtb2NrUmV0dXJuVGhpcygpOiB0aGlzXG4gIG1vY2tSZXR1cm5WYWx1ZShvYmo6IFRSZXR1cm5zKTogdGhpc1xuICBtb2NrUmV0dXJuVmFsdWVPbmNlKG9iajogVFJldHVybnMpOiB0aGlzXG4gIG1vY2tSZXNvbHZlZFZhbHVlKG9iajogQXdhaXRlZDxUUmV0dXJucz4pOiB0aGlzXG4gIG1vY2tSZXNvbHZlZFZhbHVlT25jZShvYmo6IEF3YWl0ZWQ8VFJldHVybnM+KTogdGhpc1xuICBtb2NrUmVqZWN0ZWRWYWx1ZShvYmo6IGFueSk6IHRoaXNcbiAgbW9ja1JlamVjdGVkVmFsdWVPbmNlKG9iajogYW55KTogdGhpc1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEplc3RNb2NrQ29tcGF0Rm48VEFyZ3MgZXh0ZW5kcyBhbnlbXSA9IGFueSwgVFJldHVybnMgPSBhbnk+IGV4dGVuZHMgSmVzdE1vY2tDb21wYXQ8VEFyZ3MsIFRSZXR1cm5zPiB7XG4gICguLi5hcmdzOiBUQXJncyk6IFRSZXR1cm5zXG59XG5cbmV4cG9ydCB0eXBlIE1heWJlTW9ja2VkQ29uc3RydWN0b3I8VD4gPSBUIGV4dGVuZHMgbmV3IChcbiAgLi4uYXJnczogQXJyYXk8YW55PlxuKSA9PiBpbmZlciBSXG4gID8gSmVzdE1vY2tDb21wYXRGbjxDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VD4sIFI+XG4gIDogVFxuZXhwb3J0IHR5cGUgTW9ja2VkRnVuY3Rpb248VCBleHRlbmRzIFByb2NlZHVyZT4gPSBNb2NrV2l0aEFyZ3M8VD4gJiB7XG4gIFtLIGluIGtleW9mIFRdOiBUW0tdO1xufVxuZXhwb3J0IHR5cGUgTW9ja2VkRnVuY3Rpb25EZWVwPFQgZXh0ZW5kcyBQcm9jZWR1cmU+ID0gTW9ja1dpdGhBcmdzPFQ+ICYgTW9ja2VkT2JqZWN0RGVlcDxUPlxuZXhwb3J0IHR5cGUgTW9ja2VkT2JqZWN0PFQ+ID0gTWF5YmVNb2NrZWRDb25zdHJ1Y3RvcjxUPiAmIHtcbiAgW0sgaW4gTWV0aG9kczxUPl06IFRbS10gZXh0ZW5kcyBQcm9jZWR1cmVcbiAgICA/IE1vY2tlZEZ1bmN0aW9uPFRbS10+XG4gICAgOiBUW0tdO1xufSAmIHsgW0sgaW4gUHJvcGVydGllczxUPl06IFRbS10gfVxuZXhwb3J0IHR5cGUgTW9ja2VkT2JqZWN0RGVlcDxUPiA9IE1heWJlTW9ja2VkQ29uc3RydWN0b3I8VD4gJiB7XG4gIFtLIGluIE1ldGhvZHM8VD5dOiBUW0tdIGV4dGVuZHMgUHJvY2VkdXJlXG4gICAgPyBNb2NrZWRGdW5jdGlvbkRlZXA8VFtLXT5cbiAgICA6IFRbS107XG59ICYgeyBbSyBpbiBQcm9wZXJ0aWVzPFQ+XTogTWF5YmVNb2NrZWREZWVwPFRbS10+IH1cblxuZXhwb3J0IHR5cGUgTWF5YmVNb2NrZWREZWVwPFQ+ID0gVCBleHRlbmRzIFByb2NlZHVyZVxuICA/IE1vY2tlZEZ1bmN0aW9uRGVlcDxUPlxuICA6IFQgZXh0ZW5kcyBvYmplY3RcbiAgICA/IE1vY2tlZE9iamVjdERlZXA8VD5cbiAgICA6IFRcblxuZXhwb3J0IHR5cGUgTWF5YmVNb2NrZWQ8VD4gPSBUIGV4dGVuZHMgUHJvY2VkdXJlXG4gID8gTW9ja2VkRnVuY3Rpb248VD5cbiAgOiBUIGV4dGVuZHMgb2JqZWN0XG4gICAgPyBNb2NrZWRPYmplY3Q8VD5cbiAgICA6IFRcblxuZXhwb3J0IHR5cGUgRW5oYW5jZWRTcHk8VEFyZ3MgZXh0ZW5kcyBhbnlbXSA9IGFueVtdLCBUUmV0dXJucyA9IGFueT4gPSBKZXN0TW9ja0NvbXBhdDxUQXJncywgVFJldHVybnM+ICYgU3B5SW1wbDxUQXJncywgVFJldHVybnM+XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9ja1dpdGhBcmdzPFQgZXh0ZW5kcyBQcm9jZWR1cmU+XG4gIGV4dGVuZHMgSmVzdE1vY2tDb21wYXRGbjxQYXJhbWV0ZXJzPFQ+LCBSZXR1cm5UeXBlPFQ+PiB7XG4gIG5ldyAoLi4uYXJnczogVCBleHRlbmRzIG5ldyAoLi4uYXJnczogYW55KSA9PiBhbnkgPyBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VD4gOiBuZXZlcik6IFRcbiAgKC4uLmFyZ3M6IFBhcmFtZXRlcnM8VD4pOiBSZXR1cm5UeXBlPFQ+XG59XG5cbmV4cG9ydCBjb25zdCBzcGllcyA9IG5ldyBTZXQ8SmVzdE1vY2tDb21wYXQ+KClcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTW9ja0Z1bmN0aW9uKGZuOiBhbnkpOiBmbiBpcyBFbmhhbmNlZFNweSB7XG4gIHJldHVybiB0eXBlb2YgZm4gPT09ICdmdW5jdGlvbidcbiAgJiYgJ19faXNTcHknIGluIGZuXG4gICYmIGZuLl9faXNTcHlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNweU9uPFQsIFMgZXh0ZW5kcyBQcm9wZXJ0aWVzPFJlcXVpcmVkPFQ+Pj4oXG4gIG9iajogVCxcbiAgbWV0aG9kTmFtZTogUyxcbiAgYWNjZXNUeXBlOiAnZ2V0Jyxcbik6IEplc3RNb2NrQ29tcGF0PFtdLCBUW1NdPlxuZXhwb3J0IGZ1bmN0aW9uIHNweU9uPFQsIEcgZXh0ZW5kcyBQcm9wZXJ0aWVzPFJlcXVpcmVkPFQ+Pj4oXG4gIG9iajogVCxcbiAgbWV0aG9kTmFtZTogRyxcbiAgYWNjZXNUeXBlOiAnc2V0Jyxcbik6IEplc3RNb2NrQ29tcGF0PFtUW0ddXSwgdm9pZD5cbmV4cG9ydCBmdW5jdGlvbiBzcHlPbjxULCBNIGV4dGVuZHMgQ2xhc3NlczxSZXF1aXJlZDxUPj4+KFxuICBvYmplY3Q6IFQsXG4gIG1ldGhvZDogTVxuKTogUmVxdWlyZWQ8VD5bTV0gZXh0ZW5kcyBuZXcgKC4uLmFyZ3M6IGluZmVyIEEpID0+IGluZmVyIFJcbiAgPyBKZXN0TW9ja0NvbXBhdDxBLCBSPlxuICA6IG5ldmVyXG5leHBvcnQgZnVuY3Rpb24gc3B5T248VCwgTSBleHRlbmRzIE1ldGhvZHM8UmVxdWlyZWQ8VD4+PihcbiAgb2JqOiBULFxuICBtZXRob2ROYW1lOiBNLFxuICBtb2NrPzogVFtNXVxuKTogUmVxdWlyZWQ8VD5bTV0gZXh0ZW5kcyAoLi4uYXJnczogaW5mZXIgQSkgPT4gaW5mZXIgUiA/IEplc3RNb2NrQ29tcGF0PEEsIFI+IDogbmV2ZXJcbmV4cG9ydCBmdW5jdGlvbiBzcHlPbjxULCBLIGV4dGVuZHMga2V5b2YgVD4oXG4gIG9iajogVCxcbiAgbWV0aG9kOiBLLFxuICBhY2Nlc3NUeXBlPzogJ2dldCcgfCAnc2V0Jyxcbik6IEplc3RNb2NrQ29tcGF0IHtcbiAgY29uc3QgZGljdGlvbmFyeSA9IHtcbiAgICBnZXQ6ICdnZXR0ZXInLFxuICAgIHNldDogJ3NldHRlcicsXG4gIH0gYXMgY29uc3RcbiAgY29uc3Qgb2JqTWV0aG9kID0gYWNjZXNzVHlwZSA/IHsgW2RpY3Rpb25hcnlbYWNjZXNzVHlwZV1dOiBtZXRob2QgfSA6IG1ldGhvZFxuXG4gIGNvbnN0IHN0dWIgPSB0aW55c3B5LnNweU9uKG9iaiwgb2JqTWV0aG9kIGFzIGFueSlcblxuICByZXR1cm4gZW5oYW5jZVNweShzdHViKSBhcyBKZXN0TW9ja0NvbXBhdFxufVxuXG5sZXQgY2FsbE9yZGVyID0gMFxuXG5mdW5jdGlvbiBlbmhhbmNlU3B5PFRBcmdzIGV4dGVuZHMgYW55W10sIFRSZXR1cm5zPihcbiAgc3B5OiBTcHlJbXBsPFRBcmdzLCBUUmV0dXJucz4sXG4pOiBKZXN0TW9ja0NvbXBhdDxUQXJncywgVFJldHVybnM+IHtcbiAgY29uc3Qgc3R1YiA9IHNweSBhcyB1bmtub3duIGFzIEVuaGFuY2VkU3B5PFRBcmdzLCBUUmV0dXJucz5cblxuICBsZXQgaW1wbGVtZW50YXRpb246ICgoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm5zKSB8IHVuZGVmaW5lZFxuXG4gIGxldCBpbnN0YW5jZXM6IGFueVtdID0gW11cbiAgbGV0IGludm9jYXRpb25zOiBudW1iZXJbXSA9IFtdXG5cbiAgY29uc3QgbW9ja0NvbnRleHQgPSB7XG4gICAgZ2V0IGNhbGxzKCkge1xuICAgICAgcmV0dXJuIHN0dWIuY2FsbHNcbiAgICB9LFxuICAgIGdldCBpbnN0YW5jZXMoKSB7XG4gICAgICByZXR1cm4gaW5zdGFuY2VzXG4gICAgfSxcbiAgICBnZXQgaW52b2NhdGlvbkNhbGxPcmRlcigpIHtcbiAgICAgIHJldHVybiBpbnZvY2F0aW9uc1xuICAgIH0sXG4gICAgZ2V0IHJlc3VsdHMoKSB7XG4gICAgICByZXR1cm4gc3R1Yi5yZXN1bHRzLm1hcCgoW2NhbGxUeXBlLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgdHlwZSA9IGNhbGxUeXBlID09PSAnZXJyb3InID8gJ3Rocm93JyA6ICdyZXR1cm4nXG4gICAgICAgIHJldHVybiB7IHR5cGUsIHZhbHVlIH1cbiAgICAgIH0pXG4gICAgfSxcbiAgfVxuXG4gIGxldCBvbmNlSW1wbGVtZW50YXRpb25zOiAoKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJucylbXSA9IFtdXG5cbiAgbGV0IG5hbWU6IHN0cmluZyA9IChzdHViIGFzIGFueSkubmFtZVxuXG4gIHN0dWIuZ2V0TW9ja05hbWUgPSAoKSA9PiBuYW1lIHx8ICd2aS5mbigpJ1xuICBzdHViLm1vY2tOYW1lID0gKG4pID0+IHtcbiAgICBuYW1lID0gblxuICAgIHJldHVybiBzdHViXG4gIH1cblxuICBzdHViLm1vY2tDbGVhciA9ICgpID0+IHtcbiAgICBzdHViLnJlc2V0KClcbiAgICBpbnN0YW5jZXMgPSBbXVxuICAgIGludm9jYXRpb25zID0gW11cbiAgICByZXR1cm4gc3R1YlxuICB9XG5cbiAgc3R1Yi5tb2NrUmVzZXQgPSAoKSA9PiB7XG4gICAgc3R1Yi5tb2NrQ2xlYXIoKVxuICAgIGltcGxlbWVudGF0aW9uID0gKCkgPT4gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgVFJldHVybnNcbiAgICBvbmNlSW1wbGVtZW50YXRpb25zID0gW11cbiAgICByZXR1cm4gc3R1YlxuICB9XG5cbiAgc3R1Yi5tb2NrUmVzdG9yZSA9ICgpID0+IHtcbiAgICBzdHViLm1vY2tSZXNldCgpXG4gICAgaW1wbGVtZW50YXRpb24gPSB1bmRlZmluZWRcbiAgICByZXR1cm4gc3R1YlxuICB9XG5cbiAgc3R1Yi5nZXRNb2NrSW1wbGVtZW50YXRpb24gPSAoKSA9PiBpbXBsZW1lbnRhdGlvblxuICBzdHViLm1vY2tJbXBsZW1lbnRhdGlvbiA9IChmbjogKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJucykgPT4ge1xuICAgIGltcGxlbWVudGF0aW9uID0gZm5cbiAgICByZXR1cm4gc3R1YlxuICB9XG5cbiAgc3R1Yi5tb2NrSW1wbGVtZW50YXRpb25PbmNlID0gKGZuOiAoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm5zKSA9PiB7XG4gICAgb25jZUltcGxlbWVudGF0aW9ucy5wdXNoKGZuKVxuICAgIHJldHVybiBzdHViXG4gIH1cblxuICBzdHViLm1vY2tSZXR1cm5UaGlzID0gKCkgPT5cbiAgICBzdHViLm1vY2tJbXBsZW1lbnRhdGlvbihmdW5jdGlvbih0aGlzOiBUUmV0dXJucykge1xuICAgICAgcmV0dXJuIHRoaXNcbiAgICB9KVxuXG4gIHN0dWIubW9ja1JldHVyblZhbHVlID0gKHZhbDogVFJldHVybnMpID0+IHN0dWIubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHZhbClcbiAgc3R1Yi5tb2NrUmV0dXJuVmFsdWVPbmNlID0gKHZhbDogVFJldHVybnMpID0+IHN0dWIubW9ja0ltcGxlbWVudGF0aW9uT25jZSgoKSA9PiB2YWwpXG5cbiAgc3R1Yi5tb2NrUmVzb2x2ZWRWYWx1ZSA9ICh2YWw6IEF3YWl0ZWQ8VFJldHVybnM+KSA9PlxuICAgIHN0dWIubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IFByb21pc2UucmVzb2x2ZSh2YWwgYXMgVFJldHVybnMpKVxuXG4gIHN0dWIubW9ja1Jlc29sdmVkVmFsdWVPbmNlID0gKHZhbDogQXdhaXRlZDxUUmV0dXJucz4pID0+XG4gICAgc3R1Yi5tb2NrSW1wbGVtZW50YXRpb25PbmNlKCgpID0+IFByb21pc2UucmVzb2x2ZSh2YWwgYXMgVFJldHVybnMpKVxuXG4gIHN0dWIubW9ja1JlamVjdGVkVmFsdWUgPSAodmFsOiB1bmtub3duKSA9PlxuICAgIHN0dWIubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IFByb21pc2UucmVqZWN0KHZhbCkpXG5cbiAgc3R1Yi5tb2NrUmVqZWN0ZWRWYWx1ZU9uY2UgPSAodmFsOiB1bmtub3duKSA9PlxuICAgIHN0dWIubW9ja0ltcGxlbWVudGF0aW9uT25jZSgoKSA9PiBQcm9taXNlLnJlamVjdCh2YWwpKVxuXG4gIHV0aWwuYWRkUHJvcGVydHkoc3R1YiwgJ21vY2snLCAoKSA9PiBtb2NrQ29udGV4dClcblxuICBzdHViLndpbGxDYWxsKGZ1bmN0aW9uKHRoaXM6IHVua25vd24sIC4uLmFyZ3MpIHtcbiAgICBpbnN0YW5jZXMucHVzaCh0aGlzKVxuICAgIGludm9jYXRpb25zLnB1c2goKytjYWxsT3JkZXIpXG4gICAgY29uc3QgaW1wbCA9IG9uY2VJbXBsZW1lbnRhdGlvbnMuc2hpZnQoKSB8fCBpbXBsZW1lbnRhdGlvbiB8fCBzdHViLmdldE9yaWdpbmFsKCkgfHwgKCgpID0+IHt9KVxuICAgIHJldHVybiBpbXBsLmFwcGx5KHRoaXMsIGFyZ3MpXG4gIH0pXG5cbiAgc3BpZXMuYWRkKHN0dWIpXG5cbiAgcmV0dXJuIHN0dWIgYXMgYW55XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmbjxUQXJncyBleHRlbmRzIGFueVtdID0gYW55W10sIFIgPSBhbnk+KCk6IEplc3RNb2NrQ29tcGF0Rm48VEFyZ3MsIFI+XG5leHBvcnQgZnVuY3Rpb24gZm48VEFyZ3MgZXh0ZW5kcyBhbnlbXSA9IGFueVtdLCBSID0gYW55PihcbiAgaW1wbGVtZW50YXRpb246ICguLi5hcmdzOiBUQXJncykgPT4gUlxuKTogSmVzdE1vY2tDb21wYXRGbjxUQXJncywgUj5cbmV4cG9ydCBmdW5jdGlvbiBmbjxUQXJncyBleHRlbmRzIGFueVtdID0gYW55W10sIFIgPSBhbnk+KFxuICBpbXBsZW1lbnRhdGlvbj86ICguLi5hcmdzOiBUQXJncykgPT4gUixcbik6IEplc3RNb2NrQ29tcGF0Rm48VEFyZ3MsIFI+IHtcbiAgcmV0dXJuIGVuaGFuY2VTcHkodGlueXNweS5zcHlPbih7IGZuOiBpbXBsZW1lbnRhdGlvbiB8fCAoKCkgPT4ge30pIH0sICdmbicpKSBhcyB1bmtub3duIGFzIEplc3RNb2NrQ29tcGF0Rm5cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFWSxNQUFDLEtBQUssR0FBRyxJQUFJLEdBQUcsR0FBRztBQUN4QixTQUFTLGNBQWMsQ0FBQyxHQUFHLEVBQUU7QUFDcEMsRUFBRSxPQUFPLE9BQU8sR0FBRyxLQUFLLFVBQVUsSUFBSSxTQUFTLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUM7QUFDdEUsQ0FBQztBQUNNLFNBQVMsS0FBSyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVB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
|
|
99
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamVzdC1tb2NrLTExMzQzMGRlLmpzIiwic291cmNlcyI6WyIuLi9zcmMvaW50ZWdyYXRpb25zL2plc3QtbW9jay50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1dGlsIH0gZnJvbSAnY2hhaSdcbmltcG9ydCB0eXBlIHsgU3B5SW1wbCB9IGZyb20gJ3RpbnlzcHknXG5pbXBvcnQgKiBhcyB0aW55c3B5IGZyb20gJ3RpbnlzcHknXG5cbmludGVyZmFjZSBNb2NrUmVzdWx0UmV0dXJuPFQ+IHtcbiAgdHlwZTogJ3JldHVybidcbiAgdmFsdWU6IFRcbn1cbmludGVyZmFjZSBNb2NrUmVzdWx0SW5jb21wbGV0ZSB7XG4gIHR5cGU6ICdpbmNvbXBsZXRlJ1xuICB2YWx1ZTogdW5kZWZpbmVkXG59XG5pbnRlcmZhY2UgTW9ja1Jlc3VsdFRocm93IHtcbiAgdHlwZTogJ3Rocm93J1xuICB2YWx1ZTogYW55XG59XG5cbnR5cGUgTW9ja1Jlc3VsdDxUPiA9IE1vY2tSZXN1bHRSZXR1cm48VD4gfCBNb2NrUmVzdWx0VGhyb3cgfCBNb2NrUmVzdWx0SW5jb21wbGV0ZVxuXG5leHBvcnQgaW50ZXJmYWNlIEplc3RNb2NrQ29tcGF0Q29udGV4dDxUQXJncywgVFJldHVybnM+IHtcbiAgY2FsbHM6IFRBcmdzW11cbiAgaW5zdGFuY2VzOiBUUmV0dXJuc1tdXG4gIGludm9jYXRpb25DYWxsT3JkZXI6IG51bWJlcltdXG4gIHJlc3VsdHM6IE1vY2tSZXN1bHQ8VFJldHVybnM+W11cbn1cblxudHlwZSBQcm9jZWR1cmUgPSAoLi4uYXJnczogYW55W10pID0+IGFueVxuXG50eXBlIE1ldGhvZHM8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgUHJvY2VkdXJlID8gSyA6IG5ldmVyXG59W2tleW9mIFRdICYgc3RyaW5nXG50eXBlIFByb3BlcnRpZXM8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgUHJvY2VkdXJlID8gbmV2ZXIgOiBLXG59W2tleW9mIFRdICYgc3RyaW5nXG50eXBlIENsYXNzZXM8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55ID8gSyA6IG5ldmVyXG59W2tleW9mIFRdICYgc3RyaW5nXG5cbmV4cG9ydCBpbnRlcmZhY2UgU3B5SW5zdGFuY2U8VEFyZ3MgZXh0ZW5kcyBhbnlbXSA9IGFueVtdLCBUUmV0dXJucyA9IGFueT4ge1xuICBnZXRNb2NrTmFtZSgpOiBzdHJpbmdcbiAgbW9ja05hbWUobjogc3RyaW5nKTogdGhpc1xuICBtb2NrOiBKZXN0TW9ja0NvbXBhdENvbnRleHQ8VEFyZ3MsIFRSZXR1cm5zPlxuICBtb2NrQ2xlYXIoKTogdGhpc1xuICBtb2NrUmVzZXQoKTogdGhpc1xuICBtb2NrUmVzdG9yZSgpOiB2b2lkXG4gIGdldE1vY2tJbXBsZW1lbnRhdGlvbigpOiAoKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJucykgfCB1bmRlZmluZWRcbiAgbW9ja0ltcGxlbWVudGF0aW9uKGZuOiAoKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJucykgfCAoKCkgPT4gUHJvbWlzZTxUUmV0dXJucz4pKTogdGhpc1xuICBtb2NrSW1wbGVtZW50YXRpb25PbmNlKGZuOiAoKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJucykgfCAoKCkgPT4gUHJvbWlzZTxUUmV0dXJucz4pKTogdGhpc1xuICBtb2NrUmV0dXJuVGhpcygpOiB0aGlzXG4gIG1vY2tSZXR1cm5WYWx1ZShvYmo6IFRSZXR1cm5zKTogdGhpc1xuICBtb2NrUmV0dXJuVmFsdWVPbmNlKG9iajogVFJldHVybnMpOiB0aGlzXG4gIG1vY2tSZXNvbHZlZFZhbHVlKG9iajogQXdhaXRlZDxUUmV0dXJucz4pOiB0aGlzXG4gIG1vY2tSZXNvbHZlZFZhbHVlT25jZShvYmo6IEF3YWl0ZWQ8VFJldHVybnM+KTogdGhpc1xuICBtb2NrUmVqZWN0ZWRWYWx1ZShvYmo6IGFueSk6IHRoaXNcbiAgbW9ja1JlamVjdGVkVmFsdWVPbmNlKG9iajogYW55KTogdGhpc1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNweUluc3RhbmNlRm48VEFyZ3MgZXh0ZW5kcyBhbnlbXSA9IGFueSwgVFJldHVybnMgPSBhbnk+IGV4dGVuZHMgU3B5SW5zdGFuY2U8VEFyZ3MsIFRSZXR1cm5zPiB7XG4gICguLi5hcmdzOiBUQXJncyk6IFRSZXR1cm5zXG59XG5cbmV4cG9ydCB0eXBlIE1heWJlTW9ja2VkQ29uc3RydWN0b3I8VD4gPSBUIGV4dGVuZHMgbmV3IChcbiAgLi4uYXJnczogQXJyYXk8YW55PlxuKSA9PiBpbmZlciBSXG4gID8gU3B5SW5zdGFuY2VGbjxDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VD4sIFI+XG4gIDogVFxuZXhwb3J0IHR5cGUgTW9ja2VkRnVuY3Rpb248VCBleHRlbmRzIFByb2NlZHVyZT4gPSBNb2NrV2l0aEFyZ3M8VD4gJiB7XG4gIFtLIGluIGtleW9mIFRdOiBUW0tdO1xufVxuZXhwb3J0IHR5cGUgTW9ja2VkRnVuY3Rpb25EZWVwPFQgZXh0ZW5kcyBQcm9jZWR1cmU+ID0gTW9ja1dpdGhBcmdzPFQ+ICYgTW9ja2VkT2JqZWN0RGVlcDxUPlxuZXhwb3J0IHR5cGUgTW9ja2VkT2JqZWN0PFQ+ID0gTWF5YmVNb2NrZWRDb25zdHJ1Y3RvcjxUPiAmIHtcbiAgW0sgaW4gTWV0aG9kczxUPl06IFRbS10gZXh0ZW5kcyBQcm9jZWR1cmVcbiAgICA/IE1vY2tlZEZ1bmN0aW9uPFRbS10+XG4gICAgOiBUW0tdO1xufSAmIHsgW0sgaW4gUHJvcGVydGllczxUPl06IFRbS10gfVxuZXhwb3J0IHR5cGUgTW9ja2VkT2JqZWN0RGVlcDxUPiA9IE1heWJlTW9ja2VkQ29uc3RydWN0b3I8VD4gJiB7XG4gIFtLIGluIE1ldGhvZHM8VD5dOiBUW0tdIGV4dGVuZHMgUHJvY2VkdXJlXG4gICAgPyBNb2NrZWRGdW5jdGlvbkRlZXA8VFtLXT5cbiAgICA6IFRbS107XG59ICYgeyBbSyBpbiBQcm9wZXJ0aWVzPFQ+XTogTWF5YmVNb2NrZWREZWVwPFRbS10+IH1cblxuZXhwb3J0IHR5cGUgTWF5YmVNb2NrZWREZWVwPFQ+ID0gVCBleHRlbmRzIFByb2NlZHVyZVxuICA/IE1vY2tlZEZ1bmN0aW9uRGVlcDxUPlxuICA6IFQgZXh0ZW5kcyBvYmplY3RcbiAgICA/IE1vY2tlZE9iamVjdERlZXA8VD5cbiAgICA6IFRcblxuZXhwb3J0IHR5cGUgTWF5YmVNb2NrZWQ8VD4gPSBUIGV4dGVuZHMgUHJvY2VkdXJlXG4gID8gTW9ja2VkRnVuY3Rpb248VD5cbiAgOiBUIGV4dGVuZHMgb2JqZWN0XG4gICAgPyBNb2NrZWRPYmplY3Q8VD5cbiAgICA6IFRcblxuZXhwb3J0IHR5cGUgRW5oYW5jZWRTcHk8VEFyZ3MgZXh0ZW5kcyBhbnlbXSA9IGFueVtdLCBUUmV0dXJucyA9IGFueT4gPSBTcHlJbnN0YW5jZTxUQXJncywgVFJldHVybnM+ICYgU3B5SW1wbDxUQXJncywgVFJldHVybnM+XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9ja1dpdGhBcmdzPFQgZXh0ZW5kcyBQcm9jZWR1cmU+XG4gIGV4dGVuZHMgU3B5SW5zdGFuY2VGbjxQYXJhbWV0ZXJzPFQ+LCBSZXR1cm5UeXBlPFQ+PiB7XG4gIG5ldyAoLi4uYXJnczogVCBleHRlbmRzIG5ldyAoLi4uYXJnczogYW55KSA9PiBhbnkgPyBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VD4gOiBuZXZlcik6IFRcbiAgKC4uLmFyZ3M6IFBhcmFtZXRlcnM8VD4pOiBSZXR1cm5UeXBlPFQ+XG59XG5cbmV4cG9ydCBjb25zdCBzcGllcyA9IG5ldyBTZXQ8U3B5SW5zdGFuY2U+KClcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTW9ja0Z1bmN0aW9uKGZuOiBhbnkpOiBmbiBpcyBFbmhhbmNlZFNweSB7XG4gIHJldHVybiB0eXBlb2YgZm4gPT09ICdmdW5jdGlvbidcbiAgJiYgJ19faXNTcHknIGluIGZuXG4gICYmIGZuLl9faXNTcHlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNweU9uPFQsIFMgZXh0ZW5kcyBQcm9wZXJ0aWVzPFJlcXVpcmVkPFQ+Pj4oXG4gIG9iajogVCxcbiAgbWV0aG9kTmFtZTogUyxcbiAgYWNjZXNUeXBlOiAnZ2V0Jyxcbik6IFNweUluc3RhbmNlPFtdLCBUW1NdPlxuZXhwb3J0IGZ1bmN0aW9uIHNweU9uPFQsIEcgZXh0ZW5kcyBQcm9wZXJ0aWVzPFJlcXVpcmVkPFQ+Pj4oXG4gIG9iajogVCxcbiAgbWV0aG9kTmFtZTogRyxcbiAgYWNjZXNUeXBlOiAnc2V0Jyxcbik6IFNweUluc3RhbmNlPFtUW0ddXSwgdm9pZD5cbmV4cG9ydCBmdW5jdGlvbiBzcHlPbjxULCBNIGV4dGVuZHMgQ2xhc3NlczxSZXF1aXJlZDxUPj4+KFxuICBvYmplY3Q6IFQsXG4gIG1ldGhvZDogTVxuKTogUmVxdWlyZWQ8VD5bTV0gZXh0ZW5kcyBuZXcgKC4uLmFyZ3M6IGluZmVyIEEpID0+IGluZmVyIFJcbiAgPyBTcHlJbnN0YW5jZTxBLCBSPlxuICA6IG5ldmVyXG5leHBvcnQgZnVuY3Rpb24gc3B5T248VCwgTSBleHRlbmRzIE1ldGhvZHM8UmVxdWlyZWQ8VD4+PihcbiAgb2JqOiBULFxuICBtZXRob2ROYW1lOiBNLFxuICBtb2NrPzogVFtNXVxuKTogUmVxdWlyZWQ8VD5bTV0gZXh0ZW5kcyAoLi4uYXJnczogaW5mZXIgQSkgPT4gaW5mZXIgUiA/IFNweUluc3RhbmNlPEEsIFI+IDogbmV2ZXJcbmV4cG9ydCBmdW5jdGlvbiBzcHlPbjxULCBLIGV4dGVuZHMga2V5b2YgVD4oXG4gIG9iajogVCxcbiAgbWV0aG9kOiBLLFxuICBhY2Nlc3NUeXBlPzogJ2dldCcgfCAnc2V0Jyxcbik6IFNweUluc3RhbmNlIHtcbiAgY29uc3QgZGljdGlvbmFyeSA9IHtcbiAgICBnZXQ6ICdnZXR0ZXInLFxuICAgIHNldDogJ3NldHRlcicsXG4gIH0gYXMgY29uc3RcbiAgY29uc3Qgb2JqTWV0aG9kID0gYWNjZXNzVHlwZSA/IHsgW2RpY3Rpb25hcnlbYWNjZXNzVHlwZV1dOiBtZXRob2QgfSA6IG1ldGhvZFxuXG4gIGNvbnN0IHN0dWIgPSB0aW55c3B5LnNweU9uKG9iaiwgb2JqTWV0aG9kIGFzIGFueSlcblxuICByZXR1cm4gZW5oYW5jZVNweShzdHViKSBhcyBTcHlJbnN0YW5jZVxufVxuXG5sZXQgY2FsbE9yZGVyID0gMFxuXG5mdW5jdGlvbiBlbmhhbmNlU3B5PFRBcmdzIGV4dGVuZHMgYW55W10sIFRSZXR1cm5zPihcbiAgc3B5OiBTcHlJbXBsPFRBcmdzLCBUUmV0dXJucz4sXG4pOiBTcHlJbnN0YW5jZTxUQXJncywgVFJldHVybnM+IHtcbiAgY29uc3Qgc3R1YiA9IHNweSBhcyB1bmtub3duIGFzIEVuaGFuY2VkU3B5PFRBcmdzLCBUUmV0dXJucz5cblxuICBsZXQgaW1wbGVtZW50YXRpb246ICgoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm5zKSB8IHVuZGVmaW5lZFxuXG4gIGxldCBpbnN0YW5jZXM6IGFueVtdID0gW11cbiAgbGV0IGludm9jYXRpb25zOiBudW1iZXJbXSA9IFtdXG5cbiAgY29uc3QgbW9ja0NvbnRleHQgPSB7XG4gICAgZ2V0IGNhbGxzKCkge1xuICAgICAgcmV0dXJuIHN0dWIuY2FsbHNcbiAgICB9LFxuICAgIGdldCBpbnN0YW5jZXMoKSB7XG4gICAgICByZXR1cm4gaW5zdGFuY2VzXG4gICAgfSxcbiAgICBnZXQgaW52b2NhdGlvbkNhbGxPcmRlcigpIHtcbiAgICAgIHJldHVybiBpbnZvY2F0aW9uc1xuICAgIH0sXG4gICAgZ2V0IHJlc3VsdHMoKSB7XG4gICAgICByZXR1cm4gc3R1Yi5yZXN1bHRzLm1hcCgoW2NhbGxUeXBlLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgdHlwZSA9IGNhbGxUeXBlID09PSAnZXJyb3InID8gJ3Rocm93JyA6ICdyZXR1cm4nXG4gICAgICAgIHJldHVybiB7IHR5cGUsIHZhbHVlIH1cbiAgICAgIH0pXG4gICAgfSxcbiAgfVxuXG4gIGxldCBvbmNlSW1wbGVtZW50YXRpb25zOiAoKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJucylbXSA9IFtdXG5cbiAgbGV0IG5hbWU6IHN0cmluZyA9IChzdHViIGFzIGFueSkubmFtZVxuXG4gIHN0dWIuZ2V0TW9ja05hbWUgPSAoKSA9PiBuYW1lIHx8ICd2aS5mbigpJ1xuICBzdHViLm1vY2tOYW1lID0gKG4pID0+IHtcbiAgICBuYW1lID0gblxuICAgIHJldHVybiBzdHViXG4gIH1cblxuICBzdHViLm1vY2tDbGVhciA9ICgpID0+IHtcbiAgICBzdHViLnJlc2V0KClcbiAgICBpbnN0YW5jZXMgPSBbXVxuICAgIGludm9jYXRpb25zID0gW11cbiAgICByZXR1cm4gc3R1YlxuICB9XG5cbiAgc3R1Yi5tb2NrUmVzZXQgPSAoKSA9PiB7XG4gICAgc3R1Yi5tb2NrQ2xlYXIoKVxuICAgIGltcGxlbWVudGF0aW9uID0gKCkgPT4gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgVFJldHVybnNcbiAgICBvbmNlSW1wbGVtZW50YXRpb25zID0gW11cbiAgICByZXR1cm4gc3R1YlxuICB9XG5cbiAgc3R1Yi5tb2NrUmVzdG9yZSA9ICgpID0+IHtcbiAgICBzdHViLm1vY2tSZXNldCgpXG4gICAgaW1wbGVtZW50YXRpb24gPSB1bmRlZmluZWRcbiAgICByZXR1cm4gc3R1YlxuICB9XG5cbiAgc3R1Yi5nZXRNb2NrSW1wbGVtZW50YXRpb24gPSAoKSA9PiBpbXBsZW1lbnRhdGlvblxuICBzdHViLm1vY2tJbXBsZW1lbnRhdGlvbiA9IChmbjogKC4uLmFyZ3M6IFRBcmdzKSA9PiBUUmV0dXJucykgPT4ge1xuICAgIGltcGxlbWVudGF0aW9uID0gZm5cbiAgICByZXR1cm4gc3R1YlxuICB9XG5cbiAgc3R1Yi5tb2NrSW1wbGVtZW50YXRpb25PbmNlID0gKGZuOiAoLi4uYXJnczogVEFyZ3MpID0+IFRSZXR1cm5zKSA9PiB7XG4gICAgb25jZUltcGxlbWVudGF0aW9ucy5wdXNoKGZuKVxuICAgIHJldHVybiBzdHViXG4gIH1cblxuICBzdHViLm1vY2tSZXR1cm5UaGlzID0gKCkgPT5cbiAgICBzdHViLm1vY2tJbXBsZW1lbnRhdGlvbihmdW5jdGlvbih0aGlzOiBUUmV0dXJucykge1xuICAgICAgcmV0dXJuIHRoaXNcbiAgICB9KVxuXG4gIHN0dWIubW9ja1JldHVyblZhbHVlID0gKHZhbDogVFJldHVybnMpID0+IHN0dWIubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHZhbClcbiAgc3R1Yi5tb2NrUmV0dXJuVmFsdWVPbmNlID0gKHZhbDogVFJldHVybnMpID0+IHN0dWIubW9ja0ltcGxlbWVudGF0aW9uT25jZSgoKSA9PiB2YWwpXG5cbiAgc3R1Yi5tb2NrUmVzb2x2ZWRWYWx1ZSA9ICh2YWw6IEF3YWl0ZWQ8VFJldHVybnM+KSA9PlxuICAgIHN0dWIubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IFByb21pc2UucmVzb2x2ZSh2YWwgYXMgVFJldHVybnMpKVxuXG4gIHN0dWIubW9ja1Jlc29sdmVkVmFsdWVPbmNlID0gKHZhbDogQXdhaXRlZDxUUmV0dXJucz4pID0+XG4gICAgc3R1Yi5tb2NrSW1wbGVtZW50YXRpb25PbmNlKCgpID0+IFByb21pc2UucmVzb2x2ZSh2YWwgYXMgVFJldHVybnMpKVxuXG4gIHN0dWIubW9ja1JlamVjdGVkVmFsdWUgPSAodmFsOiB1bmtub3duKSA9PlxuICAgIHN0dWIubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IFByb21pc2UucmVqZWN0KHZhbCkpXG5cbiAgc3R1Yi5tb2NrUmVqZWN0ZWRWYWx1ZU9uY2UgPSAodmFsOiB1bmtub3duKSA9PlxuICAgIHN0dWIubW9ja0ltcGxlbWVudGF0aW9uT25jZSgoKSA9PiBQcm9taXNlLnJlamVjdCh2YWwpKVxuXG4gIHV0aWwuYWRkUHJvcGVydHkoc3R1YiwgJ21vY2snLCAoKSA9PiBtb2NrQ29udGV4dClcblxuICBzdHViLndpbGxDYWxsKGZ1bmN0aW9uKHRoaXM6IHVua25vd24sIC4uLmFyZ3MpIHtcbiAgICBpbnN0YW5jZXMucHVzaCh0aGlzKVxuICAgIGludm9jYXRpb25zLnB1c2goKytjYWxsT3JkZXIpXG4gICAgY29uc3QgaW1wbCA9IG9uY2VJbXBsZW1lbnRhdGlvbnMuc2hpZnQoKSB8fCBpbXBsZW1lbnRhdGlvbiB8fCBzdHViLmdldE9yaWdpbmFsKCkgfHwgKCgpID0+IHt9KVxuICAgIHJldHVybiBpbXBsLmFwcGx5KHRoaXMsIGFyZ3MpXG4gIH0pXG5cbiAgc3BpZXMuYWRkKHN0dWIpXG5cbiAgcmV0dXJuIHN0dWIgYXMgYW55XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmbjxUQXJncyBleHRlbmRzIGFueVtdID0gYW55W10sIFIgPSBhbnk+KCk6IFNweUluc3RhbmNlRm48VEFyZ3MsIFI+XG5leHBvcnQgZnVuY3Rpb24gZm48VEFyZ3MgZXh0ZW5kcyBhbnlbXSA9IGFueVtdLCBSID0gYW55PihcbiAgaW1wbGVtZW50YXRpb246ICguLi5hcmdzOiBUQXJncykgPT4gUlxuKTogU3B5SW5zdGFuY2VGbjxUQXJncywgUj5cbmV4cG9ydCBmdW5jdGlvbiBmbjxUQXJncyBleHRlbmRzIGFueVtdID0gYW55W10sIFIgPSBhbnk+KFxuICBpbXBsZW1lbnRhdGlvbj86ICguLi5hcmdzOiBUQXJncykgPT4gUixcbik6IFNweUluc3RhbmNlRm48VEFyZ3MsIFI+IHtcbiAgcmV0dXJuIGVuaGFuY2VTcHkodGlueXNweS5zcHlPbih7IGZuOiBpbXBsZW1lbnRhdGlvbiB8fCAoKCkgPT4ge30pIH0sICdmbicpKSBhcyB1bmtub3duIGFzIFNweUluc3RhbmNlRm5cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFWSxNQUFDLEtBQUssR0FBRyxJQUFJLEdBQUcsR0FBRztBQUN4QixTQUFTLGNBQWMsQ0FBQyxHQUFHLEVBQUU7QUFDcEMsRUFBRSxPQUFPLE9BQU8sR0FBRyxLQUFLLFVBQVUsSUFBSSxTQUFTLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUM7QUFDdEUsQ0FBQztBQUNNLFNBQVMsS0FBSyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFO0FBQy9DLEVBQUUsTUFBTSxVQUFVLEdBQUc7QUFDckIsSUFBSSxHQUFH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
|
package/dist/node.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
|
+
import { Profiler } from 'inspector';
|
|
1
2
|
import { ViteDevServer, TransformResult, CommonServerOptions, UserConfig as UserConfig$1, Plugin as Plugin$1 } from 'vite';
|
|
2
3
|
|
|
4
|
+
interface FetchResult {
|
|
5
|
+
code?: string;
|
|
6
|
+
externalize?: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
3
9
|
interface DepsHandlingOptions {
|
|
4
10
|
external?: (string | RegExp)[];
|
|
5
11
|
inline?: (string | RegExp)[];
|
|
@@ -38,19 +44,16 @@ interface ViteNodeServerOptions {
|
|
|
38
44
|
declare class ViteNodeServer {
|
|
39
45
|
server: ViteDevServer;
|
|
40
46
|
options: ViteNodeServerOptions;
|
|
41
|
-
|
|
47
|
+
private fetchPromiseMap;
|
|
48
|
+
private transformPromiseMap;
|
|
49
|
+
private fetchCache;
|
|
42
50
|
constructor(server: ViteDevServer, options?: ViteNodeServerOptions);
|
|
43
51
|
shouldExternalize(id: string): Promise<string | false>;
|
|
44
|
-
fetchModule(id: string): Promise<{
|
|
45
|
-
externalize: string;
|
|
46
|
-
code?: undefined;
|
|
47
|
-
} | {
|
|
48
|
-
code: string | undefined;
|
|
49
|
-
externalize?: undefined;
|
|
50
|
-
}>;
|
|
51
52
|
resolveId(id: string, importer?: string): Promise<ViteNodeResolveId | null>;
|
|
53
|
+
fetchModule(id: string): Promise<FetchResult>;
|
|
52
54
|
transformRequest(id: string): Promise<TransformResult | null | undefined>;
|
|
53
|
-
|
|
55
|
+
getTransformMode(id: string): "web" | "ssr";
|
|
56
|
+
private _fetchModule;
|
|
54
57
|
private _transformRequest;
|
|
55
58
|
}
|
|
56
59
|
|
|
@@ -297,7 +300,6 @@ interface C8Options {
|
|
|
297
300
|
all?: boolean;
|
|
298
301
|
}
|
|
299
302
|
interface ResolvedC8Options extends Required<C8Options> {
|
|
300
|
-
tempDirectory: string;
|
|
301
303
|
}
|
|
302
304
|
|
|
303
305
|
interface JSDOMOptions {
|
|
@@ -804,6 +806,7 @@ declare class Vitest {
|
|
|
804
806
|
server: ViteDevServer;
|
|
805
807
|
state: StateManager;
|
|
806
808
|
snapshot: SnapshotManager;
|
|
809
|
+
coverage: Profiler.TakePreciseCoverageReturnType[];
|
|
807
810
|
reporters: Reporter[];
|
|
808
811
|
console: Console;
|
|
809
812
|
pool: WorkerPool | undefined;
|
|
@@ -838,6 +841,9 @@ declare class Vitest {
|
|
|
838
841
|
private scheduleRerun;
|
|
839
842
|
private unregisterWatcher;
|
|
840
843
|
private registerWatcher;
|
|
844
|
+
/**
|
|
845
|
+
* @returns A value indicating whether rerun is needed (changedTests was mutated)
|
|
846
|
+
*/
|
|
841
847
|
private handleFileChanged;
|
|
842
848
|
close(): Promise<void>;
|
|
843
849
|
exit(force?: boolean): Promise<void>;
|
package/dist/node.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { V as VitestPlugin, c as createVitest } from './create-
|
|
1
|
+
export { V as VitestPlugin, c as createVitest } from './create-edd195eb.js';
|
|
2
2
|
import './index-1964368a.js';
|
|
3
3
|
import 'path';
|
|
4
4
|
import 'vite';
|
|
@@ -10,17 +10,17 @@ import 'os';
|
|
|
10
10
|
import 'util';
|
|
11
11
|
import 'stream';
|
|
12
12
|
import 'events';
|
|
13
|
-
import './index-
|
|
13
|
+
import './index-a2ff0e29.js';
|
|
14
14
|
import 'tty';
|
|
15
15
|
import 'local-pkg';
|
|
16
|
-
import './index-
|
|
16
|
+
import './index-1085cee5.js';
|
|
17
17
|
import 'module';
|
|
18
18
|
import 'assert';
|
|
19
19
|
import 'perf_hooks';
|
|
20
|
-
import './diff-
|
|
21
|
-
import './source-map-
|
|
22
|
-
import './index-
|
|
23
|
-
import './_commonjsHelpers-
|
|
20
|
+
import './diff-f479c2ad.js';
|
|
21
|
+
import './source-map-f7a4da05.js';
|
|
22
|
+
import './index-825cb54c.js';
|
|
23
|
+
import './_commonjsHelpers-bdec4bbd.js';
|
|
24
24
|
import 'worker_threads';
|
|
25
25
|
import 'tinypool';
|
|
26
26
|
import './magic-string.es-94000aea.js';
|