msw 2.1.4 → 2.1.5

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 (47) hide show
  1. package/lib/browser/index.js +25 -12
  2. package/lib/browser/index.js.map +1 -1
  3. package/lib/browser/index.mjs +25 -12
  4. package/lib/browser/index.mjs.map +1 -1
  5. package/lib/core/handlers/GraphQLHandler.js +2 -2
  6. package/lib/core/handlers/GraphQLHandler.js.map +1 -1
  7. package/lib/core/handlers/GraphQLHandler.mjs +2 -2
  8. package/lib/core/handlers/GraphQLHandler.mjs.map +1 -1
  9. package/lib/core/handlers/HttpHandler.js +2 -2
  10. package/lib/core/handlers/HttpHandler.js.map +1 -1
  11. package/lib/core/handlers/HttpHandler.mjs +2 -2
  12. package/lib/core/handlers/HttpHandler.mjs.map +1 -1
  13. package/lib/core/utils/internal/parseGraphQLRequest.js +2 -2
  14. package/lib/core/utils/internal/parseGraphQLRequest.js.map +1 -1
  15. package/lib/core/utils/internal/parseGraphQLRequest.mjs +2 -2
  16. package/lib/core/utils/internal/parseGraphQLRequest.mjs.map +1 -1
  17. package/lib/core/utils/request/onUnhandledRequest.js +6 -2
  18. package/lib/core/utils/request/onUnhandledRequest.js.map +1 -1
  19. package/lib/core/utils/request/onUnhandledRequest.mjs +6 -2
  20. package/lib/core/utils/request/onUnhandledRequest.mjs.map +1 -1
  21. package/lib/core/utils/request/toPublicUrl.d.mts +7 -0
  22. package/lib/core/utils/request/toPublicUrl.d.ts +7 -0
  23. package/lib/core/utils/request/{getPublicUrlFromRequest.js → toPublicUrl.js} +9 -9
  24. package/lib/core/utils/request/toPublicUrl.js.map +1 -0
  25. package/lib/core/utils/request/toPublicUrl.mjs +11 -0
  26. package/lib/core/utils/request/toPublicUrl.mjs.map +1 -0
  27. package/lib/iife/index.js +37 -21
  28. package/lib/iife/index.js.map +1 -1
  29. package/lib/mockServiceWorker.js +1 -1
  30. package/package.json +5 -5
  31. package/src/browser/setupWorker/glossary.ts +1 -0
  32. package/src/browser/setupWorker/setupWorker.ts +1 -0
  33. package/src/browser/setupWorker/start/createRequestListener.ts +9 -0
  34. package/src/browser/setupWorker/start/createResponseListener.ts +9 -7
  35. package/src/core/handlers/GraphQLHandler.ts +2 -2
  36. package/src/core/handlers/HttpHandler.ts +2 -2
  37. package/src/core/utils/internal/parseGraphQLRequest.ts +2 -2
  38. package/src/core/utils/request/onUnhandledRequest.ts +14 -2
  39. package/src/core/utils/request/toPublicUrl.test.ts +18 -0
  40. package/src/core/utils/request/toPublicUrl.ts +15 -0
  41. package/lib/core/utils/request/getPublicUrlFromRequest.d.mts +0 -7
  42. package/lib/core/utils/request/getPublicUrlFromRequest.d.ts +0 -7
  43. package/lib/core/utils/request/getPublicUrlFromRequest.js.map +0 -1
  44. package/lib/core/utils/request/getPublicUrlFromRequest.mjs +0 -11
  45. package/lib/core/utils/request/getPublicUrlFromRequest.mjs.map +0 -1
  46. package/src/core/utils/request/getPublicUrlFromRequest.test.ts +0 -26
  47. package/src/core/utils/request/getPublicUrlFromRequest.ts +0 -15
@@ -266,6 +266,7 @@ function parseWorkerRequest(incomingRequest) {
266
266
  }
267
267
 
268
268
  // src/browser/setupWorker/start/createRequestListener.ts
269
+ import { RequestHandler } from '../core/handlers/RequestHandler.mjs';
269
270
  import { handleRequest } from '../core/utils/handleRequest.mjs';
270
271
  import { devUtils as devUtils4 } from '../core/utils/internal/devUtils.mjs';
271
272
  import { toResponseInit } from '../core/utils/toResponseInit.mjs';
@@ -275,6 +276,9 @@ var createRequestListener = (context, options) => {
275
276
  const requestId = message.payload.id;
276
277
  const request = parseWorkerRequest(message.payload);
277
278
  const requestCloneForLogs = request.clone();
279
+ const requestClone = request.clone();
280
+ RequestHandler.cache.set(request, requestClone);
281
+ context.requests.set(requestId, requestClone);
278
282
  try {
279
283
  await handleRequest(
280
284
  request,
@@ -362,7 +366,7 @@ async function requestIntegrityCheck(context, serviceWorker) {
362
366
  return serviceWorker;
363
367
  }
364
368
 
365
- // node_modules/.pnpm/@mswjs+interceptors@0.25.14/node_modules/@mswjs/interceptors/lib/browser/chunk-UJZOJSMP.mjs
369
+ // node_modules/.pnpm/@mswjs+interceptors@0.25.15/node_modules/@mswjs/interceptors/lib/browser/chunk-UJZOJSMP.mjs
366
370
  var encoder = new TextEncoder();
367
371
  function encodeBuffer(text) {
368
372
  return encoder.encode(text);
@@ -825,7 +829,7 @@ var _Emitter = class {
825
829
  var Emitter = _Emitter;
826
830
  Emitter.defaultMaxListeners = 10;
827
831
 
828
- // node_modules/.pnpm/@mswjs+interceptors@0.25.14/node_modules/@mswjs/interceptors/lib/browser/chunk-WZQN3FMY.mjs
832
+ // node_modules/.pnpm/@mswjs+interceptors@0.25.15/node_modules/@mswjs/interceptors/lib/browser/chunk-WZQN3FMY.mjs
829
833
  var IS_PATCHED_MODULE = Symbol("isPatchedModule");
830
834
  function getGlobalSymbol(symbol) {
831
835
  return (
@@ -970,7 +974,7 @@ var Interceptor = class {
970
974
  }
971
975
  };
972
976
 
973
- // node_modules/.pnpm/@mswjs+interceptors@0.25.14/node_modules/@mswjs/interceptors/lib/browser/index.mjs
977
+ // node_modules/.pnpm/@mswjs+interceptors@0.25.15/node_modules/@mswjs/interceptors/lib/browser/index.mjs
974
978
  var BatchInterceptor = class extends Interceptor {
975
979
  constructor(options) {
976
980
  BatchInterceptor.symbol = Symbol(options.name);
@@ -1017,6 +1021,9 @@ var BatchInterceptor = class extends Interceptor {
1017
1021
  function createResponseListener(context) {
1018
1022
  return (_, message) => {
1019
1023
  const { payload: responseJson } = message;
1024
+ const { requestId } = responseJson;
1025
+ const request = context.requests.get(requestId);
1026
+ context.requests.delete(requestId);
1020
1027
  if (responseJson.type?.includes("opaque")) {
1021
1028
  return;
1022
1029
  }
@@ -1034,11 +1041,7 @@ function createResponseListener(context) {
1034
1041
  responseJson.isMockedResponse ? "response:mocked" : "response:bypass",
1035
1042
  {
1036
1043
  response,
1037
- /**
1038
- * @todo @fixme In this context, we don't know anything about
1039
- * the request.
1040
- */
1041
- request: null,
1044
+ request,
1042
1045
  requestId: responseJson.requestId
1043
1046
  }
1044
1047
  );
@@ -1255,7 +1258,7 @@ var DeferredPromise = class extends Promise {
1255
1258
  }
1256
1259
  };
1257
1260
 
1258
- // node_modules/.pnpm/@mswjs+interceptors@0.25.14/node_modules/@mswjs/interceptors/lib/browser/chunk-72HT65NX.mjs
1261
+ // node_modules/.pnpm/@mswjs+interceptors@0.25.15/node_modules/@mswjs/interceptors/lib/browser/chunk-72HT65NX.mjs
1259
1262
  function uuidv4() {
1260
1263
  return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
1261
1264
  const r = Math.random() * 16 | 0;
@@ -1300,7 +1303,7 @@ async function emitAsync(emitter, eventName, ...data) {
1300
1303
  }
1301
1304
  }
1302
1305
 
1303
- // node_modules/.pnpm/@mswjs+interceptors@0.25.14/node_modules/@mswjs/interceptors/lib/browser/chunk-KDHQ3KDO.mjs
1306
+ // node_modules/.pnpm/@mswjs+interceptors@0.25.15/node_modules/@mswjs/interceptors/lib/browser/chunk-44V5AUD6.mjs
1304
1307
  function isPropertyAccessible(obj, key) {
1305
1308
  try {
1306
1309
  obj[key];
@@ -1309,6 +1312,14 @@ function isPropertyAccessible(obj, key) {
1309
1312
  return false;
1310
1313
  }
1311
1314
  }
1315
+ function canParseUrl(url) {
1316
+ try {
1317
+ new URL(url);
1318
+ return true;
1319
+ } catch (_error) {
1320
+ return false;
1321
+ }
1322
+ }
1312
1323
  var _FetchInterceptor = class extends Interceptor {
1313
1324
  constructor() {
1314
1325
  super(_FetchInterceptor.symbol);
@@ -1325,7 +1336,8 @@ var _FetchInterceptor = class extends Interceptor {
1325
1336
  globalThis.fetch = async (input, init) => {
1326
1337
  var _a;
1327
1338
  const requestId = uuidv4();
1328
- const request = new Request(input, init);
1339
+ const resolvedInput = typeof input === "string" && typeof location !== "undefined" && !canParseUrl(input) ? new URL(input, location.origin) : input;
1340
+ const request = new Request(resolvedInput, init);
1329
1341
  this.logger.info("[%s] %s", request.method, request.url);
1330
1342
  const { interactiveRequest, requestController } = toInteractiveRequest(request);
1331
1343
  this.logger.info(
@@ -1437,7 +1449,7 @@ function createNetworkError(cause) {
1437
1449
  });
1438
1450
  }
1439
1451
 
1440
- // node_modules/.pnpm/@mswjs+interceptors@0.25.14/node_modules/@mswjs/interceptors/lib/browser/chunk-DZVB7JEV.mjs
1452
+ // node_modules/.pnpm/@mswjs+interceptors@0.25.15/node_modules/@mswjs/interceptors/lib/browser/chunk-DZVB7JEV.mjs
1441
1453
  function concatArrayBuffer(left, right) {
1442
1454
  const result = new Uint8Array(left.byteLength + right.byteLength);
1443
1455
  result.set(left, 0);
@@ -2287,6 +2299,7 @@ var SetupWorkerApi = class extends SetupApi {
2287
2299
  worker: null,
2288
2300
  registration: null,
2289
2301
  requestHandlers: this.currentHandlers,
2302
+ requests: /* @__PURE__ */ new Map(),
2290
2303
  emitter: this.emitter,
2291
2304
  workerChannel: {
2292
2305
  on: (eventType, callback) => {