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.
Files changed (44) hide show
  1. package/cli/init.js +9 -13
  2. package/lib/browser/index.js +29 -24
  3. package/lib/browser/index.js.map +1 -1
  4. package/lib/browser/index.mjs +29 -24
  5. package/lib/browser/index.mjs.map +1 -1
  6. package/lib/core/HttpResponse.js +14 -1
  7. package/lib/core/HttpResponse.js.map +1 -1
  8. package/lib/core/HttpResponse.mjs +14 -1
  9. package/lib/core/HttpResponse.mjs.map +1 -1
  10. package/lib/core/SetupApi.d.mts +15 -3
  11. package/lib/core/SetupApi.d.ts +15 -3
  12. package/lib/core/SetupApi.js +26 -8
  13. package/lib/core/SetupApi.js.map +1 -1
  14. package/lib/core/SetupApi.mjs +26 -8
  15. package/lib/core/SetupApi.mjs.map +1 -1
  16. package/lib/iife/index.js +65 -33
  17. package/lib/iife/index.js.map +1 -1
  18. package/lib/mockServiceWorker.js +1 -1
  19. package/lib/native/index.d.mts +10 -5
  20. package/lib/native/index.d.ts +10 -5
  21. package/lib/native/index.js +12 -8
  22. package/lib/native/index.js.map +1 -1
  23. package/lib/native/index.mjs +12 -8
  24. package/lib/native/index.mjs.map +1 -1
  25. package/lib/node/index.d.mts +26 -4
  26. package/lib/node/index.d.ts +26 -4
  27. package/lib/node/index.js +62 -13
  28. package/lib/node/index.js.map +1 -1
  29. package/lib/node/index.mjs +62 -13
  30. package/lib/node/index.mjs.map +1 -1
  31. package/package.json +16 -8
  32. package/src/browser/setupWorker/glossary.ts +1 -1
  33. package/src/browser/setupWorker/setupWorker.ts +3 -11
  34. package/src/browser/setupWorker/start/createFallbackRequestListener.ts +1 -1
  35. package/src/browser/setupWorker/start/createRequestListener.ts +1 -1
  36. package/src/browser/setupWorker/start/createResponseListener.ts +13 -0
  37. package/src/core/HttpResponse.test.ts +34 -3
  38. package/src/core/HttpResponse.ts +24 -1
  39. package/src/core/SetupApi.ts +33 -9
  40. package/src/native/index.ts +8 -4
  41. package/src/node/SetupServerApi.ts +64 -95
  42. package/src/node/SetupServerCommonApi.ts +116 -0
  43. package/src/node/glossary.ts +17 -3
  44. package/src/node/setupServer.ts +3 -10
@@ -283,7 +283,7 @@ var createRequestListener = (context, options) => {
283
283
  await handleRequest(
284
284
  request,
285
285
  requestId,
286
- context.requestHandlers,
286
+ context.getRequestHandlers(),
287
287
  options,
288
288
  context.emitter,
289
289
  {
@@ -366,7 +366,7 @@ async function requestIntegrityCheck(context, serviceWorker) {
366
366
  return serviceWorker;
367
367
  }
368
368
 
369
- // node_modules/.pnpm/@mswjs+interceptors@0.25.15/node_modules/@mswjs/interceptors/lib/browser/chunk-UJZOJSMP.mjs
369
+ // node_modules/.pnpm/@mswjs+interceptors@0.25.16/node_modules/@mswjs/interceptors/lib/browser/chunk-UJZOJSMP.mjs
370
370
  var encoder = new TextEncoder();
371
371
  function encodeBuffer(text) {
372
372
  return encoder.encode(text);
@@ -829,7 +829,7 @@ var _Emitter = class {
829
829
  var Emitter = _Emitter;
830
830
  Emitter.defaultMaxListeners = 10;
831
831
 
832
- // node_modules/.pnpm/@mswjs+interceptors@0.25.15/node_modules/@mswjs/interceptors/lib/browser/chunk-WZQN3FMY.mjs
832
+ // node_modules/.pnpm/@mswjs+interceptors@0.25.16/node_modules/@mswjs/interceptors/lib/browser/chunk-WZQN3FMY.mjs
833
833
  var IS_PATCHED_MODULE = Symbol("isPatchedModule");
834
834
  function getGlobalSymbol(symbol) {
835
835
  return (
@@ -974,7 +974,7 @@ var Interceptor = class {
974
974
  }
975
975
  };
976
976
 
977
- // node_modules/.pnpm/@mswjs+interceptors@0.25.15/node_modules/@mswjs/interceptors/lib/browser/index.mjs
977
+ // node_modules/.pnpm/@mswjs+interceptors@0.25.16/node_modules/@mswjs/interceptors/lib/browser/index.mjs
978
978
  var BatchInterceptor = class extends Interceptor {
979
979
  constructor(options) {
980
980
  BatchInterceptor.symbol = Symbol(options.name);
@@ -1037,6 +1037,13 @@ function createResponseListener(context) {
1037
1037
  isResponseWithoutBody(responseJson.status) ? null : responseJson.body,
1038
1038
  responseJson
1039
1039
  );
1040
+ if (!response.url) {
1041
+ Object.defineProperty(response, "url", {
1042
+ value: request.url,
1043
+ enumerable: true,
1044
+ writable: false
1045
+ });
1046
+ }
1040
1047
  context.emitter.emit(
1041
1048
  responseJson.isMockedResponse ? "response:mocked" : "response:bypass",
1042
1049
  {
@@ -1258,7 +1265,7 @@ var DeferredPromise = class extends Promise {
1258
1265
  }
1259
1266
  };
1260
1267
 
1261
- // node_modules/.pnpm/@mswjs+interceptors@0.25.15/node_modules/@mswjs/interceptors/lib/browser/chunk-72HT65NX.mjs
1268
+ // node_modules/.pnpm/@mswjs+interceptors@0.25.16/node_modules/@mswjs/interceptors/lib/browser/chunk-72HT65NX.mjs
1262
1269
  function uuidv4() {
1263
1270
  return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
1264
1271
  const r = Math.random() * 16 | 0;
@@ -1303,7 +1310,7 @@ async function emitAsync(emitter, eventName, ...data) {
1303
1310
  }
1304
1311
  }
1305
1312
 
1306
- // node_modules/.pnpm/@mswjs+interceptors@0.25.15/node_modules/@mswjs/interceptors/lib/browser/chunk-44V5AUD6.mjs
1313
+ // node_modules/.pnpm/@mswjs+interceptors@0.25.16/node_modules/@mswjs/interceptors/lib/browser/chunk-XQZ6GVNB.mjs
1307
1314
  function isPropertyAccessible(obj, key) {
1308
1315
  try {
1309
1316
  obj[key];
@@ -1355,13 +1362,15 @@ var _FetchInterceptor = class extends Interceptor {
1355
1362
  this.logger.info("awaiting for the mocked response...");
1356
1363
  const signal = interactiveRequest.signal;
1357
1364
  const requestAborted = new DeferredPromise();
1358
- signal.addEventListener(
1359
- "abort",
1360
- () => {
1361
- requestAborted.reject(signal.reason);
1362
- },
1363
- { once: true }
1364
- );
1365
+ if (signal) {
1366
+ signal.addEventListener(
1367
+ "abort",
1368
+ () => {
1369
+ requestAborted.reject(signal.reason);
1370
+ },
1371
+ { once: true }
1372
+ );
1373
+ }
1365
1374
  const resolverResult = await until(async () => {
1366
1375
  const listenersFinished = emitAsync(this.emitter, "request", {
1367
1376
  request: interactiveRequest,
@@ -1402,14 +1411,13 @@ var _FetchInterceptor = class extends Interceptor {
1402
1411
  request: interactiveRequest,
1403
1412
  requestId
1404
1413
  });
1405
- const response = new Response(mockedResponse.body, mockedResponse);
1406
- Object.defineProperty(response, "url", {
1414
+ Object.defineProperty(mockedResponse, "url", {
1407
1415
  writable: false,
1408
1416
  enumerable: true,
1409
1417
  configurable: false,
1410
1418
  value: request.url
1411
1419
  });
1412
- return response;
1420
+ return mockedResponse;
1413
1421
  }
1414
1422
  this.logger.info("no mocked response received!");
1415
1423
  return pureFetch(request).then((response) => {
@@ -1449,7 +1457,7 @@ function createNetworkError(cause) {
1449
1457
  });
1450
1458
  }
1451
1459
 
1452
- // node_modules/.pnpm/@mswjs+interceptors@0.25.15/node_modules/@mswjs/interceptors/lib/browser/chunk-DZVB7JEV.mjs
1460
+ // node_modules/.pnpm/@mswjs+interceptors@0.25.16/node_modules/@mswjs/interceptors/lib/browser/chunk-DZVB7JEV.mjs
1453
1461
  function concatArrayBuffer(left, right) {
1454
1462
  const result = new Uint8Array(left.byteLength + right.byteLength);
1455
1463
  result.set(left, 0);
@@ -2193,7 +2201,7 @@ function createFallbackRequestListener(context, options) {
2193
2201
  const response = await handleRequest2(
2194
2202
  request,
2195
2203
  requestId,
2196
- context.requestHandlers,
2204
+ context.getRequestHandlers(),
2197
2205
  options,
2198
2206
  context.emitter,
2199
2207
  {
@@ -2297,8 +2305,10 @@ var SetupWorkerApi = class extends SetupApi {
2297
2305
  isMockingEnabled: false,
2298
2306
  startOptions: null,
2299
2307
  worker: null,
2308
+ getRequestHandlers: () => {
2309
+ return this.handlersController.currentHandlers();
2310
+ },
2300
2311
  registration: null,
2301
- requestHandlers: this.currentHandlers,
2302
2312
  requests: /* @__PURE__ */ new Map(),
2303
2313
  emitter: this.emitter,
2304
2314
  workerChannel: {
@@ -2373,11 +2383,6 @@ var SetupWorkerApi = class extends SetupApi {
2373
2383
  readableStreamTransfer: supportsReadableStreamTransfer()
2374
2384
  }
2375
2385
  };
2376
- Object.defineProperties(context, {
2377
- requestHandlers: {
2378
- get: () => this.currentHandlers
2379
- }
2380
- });
2381
2386
  this.startHandler = context.supports.serviceWorkerApi ? createFallbackStart(context) : createStartHandler(context);
2382
2387
  this.stopHandler = context.supports.serviceWorkerApi ? createFallbackStop(context) : createStop(context);
2383
2388
  return context;