msw 0.28.2 → 0.29.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/cli/init.js +14 -6
- package/lib/esm/RequestHandler-deps.js +126 -127
- package/lib/esm/errors-deps.js +1 -1
- package/lib/esm/fetch-deps.js +90 -95
- package/lib/esm/graphql-deps.js +12 -12
- package/lib/esm/index-deps.js +1 -1
- package/lib/esm/index.js +4083 -649
- package/lib/esm/index2.js +1 -1
- package/lib/esm/mockServiceWorker.js +3 -2
- package/lib/esm/rest-deps.js +2 -2
- package/lib/iife/index.js +4 -4
- package/lib/iife/mockServiceWorker.js +3 -2
- package/lib/types/handlers/GraphQLHandler.d.ts +2 -2
- package/lib/types/handlers/RequestHandler.d.ts +1 -1
- package/lib/types/handlers/RestHandler.d.ts +2 -2
- package/lib/types/node/glossary.d.ts +2 -1
- package/lib/types/setupWorker/glossary.d.ts +21 -16
- package/lib/types/setupWorker/start/createFallbackStart.d.ts +2 -0
- package/lib/types/setupWorker/start/createStartHandler.d.ts +2 -0
- package/lib/types/setupWorker/start/utils/enableMocking.d.ts +5 -0
- package/lib/types/setupWorker/start/utils/prepareStartHandler.d.ts +9 -0
- package/lib/types/setupWorker/start/utils/printStartMessage.d.ts +7 -0
- package/lib/types/setupWorker/stop/createFallbackStop.d.ts +2 -0
- package/lib/types/setupWorker/stop/createStop.d.ts +2 -2
- package/lib/types/setupWorker/stop/utils/printStopMessage.d.ts +3 -0
- package/lib/types/sharedOptions.d.ts +3 -2
- package/lib/types/utils/getResponse.d.ts +2 -3
- package/lib/types/utils/handleRequest.d.ts +27 -0
- package/lib/types/utils/logging/prepareResponse.d.ts +3 -3
- package/lib/types/utils/request/parseIsomorphicRequest.d.ts +6 -0
- package/lib/types/utils/request/parseWorkerRequest.d.ts +4 -0
- package/lib/types/utils/worker/createFallbackRequestListener.d.ts +3 -0
- package/lib/umd/index.js +25892 -5345
- package/lib/umd/mockServiceWorker.js +3 -2
- package/native/lib/index.js +4331 -4283
- package/node/lib/index.js +1331 -1283
- package/package.json +30 -30
- package/lib/types/setupWorker/start/createStart.d.ts +0 -2
- package/lib/types/setupWorker/start/utils/activateMocking.d.ts +0 -2
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
|
|
1
4
|
/**
|
|
2
5
|
* Mock Service Worker.
|
|
3
6
|
* @see https://github.com/mswjs/msw
|
|
4
7
|
* - Please do NOT modify this file.
|
|
5
8
|
* - Please do NOT serve this file on production.
|
|
6
9
|
*/
|
|
7
|
-
/* eslint-disable */
|
|
8
|
-
/* tslint:disable */
|
|
9
10
|
|
|
10
11
|
const INTEGRITY_CHECKSUM = '82ef9b96d8393b6da34527d1d6e19187'
|
|
11
12
|
const bypassHeaderName = 'x-msw-bypass'
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OperationTypeNode } from 'graphql';
|
|
2
|
-
import { Mask,
|
|
2
|
+
import { Mask, SerializedResponse } from '../setupWorker/glossary';
|
|
3
3
|
import { set } from '../context/set';
|
|
4
4
|
import { status } from '../context/status';
|
|
5
5
|
import { delay } from '../context/delay';
|
|
@@ -38,5 +38,5 @@ export declare class GraphQLHandler<Request extends GraphQLRequest<any> = GraphQ
|
|
|
38
38
|
parse(request: MockedRequest): ParsedGraphQLRequest<GraphQLVariables>;
|
|
39
39
|
protected getPublicRequest(request: Request, parsedResult: ParsedGraphQLRequest): GraphQLRequest<any>;
|
|
40
40
|
predicate(request: MockedRequest, parsedResult: ParsedGraphQLRequest): boolean;
|
|
41
|
-
log(request: Request, response:
|
|
41
|
+
log(request: Request, response: SerializedResponse<any>): void;
|
|
42
42
|
}
|
|
@@ -61,7 +61,7 @@ export declare abstract class RequestHandler<HandlerInfo extends Record<string,
|
|
|
61
61
|
/**
|
|
62
62
|
* Print out the successfully handled request.
|
|
63
63
|
*/
|
|
64
|
-
abstract log(request: Request,
|
|
64
|
+
abstract log(request: Request, response: any, handler: this, parsedResult: ParsedResult): void;
|
|
65
65
|
/**
|
|
66
66
|
* Parse the captured request to extract additional information from it.
|
|
67
67
|
* Parsed result is then exposed to other methods of this request handler.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Match } from 'node-match-path';
|
|
2
2
|
import { body, cookie, delay, fetch, json, set, status, text, xml } from '../context';
|
|
3
|
-
import { Mask,
|
|
3
|
+
import { Mask, SerializedResponse } from '../setupWorker/glossary';
|
|
4
4
|
import { DefaultRequestBody, MockedRequest, RequestHandler, ResponseResolver } from './RequestHandler';
|
|
5
5
|
interface RestHandlerInfo {
|
|
6
6
|
method: string;
|
|
@@ -47,6 +47,6 @@ export declare class RestHandler<RequestType extends MockedRequest<DefaultReques
|
|
|
47
47
|
parse(request: RequestType): Match;
|
|
48
48
|
protected getPublicRequest(request: RequestType, parsedResult: ParsedRestRequest): RestRequest<any, RequestParams>;
|
|
49
49
|
predicate(request: RequestType, parsedResult: ParsedRestRequest): boolean;
|
|
50
|
-
log(request: RequestType, response:
|
|
50
|
+
log(request: RequestType, response: SerializedResponse<any>): void;
|
|
51
51
|
}
|
|
52
52
|
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PartialDeep } from 'type-fest';
|
|
1
2
|
import { IsomorphicResponse } from '@mswjs/interceptors';
|
|
2
3
|
import { MockedRequest, RequestHandler } from '../handlers/RequestHandler';
|
|
3
4
|
import { SharedOptions } from '../sharedOptions';
|
|
@@ -14,7 +15,7 @@ export interface SetupServerApi {
|
|
|
14
15
|
* Starts requests interception based on the previously provided request handlers.
|
|
15
16
|
* @see {@link https://mswjs.io/docs/api/setup-server/listen `server.listen()`}
|
|
16
17
|
*/
|
|
17
|
-
listen(options?: SharedOptions): void;
|
|
18
|
+
listen(options?: PartialDeep<SharedOptions>): void;
|
|
18
19
|
/**
|
|
19
20
|
* Stops requests interception by restoring all augmented modules.
|
|
20
21
|
* @see {@link https://mswjs.io/docs/api/setup-server/close `server.close()`}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PartialDeep } from 'type-fest';
|
|
2
|
+
import { FlatHeadersObject } from 'headers-utils';
|
|
2
3
|
import { StrictEventEmitter } from 'strict-event-emitter';
|
|
3
4
|
import { MockedResponse } from '../response';
|
|
4
5
|
import { SharedOptions } from '../sharedOptions';
|
|
5
6
|
import { ServiceWorkerMessage } from '../utils/createBroadcastChannel';
|
|
6
|
-
import { createStart } from './start/createStart';
|
|
7
|
-
import { createStop } from './stop/createStop';
|
|
8
7
|
import { MockedRequest, RequestHandler } from '../handlers/RequestHandler';
|
|
8
|
+
import { InterceptorApi } from '@mswjs/interceptors';
|
|
9
9
|
export declare type Mask = RegExp | string;
|
|
10
10
|
export declare type ResolvedMask = Mask | URL;
|
|
11
11
|
declare type RequestWithoutMethods = Omit<Request, 'text' | 'body' | 'json' | 'blob' | 'arrayBuffer' | 'formData' | 'clone' | 'signal' | 'isHistoryNavigation' | 'isReloadNavigation'>;
|
|
@@ -55,7 +55,7 @@ export interface WorkerLifecycleEventsMap {
|
|
|
55
55
|
'response:bypass': (response: Response, requestId: string) => void;
|
|
56
56
|
}
|
|
57
57
|
export interface SetupWorkerInternalContext {
|
|
58
|
-
startOptions
|
|
58
|
+
startOptions?: StartOptions;
|
|
59
59
|
worker: ServiceWorker | null;
|
|
60
60
|
registration: ServiceWorkerRegistration | null;
|
|
61
61
|
requestHandlers: RequestHandler[];
|
|
@@ -83,50 +83,55 @@ export interface SetupWorkerInternalContext {
|
|
|
83
83
|
*/
|
|
84
84
|
once<EventType extends keyof ServiceWorkerIncomingEventsMap>(eventType: EventType): Promise<ServiceWorkerMessage<EventType, ServiceWorkerIncomingEventsMap[EventType]>>;
|
|
85
85
|
};
|
|
86
|
+
useFallbackMode: boolean;
|
|
87
|
+
fallbackInterceptor?: InterceptorApi;
|
|
86
88
|
}
|
|
87
89
|
export declare type ServiceWorkerInstanceTuple = [
|
|
88
90
|
ServiceWorker | null,
|
|
89
91
|
ServiceWorkerRegistration
|
|
90
92
|
];
|
|
91
93
|
export declare type FindWorker = (scriptUrl: string, mockServiceWorkerUrl: string) => boolean;
|
|
92
|
-
export
|
|
94
|
+
export interface StartOptions extends SharedOptions {
|
|
93
95
|
/**
|
|
94
96
|
* Service Worker instance options.
|
|
95
97
|
*/
|
|
96
|
-
serviceWorker
|
|
97
|
-
url
|
|
98
|
-
options
|
|
98
|
+
serviceWorker: {
|
|
99
|
+
url: string;
|
|
100
|
+
options: RegistrationOptions;
|
|
99
101
|
};
|
|
100
102
|
/**
|
|
101
103
|
* Disables the logging of captured requests
|
|
102
104
|
* into browser's console.
|
|
103
105
|
*/
|
|
104
|
-
quiet
|
|
106
|
+
quiet: boolean;
|
|
105
107
|
/**
|
|
106
108
|
* Defers any network requests until the Service Worker
|
|
107
109
|
* instance is ready. Defaults to `true`.
|
|
108
110
|
*/
|
|
109
|
-
waitUntilReady
|
|
111
|
+
waitUntilReady: boolean;
|
|
110
112
|
/**
|
|
111
113
|
* A custom lookup function to find a Mock Service Worker in the list
|
|
112
114
|
* of all registered Service Workers on the page.
|
|
113
115
|
*/
|
|
114
|
-
findWorker
|
|
115
|
-
}
|
|
116
|
-
export declare type
|
|
117
|
-
headers:
|
|
116
|
+
findWorker: FindWorker;
|
|
117
|
+
}
|
|
118
|
+
export declare type SerializedResponse<BodyType = any> = Omit<MockedResponse<BodyType>, 'headers'> & {
|
|
119
|
+
headers: FlatHeadersObject;
|
|
118
120
|
};
|
|
121
|
+
export declare type StartReturnType = Promise<ServiceWorkerRegistration | undefined>;
|
|
122
|
+
export declare type StartHandler = (options: StartOptions, initialOptions: PartialDeep<StartOptions>) => StartReturnType;
|
|
123
|
+
export declare type StopHandler = () => void;
|
|
119
124
|
export interface SetupWorkerApi {
|
|
120
125
|
/**
|
|
121
126
|
* Registers and activates the mock Service Worker.
|
|
122
127
|
* @see {@link https://mswjs.io/docs/api/setup-worker/start `worker.start()`}
|
|
123
128
|
*/
|
|
124
|
-
start:
|
|
129
|
+
start: (options?: PartialDeep<StartOptions>) => StartReturnType;
|
|
125
130
|
/**
|
|
126
131
|
* Stops requests interception for the current client.
|
|
127
132
|
* @see {@link https://mswjs.io/docs/api/setup-worker/stop `worker.stop()`}
|
|
128
133
|
*/
|
|
129
|
-
stop:
|
|
134
|
+
stop: StopHandler;
|
|
130
135
|
/**
|
|
131
136
|
* Prepends given request handlers to the list of existing handlers.
|
|
132
137
|
* @param {RequestHandler[]} handlers List of runtime request handlers.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PartialDeep } from 'type-fest';
|
|
2
|
+
import { SetupWorkerApi, SetupWorkerInternalContext, StartHandler, StartOptions } from '../../glossary';
|
|
3
|
+
export declare const DEFAULT_START_OPTIONS: StartOptions;
|
|
4
|
+
/**
|
|
5
|
+
* Returns resolved worker start options, merging the default options
|
|
6
|
+
* with the given custom options.
|
|
7
|
+
*/
|
|
8
|
+
export declare function resolveStartOptions(initialOptions?: PartialDeep<StartOptions>): StartOptions;
|
|
9
|
+
export declare function prepareStartHandler(handler: StartHandler, context: SetupWorkerInternalContext): SetupWorkerApi['start'];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { SetupWorkerInternalContext } from '../glossary';
|
|
2
|
-
export declare const createStop: (context: SetupWorkerInternalContext) =>
|
|
1
|
+
import { SetupWorkerInternalContext, StopHandler } from '../glossary';
|
|
2
|
+
export declare const createStop: (context: SetupWorkerInternalContext) => StopHandler;
|
|
@@ -2,10 +2,11 @@ import { UnhandledRequestStrategy } from './utils/request/onUnhandledRequest';
|
|
|
2
2
|
export interface SharedOptions {
|
|
3
3
|
/**
|
|
4
4
|
* Specifies how to react to a request that has no corresponding
|
|
5
|
-
* request handler.
|
|
5
|
+
* request handler. Warns on unhandled requests by default.
|
|
6
6
|
*
|
|
7
|
+
* @example worker.start({ onUnhandledRequest: 'bypass' })
|
|
7
8
|
* @example worker.start({ onUnhandledRequest: 'warn' })
|
|
8
9
|
* @example server.listen({ onUnhandledRequest: 'error' })
|
|
9
10
|
*/
|
|
10
|
-
onUnhandledRequest
|
|
11
|
+
onUnhandledRequest: UnhandledRequestStrategy;
|
|
11
12
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MockedResponse } from '../response';
|
|
2
2
|
import { MockedRequest, RequestHandler } from '../handlers/RequestHandler';
|
|
3
|
-
interface
|
|
3
|
+
export interface ResponseLookupResult {
|
|
4
4
|
handler?: RequestHandler;
|
|
5
5
|
publicRequest?: any;
|
|
6
6
|
parsedRequest?: any;
|
|
@@ -9,5 +9,4 @@ interface ResponsePayload {
|
|
|
9
9
|
/**
|
|
10
10
|
* Returns a mocked response for a given request using following request handlers.
|
|
11
11
|
*/
|
|
12
|
-
export declare const getResponse: <Request_1 extends MockedRequest<import("../handlers/RequestHandler").DefaultRequestBody>, Handler extends RequestHandler<Record<string, any>, MockedRequest<import("../handlers/RequestHandler").DefaultRequestBody>, any, MockedRequest<import("../handlers/RequestHandler").DefaultRequestBody>>[]>(request: Request_1, handlers: Handler) => Promise<
|
|
13
|
-
export {};
|
|
12
|
+
export declare const getResponse: <Request_1 extends MockedRequest<import("../handlers/RequestHandler").DefaultRequestBody>, Handler extends RequestHandler<Record<string, any>, MockedRequest<import("../handlers/RequestHandler").DefaultRequestBody>, any, MockedRequest<import("../handlers/RequestHandler").DefaultRequestBody>>[]>(request: Request_1, handlers: Handler) => Promise<ResponseLookupResult>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { StrictEventEmitter } from 'strict-event-emitter';
|
|
2
|
+
import { MockedRequest, RequestHandler } from '../handlers/RequestHandler';
|
|
3
|
+
import { ServerLifecycleEventsMap } from '../node/glossary';
|
|
4
|
+
import { MockedResponse } from '../response';
|
|
5
|
+
import { SharedOptions } from '../sharedOptions';
|
|
6
|
+
import { ResponseLookupResult } from './getResponse';
|
|
7
|
+
export interface HandleRequestOptions<ResponseType> {
|
|
8
|
+
/**
|
|
9
|
+
* Transforms a `MockedResponse` instance returned from a handler
|
|
10
|
+
* to a response instance
|
|
11
|
+
*/
|
|
12
|
+
transformResponse?(response: MockedResponse<string>): ResponseType;
|
|
13
|
+
/**
|
|
14
|
+
* Invoked whenever returning a bypassed (as-is) response.
|
|
15
|
+
*/
|
|
16
|
+
onBypassResponse?(request: MockedRequest): void;
|
|
17
|
+
/**
|
|
18
|
+
* Invoked when the mocked response is ready to be sent.
|
|
19
|
+
*/
|
|
20
|
+
onMockedResponse?(response: ResponseType, handler: DeepRequired<ResponseLookupResult>): void;
|
|
21
|
+
/**
|
|
22
|
+
* Invoked when the mocked response is sent.
|
|
23
|
+
* Respects the response delay duration.
|
|
24
|
+
*/
|
|
25
|
+
onMockedResponseSent?(response: ResponseType, handler: DeepRequired<ResponseLookupResult>): void;
|
|
26
|
+
}
|
|
27
|
+
export declare function handleRequest<ResponseType extends Record<string, any> = MockedResponse<string>>(request: MockedRequest, handlers: RequestHandler[], options: SharedOptions, emitter: StrictEventEmitter<ServerLifecycleEventsMap>, handleRequestOptions?: HandleRequestOptions<ResponseType>): Promise<ResponseType | undefined>;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SerializedResponse } from '../../setupWorker/glossary';
|
|
2
2
|
/**
|
|
3
3
|
* Formats a mocked response for introspection in browser's console.
|
|
4
4
|
*/
|
|
5
|
-
export declare function prepareResponse(res:
|
|
5
|
+
export declare function prepareResponse(res: SerializedResponse<any>): {
|
|
6
6
|
body: string | Record<string, any> | undefined;
|
|
7
7
|
status: number;
|
|
8
8
|
statusText: string;
|
|
9
9
|
once: boolean;
|
|
10
10
|
delay?: number | undefined;
|
|
11
|
-
headers: import("headers-utils").
|
|
11
|
+
headers: import("headers-utils").FlatHeadersObject;
|
|
12
12
|
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IsomorphicRequest } from '@mswjs/interceptors';
|
|
2
|
+
import { MockedRequest } from '../../handlers/RequestHandler';
|
|
3
|
+
/**
|
|
4
|
+
* Converts a given isomorphic request to a `MockedRequest` instance.
|
|
5
|
+
*/
|
|
6
|
+
export declare function parseIsomorphicRequest(request: IsomorphicRequest): MockedRequest;
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { MockedRequest } from '../../handlers/RequestHandler';
|
|
2
2
|
import { ServiceWorkerIncomingRequest } from '../../setupWorker/glossary';
|
|
3
|
+
/**
|
|
4
|
+
* Converts a given request received from the Service Worker
|
|
5
|
+
* into a `MockedRequest` instance.
|
|
6
|
+
*/
|
|
3
7
|
export declare function parseWorkerRequest(rawRequest: ServiceWorkerIncomingRequest): MockedRequest;
|