msw 0.0.0-fetch.rc-14 → 0.0.0-fetch.rc-16
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/README.md +28 -10
- package/lib/browser/index.d.ts +0 -6
- package/lib/browser/index.js +25 -40
- package/lib/browser/index.mjs +25 -40
- package/lib/core/NetworkError.d.ts +2 -2
- package/lib/core/SetupApi.d.ts +0 -1
- package/lib/core/handlers/GraphQLHandler.js +2 -2
- package/lib/core/handlers/GraphQLHandler.mjs +2 -2
- package/lib/core/handlers/{RestHandler.d.ts → HttpHandler.d.ts} +12 -12
- package/lib/core/handlers/{RestHandler.js → HttpHandler.js} +18 -18
- package/lib/core/handlers/{RestHandler.mjs → HttpHandler.mjs} +15 -15
- package/lib/core/{rest.d.ts → http.d.ts} +11 -11
- package/lib/core/{rest.js → http.js} +16 -16
- package/lib/core/http.mjs +22 -0
- package/lib/core/{rest.spec.js → http.spec.js} +3 -3
- package/lib/core/{rest.spec.mjs → http.spec.mjs} +3 -3
- package/lib/core/index.d.ts +2 -2
- package/lib/core/index.js +6 -6
- package/lib/core/index.mjs +6 -6
- package/lib/core/passthrough.d.ts +5 -2
- package/lib/core/sharedOptions.d.ts +45 -7
- package/lib/core/utils/handleRequest.js +13 -10
- package/lib/core/utils/handleRequest.mjs +13 -10
- package/lib/core/utils/logging/serializeResponse.js +16 -2
- package/lib/core/utils/logging/serializeResponse.mjs +6 -2
- package/lib/core/utils/request/onUnhandledRequest.js +6 -6
- package/lib/core/utils/request/onUnhandledRequest.mjs +7 -7
- package/lib/iife/index.js +494 -482
- package/lib/mockServiceWorker.js +20 -3
- package/lib/native/index.d.ts +0 -6
- package/lib/native/index.js +13 -17
- package/lib/native/index.mjs +13 -17
- package/lib/node/index.d.ts +0 -6
- package/lib/node/index.js +13 -17
- package/lib/node/index.mjs +13 -17
- package/package.json +5 -5
- package/lib/core/rest.mjs +0 -22
- /package/lib/core/{rest.spec.d.ts → http.spec.d.ts} +0 -0
package/lib/mockServiceWorker.js
CHANGED
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
/* tslint:disable */
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* Mock Service Worker (0.0.0-fetch.rc-
|
|
5
|
+
* Mock Service Worker (0.0.0-fetch.rc-16).
|
|
6
6
|
* @see https://github.com/mswjs/msw
|
|
7
7
|
* - Please do NOT modify this file.
|
|
8
8
|
* - Please do NOT serve this file on production.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
const INTEGRITY_CHECKSUM = '
|
|
11
|
+
const INTEGRITY_CHECKSUM = '42fb047ce943b9103a6ed499f86548c4'
|
|
12
|
+
const IS_MOCKED_RESPONSE = Symbol('isMockedResponse')
|
|
12
13
|
const activeClientIds = new Set()
|
|
13
14
|
|
|
14
15
|
self.addEventListener('install', function () {
|
|
@@ -154,6 +155,7 @@ async function handleRequest(event, requestId) {
|
|
|
154
155
|
type: 'RESPONSE',
|
|
155
156
|
payload: {
|
|
156
157
|
requestId,
|
|
158
|
+
isMockedResponse: IS_MOCKED_RESPONSE in response,
|
|
157
159
|
type: responseClone.type,
|
|
158
160
|
status: responseClone.status,
|
|
159
161
|
statusText: responseClone.statusText,
|
|
@@ -302,5 +304,20 @@ function sendToClient(client, message, transferrables = []) {
|
|
|
302
304
|
}
|
|
303
305
|
|
|
304
306
|
async function respondWithMock(response) {
|
|
305
|
-
|
|
307
|
+
// Setting response status code to 0 is a no-op.
|
|
308
|
+
// However, when responding with a "Response.error()", the produced Response
|
|
309
|
+
// instance will have status code set to 0. Since it's not possible to create
|
|
310
|
+
// a Response instance with status code 0, handle that use-case separately.
|
|
311
|
+
if (response.status === 0) {
|
|
312
|
+
return Response.error()
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
const mockedResponse = new Response(response.body, response)
|
|
316
|
+
|
|
317
|
+
Reflect.defineProperty(mockedResponse, IS_MOCKED_RESPONSE, {
|
|
318
|
+
value: true,
|
|
319
|
+
enumerable: true,
|
|
320
|
+
})
|
|
321
|
+
|
|
322
|
+
return mockedResponse
|
|
306
323
|
}
|
package/lib/native/index.d.ts
CHANGED
|
@@ -35,11 +35,6 @@ interface SetupServer {
|
|
|
35
35
|
* @see {@link https://mswjs.io/docs/api/setup-server/list-handlers `server.listHandlers()`}
|
|
36
36
|
*/
|
|
37
37
|
listHandlers(): ReadonlyArray<RequestHandler<RequestHandlerDefaultInfo, any>>;
|
|
38
|
-
/**
|
|
39
|
-
* Lists all active request handlers.
|
|
40
|
-
* @see {@link https://mswjs.io/docs/api/setup-server/print-handlers `server.print-handlers()`}
|
|
41
|
-
*/
|
|
42
|
-
printHandlers(): void;
|
|
43
38
|
events: LifeCycleEventEmitter<LifeCycleEventsMap>;
|
|
44
39
|
}
|
|
45
40
|
|
|
@@ -54,7 +49,6 @@ declare class SetupServerApi extends SetupApi<LifeCycleEventsMap> implements Set
|
|
|
54
49
|
*/
|
|
55
50
|
private init;
|
|
56
51
|
listen(options?: Partial<SharedOptions>): void;
|
|
57
|
-
printHandlers(): void;
|
|
58
52
|
close(): void;
|
|
59
53
|
}
|
|
60
54
|
|
package/lib/native/index.js
CHANGED
|
@@ -69,7 +69,7 @@ var SetupServerApi = class extends import_SetupApi.SetupApi {
|
|
|
69
69
|
* Subscribe to all requests that are using the interceptor object
|
|
70
70
|
*/
|
|
71
71
|
init() {
|
|
72
|
-
this.interceptor.on("request", (
|
|
72
|
+
this.interceptor.on("request", (_0) => __async(this, [_0], function* ({ request, requestId }) {
|
|
73
73
|
const response = yield (0, import_handleRequest.handleRequest)(
|
|
74
74
|
request,
|
|
75
75
|
requestId,
|
|
@@ -82,13 +82,19 @@ var SetupServerApi = class extends import_SetupApi.SetupApi {
|
|
|
82
82
|
}
|
|
83
83
|
return;
|
|
84
84
|
}));
|
|
85
|
-
this.interceptor.on(
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
85
|
+
this.interceptor.on(
|
|
86
|
+
"response",
|
|
87
|
+
({ response, isMockedResponse, request, requestId }) => {
|
|
88
|
+
this.emitter.emit(
|
|
89
|
+
isMockedResponse ? "response:mocked" : "response:bypass",
|
|
90
|
+
{
|
|
91
|
+
response,
|
|
92
|
+
request,
|
|
93
|
+
requestId
|
|
94
|
+
}
|
|
95
|
+
);
|
|
90
96
|
}
|
|
91
|
-
|
|
97
|
+
);
|
|
92
98
|
}
|
|
93
99
|
listen(options = {}) {
|
|
94
100
|
this.resolvedOptions = (0, import_mergeRight.mergeRight)(
|
|
@@ -109,16 +115,6 @@ var SetupServerApi = class extends import_SetupApi.SetupApi {
|
|
|
109
115
|
"https://github.com/mswjs/msw/issues/new/choose"
|
|
110
116
|
);
|
|
111
117
|
}
|
|
112
|
-
printHandlers() {
|
|
113
|
-
const handlers = this.listHandlers();
|
|
114
|
-
handlers.forEach((handler) => {
|
|
115
|
-
const { header, callFrame } = handler.info;
|
|
116
|
-
const pragma = handler.info.hasOwnProperty("operationType") ? "[graphql]" : "[rest]";
|
|
117
|
-
console.log(`${`${pragma} ${header}`}
|
|
118
|
-
Declaration: ${callFrame}
|
|
119
|
-
`);
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
118
|
close() {
|
|
123
119
|
this.dispose();
|
|
124
120
|
}
|
package/lib/native/index.mjs
CHANGED
|
@@ -49,7 +49,7 @@ var SetupServerApi = class extends SetupApi {
|
|
|
49
49
|
* Subscribe to all requests that are using the interceptor object
|
|
50
50
|
*/
|
|
51
51
|
init() {
|
|
52
|
-
this.interceptor.on("request", (
|
|
52
|
+
this.interceptor.on("request", (_0) => __async(this, [_0], function* ({ request, requestId }) {
|
|
53
53
|
const response = yield handleRequest(
|
|
54
54
|
request,
|
|
55
55
|
requestId,
|
|
@@ -62,13 +62,19 @@ var SetupServerApi = class extends SetupApi {
|
|
|
62
62
|
}
|
|
63
63
|
return;
|
|
64
64
|
}));
|
|
65
|
-
this.interceptor.on(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
65
|
+
this.interceptor.on(
|
|
66
|
+
"response",
|
|
67
|
+
({ response, isMockedResponse, request, requestId }) => {
|
|
68
|
+
this.emitter.emit(
|
|
69
|
+
isMockedResponse ? "response:mocked" : "response:bypass",
|
|
70
|
+
{
|
|
71
|
+
response,
|
|
72
|
+
request,
|
|
73
|
+
requestId
|
|
74
|
+
}
|
|
75
|
+
);
|
|
70
76
|
}
|
|
71
|
-
|
|
77
|
+
);
|
|
72
78
|
}
|
|
73
79
|
listen(options = {}) {
|
|
74
80
|
this.resolvedOptions = mergeRight(
|
|
@@ -89,16 +95,6 @@ var SetupServerApi = class extends SetupApi {
|
|
|
89
95
|
"https://github.com/mswjs/msw/issues/new/choose"
|
|
90
96
|
);
|
|
91
97
|
}
|
|
92
|
-
printHandlers() {
|
|
93
|
-
const handlers = this.listHandlers();
|
|
94
|
-
handlers.forEach((handler) => {
|
|
95
|
-
const { header, callFrame } = handler.info;
|
|
96
|
-
const pragma = handler.info.hasOwnProperty("operationType") ? "[graphql]" : "[rest]";
|
|
97
|
-
console.log(`${`${pragma} ${header}`}
|
|
98
|
-
Declaration: ${callFrame}
|
|
99
|
-
`);
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
98
|
close() {
|
|
103
99
|
this.dispose();
|
|
104
100
|
}
|
package/lib/node/index.d.ts
CHANGED
|
@@ -35,11 +35,6 @@ interface SetupServer {
|
|
|
35
35
|
* @see {@link https://mswjs.io/docs/api/setup-server/list-handlers `server.listHandlers()`}
|
|
36
36
|
*/
|
|
37
37
|
listHandlers(): ReadonlyArray<RequestHandler<RequestHandlerDefaultInfo, any>>;
|
|
38
|
-
/**
|
|
39
|
-
* Lists all active request handlers.
|
|
40
|
-
* @see {@link https://mswjs.io/docs/api/setup-server/print-handlers `server.print-handlers()`}
|
|
41
|
-
*/
|
|
42
|
-
printHandlers(): void;
|
|
43
38
|
events: LifeCycleEventEmitter<LifeCycleEventsMap>;
|
|
44
39
|
}
|
|
45
40
|
|
|
@@ -54,7 +49,6 @@ declare class SetupServerApi extends SetupApi<LifeCycleEventsMap> implements Set
|
|
|
54
49
|
*/
|
|
55
50
|
private init;
|
|
56
51
|
listen(options?: Partial<SharedOptions>): void;
|
|
57
|
-
printHandlers(): void;
|
|
58
52
|
close(): void;
|
|
59
53
|
}
|
|
60
54
|
|
package/lib/node/index.js
CHANGED
|
@@ -69,7 +69,7 @@ var SetupServerApi = class extends import_SetupApi.SetupApi {
|
|
|
69
69
|
* Subscribe to all requests that are using the interceptor object
|
|
70
70
|
*/
|
|
71
71
|
init() {
|
|
72
|
-
this.interceptor.on("request", (
|
|
72
|
+
this.interceptor.on("request", (_0) => __async(this, [_0], function* ({ request, requestId }) {
|
|
73
73
|
const response = yield (0, import_handleRequest.handleRequest)(
|
|
74
74
|
request,
|
|
75
75
|
requestId,
|
|
@@ -82,13 +82,19 @@ var SetupServerApi = class extends import_SetupApi.SetupApi {
|
|
|
82
82
|
}
|
|
83
83
|
return;
|
|
84
84
|
}));
|
|
85
|
-
this.interceptor.on(
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
85
|
+
this.interceptor.on(
|
|
86
|
+
"response",
|
|
87
|
+
({ response, isMockedResponse, request, requestId }) => {
|
|
88
|
+
this.emitter.emit(
|
|
89
|
+
isMockedResponse ? "response:mocked" : "response:bypass",
|
|
90
|
+
{
|
|
91
|
+
response,
|
|
92
|
+
request,
|
|
93
|
+
requestId
|
|
94
|
+
}
|
|
95
|
+
);
|
|
90
96
|
}
|
|
91
|
-
|
|
97
|
+
);
|
|
92
98
|
}
|
|
93
99
|
listen(options = {}) {
|
|
94
100
|
this.resolvedOptions = (0, import_mergeRight.mergeRight)(
|
|
@@ -109,16 +115,6 @@ var SetupServerApi = class extends import_SetupApi.SetupApi {
|
|
|
109
115
|
"https://github.com/mswjs/msw/issues/new/choose"
|
|
110
116
|
);
|
|
111
117
|
}
|
|
112
|
-
printHandlers() {
|
|
113
|
-
const handlers = this.listHandlers();
|
|
114
|
-
handlers.forEach((handler) => {
|
|
115
|
-
const { header, callFrame } = handler.info;
|
|
116
|
-
const pragma = handler.info.hasOwnProperty("operationType") ? "[graphql]" : "[rest]";
|
|
117
|
-
console.log(`${`${pragma} ${header}`}
|
|
118
|
-
Declaration: ${callFrame}
|
|
119
|
-
`);
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
118
|
close() {
|
|
123
119
|
this.dispose();
|
|
124
120
|
}
|
package/lib/node/index.mjs
CHANGED
|
@@ -46,7 +46,7 @@ var SetupServerApi = class extends SetupApi {
|
|
|
46
46
|
* Subscribe to all requests that are using the interceptor object
|
|
47
47
|
*/
|
|
48
48
|
init() {
|
|
49
|
-
this.interceptor.on("request", (
|
|
49
|
+
this.interceptor.on("request", (_0) => __async(this, [_0], function* ({ request, requestId }) {
|
|
50
50
|
const response = yield handleRequest(
|
|
51
51
|
request,
|
|
52
52
|
requestId,
|
|
@@ -59,13 +59,19 @@ var SetupServerApi = class extends SetupApi {
|
|
|
59
59
|
}
|
|
60
60
|
return;
|
|
61
61
|
}));
|
|
62
|
-
this.interceptor.on(
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
62
|
+
this.interceptor.on(
|
|
63
|
+
"response",
|
|
64
|
+
({ response, isMockedResponse, request, requestId }) => {
|
|
65
|
+
this.emitter.emit(
|
|
66
|
+
isMockedResponse ? "response:mocked" : "response:bypass",
|
|
67
|
+
{
|
|
68
|
+
response,
|
|
69
|
+
request,
|
|
70
|
+
requestId
|
|
71
|
+
}
|
|
72
|
+
);
|
|
67
73
|
}
|
|
68
|
-
|
|
74
|
+
);
|
|
69
75
|
}
|
|
70
76
|
listen(options = {}) {
|
|
71
77
|
this.resolvedOptions = mergeRight(
|
|
@@ -86,16 +92,6 @@ var SetupServerApi = class extends SetupApi {
|
|
|
86
92
|
"https://github.com/mswjs/msw/issues/new/choose"
|
|
87
93
|
);
|
|
88
94
|
}
|
|
89
|
-
printHandlers() {
|
|
90
|
-
const handlers = this.listHandlers();
|
|
91
|
-
handlers.forEach((handler) => {
|
|
92
|
-
const { header, callFrame } = handler.info;
|
|
93
|
-
const pragma = handler.info.hasOwnProperty("operationType") ? "[graphql]" : "[rest]";
|
|
94
|
-
console.log(`${`${pragma} ${header}`}
|
|
95
|
-
Declaration: ${callFrame}
|
|
96
|
-
`);
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
95
|
close() {
|
|
100
96
|
this.dispose();
|
|
101
97
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "msw",
|
|
3
|
-
"version": "0.0.0-fetch.rc-
|
|
3
|
+
"version": "0.0.0-fetch.rc-16",
|
|
4
4
|
"description": "Seamless REST/GraphQL API mocking library for browser and Node.js.",
|
|
5
5
|
"main": "./lib/core/index.js",
|
|
6
6
|
"module": "./lib/core/index.mjs",
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
"@bundled-es-modules/js-levenshtein": "^2.0.1",
|
|
114
114
|
"@bundled-es-modules/statuses": "^1.0.1",
|
|
115
115
|
"@mswjs/cookies": "^1.0.0",
|
|
116
|
-
"@mswjs/interceptors": "^0.
|
|
116
|
+
"@mswjs/interceptors": "^0.23.0",
|
|
117
117
|
"@open-draft/until": "^2.1.0",
|
|
118
118
|
"@types/cookie": "^0.4.1",
|
|
119
119
|
"@types/js-levenshtein": "^1.1.1",
|
|
@@ -121,7 +121,7 @@
|
|
|
121
121
|
"chalk": "^4.1.2",
|
|
122
122
|
"chokidar": "^3.4.2",
|
|
123
123
|
"formdata-node": "4.4.1",
|
|
124
|
-
"graphql": "^15.0.0 || ^16.
|
|
124
|
+
"graphql": "^15.0.0 || ^16.7.0",
|
|
125
125
|
"headers-polyfill": "^3.1.2",
|
|
126
126
|
"inquirer": "^8.2.0",
|
|
127
127
|
"is-node-process": "^1.2.0",
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
"@commitlint/cli": "^16.1.0",
|
|
140
140
|
"@commitlint/config-conventional": "^16.0.0",
|
|
141
141
|
"@open-draft/test-server": "^0.4.2",
|
|
142
|
-
"@ossjs/release": "^0.
|
|
142
|
+
"@ossjs/release": "^0.5.1",
|
|
143
143
|
"@playwright/test": "^1.30.0",
|
|
144
144
|
"@swc/core": "^1.3.35",
|
|
145
145
|
"@swc/jest": "^0.2.24",
|
|
@@ -188,7 +188,7 @@
|
|
|
188
188
|
"webpack-http-server": "^0.5.0"
|
|
189
189
|
},
|
|
190
190
|
"peerDependencies": {
|
|
191
|
-
"typescript": ">= 4.4.x <= 5.
|
|
191
|
+
"typescript": ">= 4.4.x <= 5.1.x"
|
|
192
192
|
},
|
|
193
193
|
"peerDependenciesMeta": {
|
|
194
194
|
"typescript": {
|
package/lib/core/rest.mjs
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
RESTMethods,
|
|
3
|
-
RestHandler
|
|
4
|
-
} from './handlers/RestHandler.mjs';
|
|
5
|
-
function createRestHandler(method) {
|
|
6
|
-
return (path, resolver, options = {}) => {
|
|
7
|
-
return new RestHandler(method, path, resolver, options);
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
const rest = {
|
|
11
|
-
all: createRestHandler(/.+/),
|
|
12
|
-
head: createRestHandler(RESTMethods.HEAD),
|
|
13
|
-
get: createRestHandler(RESTMethods.GET),
|
|
14
|
-
post: createRestHandler(RESTMethods.POST),
|
|
15
|
-
put: createRestHandler(RESTMethods.PUT),
|
|
16
|
-
delete: createRestHandler(RESTMethods.DELETE),
|
|
17
|
-
patch: createRestHandler(RESTMethods.PATCH),
|
|
18
|
-
options: createRestHandler(RESTMethods.OPTIONS)
|
|
19
|
-
};
|
|
20
|
-
export {
|
|
21
|
-
rest
|
|
22
|
-
};
|
|
File without changes
|