msw 2.1.6 → 2.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/cli/init.js +9 -13
- package/lib/browser/index.js +29 -24
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/index.mjs +29 -24
- package/lib/browser/index.mjs.map +1 -1
- package/lib/core/HttpResponse.js +14 -1
- package/lib/core/HttpResponse.js.map +1 -1
- package/lib/core/HttpResponse.mjs +14 -1
- package/lib/core/HttpResponse.mjs.map +1 -1
- package/lib/core/SetupApi.d.mts +15 -3
- package/lib/core/SetupApi.d.ts +15 -3
- package/lib/core/SetupApi.js +26 -8
- package/lib/core/SetupApi.js.map +1 -1
- package/lib/core/SetupApi.mjs +26 -8
- package/lib/core/SetupApi.mjs.map +1 -1
- package/lib/iife/index.js +65 -33
- package/lib/iife/index.js.map +1 -1
- package/lib/mockServiceWorker.js +1 -1
- package/lib/native/index.d.mts +10 -5
- package/lib/native/index.d.ts +10 -5
- package/lib/native/index.js +12 -8
- package/lib/native/index.js.map +1 -1
- package/lib/native/index.mjs +12 -8
- package/lib/native/index.mjs.map +1 -1
- package/lib/node/index.d.mts +26 -4
- package/lib/node/index.d.ts +26 -4
- package/lib/node/index.js +62 -13
- package/lib/node/index.js.map +1 -1
- package/lib/node/index.mjs +62 -13
- package/lib/node/index.mjs.map +1 -1
- package/package.json +16 -8
- package/src/browser/setupWorker/glossary.ts +1 -1
- package/src/browser/setupWorker/setupWorker.ts +3 -11
- package/src/browser/setupWorker/start/createFallbackRequestListener.ts +1 -1
- package/src/browser/setupWorker/start/createRequestListener.ts +1 -1
- package/src/browser/setupWorker/start/createResponseListener.ts +13 -0
- package/src/core/HttpResponse.test.ts +34 -3
- package/src/core/HttpResponse.ts +24 -1
- package/src/core/SetupApi.ts +33 -9
- package/src/native/index.ts +8 -4
- package/src/node/SetupServerApi.ts +64 -95
- package/src/node/SetupServerCommonApi.ts +116 -0
- package/src/node/glossary.ts +17 -3
- package/src/node/setupServer.ts +3 -10
package/cli/init.js
CHANGED
|
@@ -2,7 +2,7 @@ const fs = require('fs')
|
|
|
2
2
|
const path = require('path')
|
|
3
3
|
const chalk = require('chalk')
|
|
4
4
|
const { until } = require('@open-draft/until')
|
|
5
|
-
const
|
|
5
|
+
const confirm = require('@inquirer/confirm')
|
|
6
6
|
const invariant = require('./invariant')
|
|
7
7
|
const { SERVICE_WORKER_BUILD_PATH } = require('../config/constants')
|
|
8
8
|
|
|
@@ -180,18 +180,14 @@ function saveWorkerDirectory(packageJsonPath, publicDir) {
|
|
|
180
180
|
}
|
|
181
181
|
|
|
182
182
|
function promptWorkerDirectoryUpdate(message, packageJsonPath, publicDir) {
|
|
183
|
-
return
|
|
184
|
-
|
|
185
|
-
type: 'confirm',
|
|
186
|
-
name: 'saveWorkerDirectory',
|
|
183
|
+
return confirm({
|
|
184
|
+
theme: {
|
|
187
185
|
prefix: chalk.yellowBright('?'),
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
return
|
|
193
|
-
}
|
|
194
|
-
|
|
186
|
+
},
|
|
187
|
+
message,
|
|
188
|
+
}).then((answer) => {
|
|
189
|
+
if (answer) {
|
|
195
190
|
saveWorkerDirectory(packageJsonPath, publicDir)
|
|
196
|
-
}
|
|
191
|
+
}
|
|
192
|
+
})
|
|
197
193
|
}
|
package/lib/browser/index.js
CHANGED
|
@@ -310,7 +310,7 @@ var createRequestListener = (context, options) => {
|
|
|
310
310
|
await (0, import_handleRequest.handleRequest)(
|
|
311
311
|
request,
|
|
312
312
|
requestId,
|
|
313
|
-
context.
|
|
313
|
+
context.getRequestHandlers(),
|
|
314
314
|
options,
|
|
315
315
|
context.emitter,
|
|
316
316
|
{
|
|
@@ -393,7 +393,7 @@ async function requestIntegrityCheck(context, serviceWorker) {
|
|
|
393
393
|
return serviceWorker;
|
|
394
394
|
}
|
|
395
395
|
|
|
396
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.25.
|
|
396
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.25.16/node_modules/@mswjs/interceptors/lib/browser/chunk-UJZOJSMP.mjs
|
|
397
397
|
var encoder = new TextEncoder();
|
|
398
398
|
function encodeBuffer(text) {
|
|
399
399
|
return encoder.encode(text);
|
|
@@ -856,7 +856,7 @@ var _Emitter = class {
|
|
|
856
856
|
var Emitter = _Emitter;
|
|
857
857
|
Emitter.defaultMaxListeners = 10;
|
|
858
858
|
|
|
859
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.25.
|
|
859
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.25.16/node_modules/@mswjs/interceptors/lib/browser/chunk-WZQN3FMY.mjs
|
|
860
860
|
var IS_PATCHED_MODULE = Symbol("isPatchedModule");
|
|
861
861
|
function getGlobalSymbol(symbol) {
|
|
862
862
|
return (
|
|
@@ -1001,7 +1001,7 @@ var Interceptor = class {
|
|
|
1001
1001
|
}
|
|
1002
1002
|
};
|
|
1003
1003
|
|
|
1004
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.25.
|
|
1004
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.25.16/node_modules/@mswjs/interceptors/lib/browser/index.mjs
|
|
1005
1005
|
var BatchInterceptor = class extends Interceptor {
|
|
1006
1006
|
constructor(options) {
|
|
1007
1007
|
BatchInterceptor.symbol = Symbol(options.name);
|
|
@@ -1064,6 +1064,13 @@ function createResponseListener(context) {
|
|
|
1064
1064
|
isResponseWithoutBody(responseJson.status) ? null : responseJson.body,
|
|
1065
1065
|
responseJson
|
|
1066
1066
|
);
|
|
1067
|
+
if (!response.url) {
|
|
1068
|
+
Object.defineProperty(response, "url", {
|
|
1069
|
+
value: request.url,
|
|
1070
|
+
enumerable: true,
|
|
1071
|
+
writable: false
|
|
1072
|
+
});
|
|
1073
|
+
}
|
|
1067
1074
|
context.emitter.emit(
|
|
1068
1075
|
responseJson.isMockedResponse ? "response:mocked" : "response:bypass",
|
|
1069
1076
|
{
|
|
@@ -1285,7 +1292,7 @@ var DeferredPromise = class extends Promise {
|
|
|
1285
1292
|
}
|
|
1286
1293
|
};
|
|
1287
1294
|
|
|
1288
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.25.
|
|
1295
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.25.16/node_modules/@mswjs/interceptors/lib/browser/chunk-72HT65NX.mjs
|
|
1289
1296
|
function uuidv4() {
|
|
1290
1297
|
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
|
|
1291
1298
|
const r = Math.random() * 16 | 0;
|
|
@@ -1330,7 +1337,7 @@ async function emitAsync(emitter, eventName, ...data) {
|
|
|
1330
1337
|
}
|
|
1331
1338
|
}
|
|
1332
1339
|
|
|
1333
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.25.
|
|
1340
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.25.16/node_modules/@mswjs/interceptors/lib/browser/chunk-XQZ6GVNB.mjs
|
|
1334
1341
|
function isPropertyAccessible(obj, key) {
|
|
1335
1342
|
try {
|
|
1336
1343
|
obj[key];
|
|
@@ -1382,13 +1389,15 @@ var _FetchInterceptor = class extends Interceptor {
|
|
|
1382
1389
|
this.logger.info("awaiting for the mocked response...");
|
|
1383
1390
|
const signal = interactiveRequest.signal;
|
|
1384
1391
|
const requestAborted = new DeferredPromise();
|
|
1385
|
-
signal
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
+
if (signal) {
|
|
1393
|
+
signal.addEventListener(
|
|
1394
|
+
"abort",
|
|
1395
|
+
() => {
|
|
1396
|
+
requestAborted.reject(signal.reason);
|
|
1397
|
+
},
|
|
1398
|
+
{ once: true }
|
|
1399
|
+
);
|
|
1400
|
+
}
|
|
1392
1401
|
const resolverResult = await until(async () => {
|
|
1393
1402
|
const listenersFinished = emitAsync(this.emitter, "request", {
|
|
1394
1403
|
request: interactiveRequest,
|
|
@@ -1429,14 +1438,13 @@ var _FetchInterceptor = class extends Interceptor {
|
|
|
1429
1438
|
request: interactiveRequest,
|
|
1430
1439
|
requestId
|
|
1431
1440
|
});
|
|
1432
|
-
|
|
1433
|
-
Object.defineProperty(response, "url", {
|
|
1441
|
+
Object.defineProperty(mockedResponse, "url", {
|
|
1434
1442
|
writable: false,
|
|
1435
1443
|
enumerable: true,
|
|
1436
1444
|
configurable: false,
|
|
1437
1445
|
value: request.url
|
|
1438
1446
|
});
|
|
1439
|
-
return
|
|
1447
|
+
return mockedResponse;
|
|
1440
1448
|
}
|
|
1441
1449
|
this.logger.info("no mocked response received!");
|
|
1442
1450
|
return pureFetch(request).then((response) => {
|
|
@@ -1476,7 +1484,7 @@ function createNetworkError(cause) {
|
|
|
1476
1484
|
});
|
|
1477
1485
|
}
|
|
1478
1486
|
|
|
1479
|
-
// node_modules/.pnpm/@mswjs+interceptors@0.25.
|
|
1487
|
+
// node_modules/.pnpm/@mswjs+interceptors@0.25.16/node_modules/@mswjs/interceptors/lib/browser/chunk-DZVB7JEV.mjs
|
|
1480
1488
|
function concatArrayBuffer(left, right) {
|
|
1481
1489
|
const result = new Uint8Array(left.byteLength + right.byteLength);
|
|
1482
1490
|
result.set(left, 0);
|
|
@@ -2220,7 +2228,7 @@ function createFallbackRequestListener(context, options) {
|
|
|
2220
2228
|
const response = await (0, import_handleRequest2.handleRequest)(
|
|
2221
2229
|
request,
|
|
2222
2230
|
requestId,
|
|
2223
|
-
context.
|
|
2231
|
+
context.getRequestHandlers(),
|
|
2224
2232
|
options,
|
|
2225
2233
|
context.emitter,
|
|
2226
2234
|
{
|
|
@@ -2324,8 +2332,10 @@ var SetupWorkerApi = class extends import_SetupApi.SetupApi {
|
|
|
2324
2332
|
isMockingEnabled: false,
|
|
2325
2333
|
startOptions: null,
|
|
2326
2334
|
worker: null,
|
|
2335
|
+
getRequestHandlers: () => {
|
|
2336
|
+
return this.handlersController.currentHandlers();
|
|
2337
|
+
},
|
|
2327
2338
|
registration: null,
|
|
2328
|
-
requestHandlers: this.currentHandlers,
|
|
2329
2339
|
requests: /* @__PURE__ */ new Map(),
|
|
2330
2340
|
emitter: this.emitter,
|
|
2331
2341
|
workerChannel: {
|
|
@@ -2400,11 +2410,6 @@ var SetupWorkerApi = class extends import_SetupApi.SetupApi {
|
|
|
2400
2410
|
readableStreamTransfer: supportsReadableStreamTransfer()
|
|
2401
2411
|
}
|
|
2402
2412
|
};
|
|
2403
|
-
Object.defineProperties(context, {
|
|
2404
|
-
requestHandlers: {
|
|
2405
|
-
get: () => this.currentHandlers
|
|
2406
|
-
}
|
|
2407
|
-
});
|
|
2408
2413
|
this.startHandler = context.supports.serviceWorkerApi ? createFallbackStart(context) : createStartHandler(context);
|
|
2409
2414
|
this.stopHandler = context.supports.serviceWorkerApi ? createFallbackStop(context) : createStop(context);
|
|
2410
2415
|
return context;
|