msw 2.0.14 → 2.1.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 (133) hide show
  1. package/cli/index.js +11 -3
  2. package/cli/init.js +126 -73
  3. package/config/scripts/postinstall.js +8 -20
  4. package/lib/browser/index.js +111 -176
  5. package/lib/browser/index.js.map +1 -1
  6. package/lib/browser/index.mjs +111 -179
  7. package/lib/browser/index.mjs.map +1 -1
  8. package/lib/core/{GraphQLHandler-JB4bsrLF.d.ts → GraphQLHandler-LZ8jH42-.d.ts} +1 -1
  9. package/lib/core/{GraphQLHandler-mT-MmgeB.d.mts → GraphQLHandler-c0pfLv8e.d.mts} +1 -1
  10. package/lib/core/HttpResponse.d.mts +1 -1
  11. package/lib/core/HttpResponse.d.ts +1 -1
  12. package/lib/core/{RequestHandler-rmY-HeFN.d.ts → RequestHandler-SdFwV297.d.ts} +8 -1
  13. package/lib/core/{RequestHandler-YiqamK0M.d.mts → RequestHandler-hEwneHZE.d.mts} +8 -1
  14. package/lib/core/SetupApi.d.mts +1 -1
  15. package/lib/core/SetupApi.d.ts +1 -1
  16. package/lib/core/SetupApi.js +5 -0
  17. package/lib/core/SetupApi.js.map +1 -1
  18. package/lib/core/SetupApi.mjs +5 -0
  19. package/lib/core/SetupApi.mjs.map +1 -1
  20. package/lib/core/delay.js +24 -46
  21. package/lib/core/delay.js.map +1 -1
  22. package/lib/core/delay.mjs +24 -46
  23. package/lib/core/delay.mjs.map +1 -1
  24. package/lib/core/graphql.d.mts +2 -2
  25. package/lib/core/graphql.d.ts +2 -2
  26. package/lib/core/graphql.js +3 -19
  27. package/lib/core/graphql.js.map +1 -1
  28. package/lib/core/graphql.mjs +3 -21
  29. package/lib/core/graphql.mjs.map +1 -1
  30. package/lib/core/handlers/GraphQLHandler.d.mts +2 -2
  31. package/lib/core/handlers/GraphQLHandler.d.ts +2 -2
  32. package/lib/core/handlers/GraphQLHandler.js +51 -77
  33. package/lib/core/handlers/GraphQLHandler.js.map +1 -1
  34. package/lib/core/handlers/GraphQLHandler.mjs +51 -77
  35. package/lib/core/handlers/GraphQLHandler.mjs.map +1 -1
  36. package/lib/core/handlers/HttpHandler.d.mts +1 -1
  37. package/lib/core/handlers/HttpHandler.d.ts +1 -1
  38. package/lib/core/handlers/HttpHandler.js +29 -55
  39. package/lib/core/handlers/HttpHandler.js.map +1 -1
  40. package/lib/core/handlers/HttpHandler.mjs +29 -55
  41. package/lib/core/handlers/HttpHandler.mjs.map +1 -1
  42. package/lib/core/handlers/RequestHandler.d.mts +1 -1
  43. package/lib/core/handlers/RequestHandler.d.ts +1 -1
  44. package/lib/core/handlers/RequestHandler.js +79 -103
  45. package/lib/core/handlers/RequestHandler.js.map +1 -1
  46. package/lib/core/handlers/RequestHandler.mjs +79 -105
  47. package/lib/core/handlers/RequestHandler.mjs.map +1 -1
  48. package/lib/core/http.d.mts +1 -1
  49. package/lib/core/http.d.ts +1 -1
  50. package/lib/core/index.d.mts +2 -2
  51. package/lib/core/index.d.ts +2 -2
  52. package/lib/core/sharedOptions.d.mts +1 -1
  53. package/lib/core/sharedOptions.d.ts +1 -1
  54. package/lib/core/utils/HttpResponse/decorators.d.mts +1 -1
  55. package/lib/core/utils/HttpResponse/decorators.d.ts +1 -1
  56. package/lib/core/utils/HttpResponse/decorators.js +7 -24
  57. package/lib/core/utils/HttpResponse/decorators.js.map +1 -1
  58. package/lib/core/utils/HttpResponse/decorators.mjs +7 -26
  59. package/lib/core/utils/HttpResponse/decorators.mjs.map +1 -1
  60. package/lib/core/utils/getResponse.d.mts +1 -1
  61. package/lib/core/utils/getResponse.d.ts +1 -1
  62. package/lib/core/utils/getResponse.js +11 -26
  63. package/lib/core/utils/getResponse.js.map +1 -1
  64. package/lib/core/utils/getResponse.mjs +11 -26
  65. package/lib/core/utils/getResponse.mjs.map +1 -1
  66. package/lib/core/utils/handleRequest.d.mts +1 -1
  67. package/lib/core/utils/handleRequest.d.ts +1 -1
  68. package/lib/core/utils/handleRequest.js +49 -72
  69. package/lib/core/utils/handleRequest.js.map +1 -1
  70. package/lib/core/utils/handleRequest.mjs +49 -72
  71. package/lib/core/utils/handleRequest.mjs.map +1 -1
  72. package/lib/core/utils/internal/Disposable.js +3 -27
  73. package/lib/core/utils/internal/Disposable.js.map +1 -1
  74. package/lib/core/utils/internal/Disposable.mjs +3 -27
  75. package/lib/core/utils/internal/Disposable.mjs.map +1 -1
  76. package/lib/core/utils/internal/parseGraphQLRequest.d.mts +2 -2
  77. package/lib/core/utils/internal/parseGraphQLRequest.d.ts +2 -2
  78. package/lib/core/utils/internal/parseGraphQLRequest.js +72 -112
  79. package/lib/core/utils/internal/parseGraphQLRequest.js.map +1 -1
  80. package/lib/core/utils/internal/parseGraphQLRequest.mjs +72 -113
  81. package/lib/core/utils/internal/parseGraphQLRequest.mjs.map +1 -1
  82. package/lib/core/utils/internal/parseMultipartData.d.mts +1 -1
  83. package/lib/core/utils/internal/parseMultipartData.d.ts +1 -1
  84. package/lib/core/utils/internal/parseMultipartData.js +3 -4
  85. package/lib/core/utils/internal/parseMultipartData.js.map +1 -1
  86. package/lib/core/utils/internal/parseMultipartData.mjs +3 -4
  87. package/lib/core/utils/internal/parseMultipartData.mjs.map +1 -1
  88. package/lib/core/utils/internal/requestHandlerUtils.d.mts +1 -1
  89. package/lib/core/utils/internal/requestHandlerUtils.d.ts +1 -1
  90. package/lib/core/utils/internal/tryCatch.js +1 -1
  91. package/lib/core/utils/internal/tryCatch.js.map +1 -1
  92. package/lib/core/utils/internal/tryCatch.mjs +1 -1
  93. package/lib/core/utils/internal/tryCatch.mjs.map +1 -1
  94. package/lib/core/utils/logging/serializeRequest.js +9 -31
  95. package/lib/core/utils/logging/serializeRequest.js.map +1 -1
  96. package/lib/core/utils/logging/serializeRequest.mjs +9 -31
  97. package/lib/core/utils/logging/serializeRequest.mjs.map +1 -1
  98. package/lib/core/utils/logging/serializeResponse.js +11 -33
  99. package/lib/core/utils/logging/serializeResponse.js.map +1 -1
  100. package/lib/core/utils/logging/serializeResponse.mjs +11 -33
  101. package/lib/core/utils/logging/serializeResponse.mjs.map +1 -1
  102. package/lib/core/utils/request/getRequestCookies.js +9 -18
  103. package/lib/core/utils/request/getRequestCookies.js.map +1 -1
  104. package/lib/core/utils/request/getRequestCookies.mjs +9 -20
  105. package/lib/core/utils/request/getRequestCookies.mjs.map +1 -1
  106. package/lib/core/utils/request/onUnhandledRequest.d.mts +1 -1
  107. package/lib/core/utils/request/onUnhandledRequest.d.ts +1 -1
  108. package/lib/core/utils/request/onUnhandledRequest.js +62 -84
  109. package/lib/core/utils/request/onUnhandledRequest.js.map +1 -1
  110. package/lib/core/utils/request/onUnhandledRequest.mjs +62 -84
  111. package/lib/core/utils/request/onUnhandledRequest.mjs.map +1 -1
  112. package/lib/core/utils/request/readResponseCookies.js +1 -18
  113. package/lib/core/utils/request/readResponseCookies.js.map +1 -1
  114. package/lib/core/utils/request/readResponseCookies.mjs +1 -20
  115. package/lib/core/utils/request/readResponseCookies.mjs.map +1 -1
  116. package/lib/iife/index.js +678 -958
  117. package/lib/iife/index.js.map +1 -1
  118. package/lib/mockServiceWorker.js +2 -2
  119. package/lib/native/index.js +5 -23
  120. package/lib/native/index.js.map +1 -1
  121. package/lib/native/index.mjs +5 -24
  122. package/lib/native/index.mjs.map +1 -1
  123. package/lib/node/index.js +5 -23
  124. package/lib/node/index.js.map +1 -1
  125. package/lib/node/index.mjs +5 -24
  126. package/lib/node/index.mjs.map +1 -1
  127. package/package.json +32 -37
  128. package/src/browser/setupWorker/setupWorker.ts +6 -0
  129. package/src/browser/setupWorker/start/createStartHandler.ts +0 -8
  130. package/src/core/handlers/RequestHandler.ts +23 -4
  131. package/src/core/utils/getResponse.ts +12 -6
  132. package/src/core/utils/handleRequest.test.ts +20 -0
  133. package/src/core/utils/handleRequest.ts +4 -3
@@ -1,25 +1,8 @@
1
1
  "use strict";
2
2
  var __defProp = Object.defineProperty;
3
- var __defProps = Object.defineProperties;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
10
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
- var __spreadValues = (a, b) => {
12
- for (var prop in b || (b = {}))
13
- if (__hasOwnProp.call(b, prop))
14
- __defNormalProp(a, prop, b[prop]);
15
- if (__getOwnPropSymbols)
16
- for (var prop of __getOwnPropSymbols(b)) {
17
- if (__propIsEnum.call(b, prop))
18
- __defNormalProp(a, prop, b[prop]);
19
- }
20
- return a;
21
- };
22
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
23
6
  var __export = (target, all) => {
24
7
  for (var name in all)
25
8
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -33,26 +16,6 @@ var __copyProps = (to, from, except, desc) => {
33
16
  return to;
34
17
  };
35
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
36
- var __async = (__this, __arguments, generator) => {
37
- return new Promise((resolve, reject) => {
38
- var fulfilled = (value) => {
39
- try {
40
- step(generator.next(value));
41
- } catch (e) {
42
- reject(e);
43
- }
44
- };
45
- var rejected = (value) => {
46
- try {
47
- step(generator.throw(value));
48
- } catch (e) {
49
- reject(e);
50
- }
51
- };
52
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
53
- step((generator = generator.apply(__this, __arguments)).next());
54
- });
55
- };
56
19
 
57
20
  // src/browser/index.ts
58
21
  var browser_exports = {};
@@ -67,7 +30,7 @@ var import_outvariant = require("outvariant");
67
30
  var import_is_node_process = require("is-node-process");
68
31
 
69
32
  // src/browser/setupWorker/start/createStartHandler.ts
70
- var import_until3 = require("@open-draft/until");
33
+ var import_until2 = require("@open-draft/until");
71
34
  var import_devUtils6 = require("../core/utils/internal/devUtils.js");
72
35
 
73
36
  // src/browser/setupWorker/start/utils/getWorkerInstance.ts
@@ -96,9 +59,9 @@ function getWorkerByRegistration(registration, absoluteWorkerUrl, findWorker) {
96
59
  }
97
60
 
98
61
  // src/browser/setupWorker/start/utils/getWorkerInstance.ts
99
- var getWorkerInstance = (_0, ..._1) => __async(void 0, [_0, ..._1], function* (url, options = {}, findWorker) {
62
+ var getWorkerInstance = async (url, options = {}, findWorker) => {
100
63
  const absoluteWorkerUrl = getAbsoluteWorkerUrl(url);
101
- const mockRegistrations = yield navigator.serviceWorker.getRegistrations().then(
64
+ const mockRegistrations = await navigator.serviceWorker.getRegistrations().then(
102
65
  (registrations) => registrations.filter(
103
66
  (registration) => getWorkerByRegistration(registration, absoluteWorkerUrl, findWorker)
104
67
  )
@@ -119,21 +82,21 @@ var getWorkerInstance = (_0, ..._1) => __async(void 0, [_0, ..._1], function* (u
119
82
  ];
120
83
  });
121
84
  }
122
- const registrationResult = yield (0, import_until.until)(
123
- () => __async(void 0, null, function* () {
124
- const registration = yield navigator.serviceWorker.register(url, options);
85
+ const registrationResult = await (0, import_until.until)(
86
+ async () => {
87
+ const registration = await navigator.serviceWorker.register(url, options);
125
88
  return [
126
89
  // Compare existing worker registration by its worker URL,
127
90
  // to prevent irrelevant workers to resolve here (such as Codesandbox worker).
128
91
  getWorkerByRegistration(registration, absoluteWorkerUrl, findWorker),
129
92
  registration
130
93
  ];
131
- })
94
+ }
132
95
  );
133
96
  if (registrationResult.error) {
134
97
  const isWorkerMissing = registrationResult.error.message.includes("(404)");
135
98
  if (isWorkerMissing) {
136
- const scopeUrl = new URL((options == null ? void 0 : options.scope) || "/", location.href);
99
+ const scopeUrl = new URL(options?.scope || "/", location.href);
137
100
  throw new Error(
138
101
  import_devUtils.devUtils.formatMessage(`Failed to register a Service Worker for scope ('${scopeUrl.href}') with script ('${absoluteWorkerUrl}'): Service Worker script does not exist at the given path.
139
102
 
@@ -150,7 +113,7 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
150
113
  );
151
114
  }
152
115
  return registrationResult.data;
153
- });
116
+ };
154
117
 
155
118
  // src/browser/setupWorker/start/utils/enableMocking.ts
156
119
  var import_devUtils3 = require("../core/utils/internal/devUtils.js");
@@ -182,23 +145,20 @@ function printStartMessage(args = {}) {
182
145
  }
183
146
 
184
147
  // src/browser/setupWorker/start/utils/enableMocking.ts
185
- function enableMocking(context, options) {
186
- return __async(this, null, function* () {
187
- var _a, _b;
188
- context.workerChannel.send("MOCK_ACTIVATE");
189
- yield context.events.once("MOCKING_ENABLED");
190
- if (context.isMockingEnabled) {
191
- import_devUtils3.devUtils.warn(
192
- `Found a redundant "worker.start()" call. Note that starting the worker while mocking is already enabled will have no effect. Consider removing this "worker.start()" call.`
193
- );
194
- return;
195
- }
196
- context.isMockingEnabled = true;
197
- printStartMessage({
198
- quiet: options.quiet,
199
- workerScope: (_a = context.registration) == null ? void 0 : _a.scope,
200
- workerUrl: (_b = context.worker) == null ? void 0 : _b.scriptURL
201
- });
148
+ async function enableMocking(context, options) {
149
+ context.workerChannel.send("MOCK_ACTIVATE");
150
+ await context.events.once("MOCKING_ENABLED");
151
+ if (context.isMockingEnabled) {
152
+ import_devUtils3.devUtils.warn(
153
+ `Found a redundant "worker.start()" call. Note that starting the worker while mocking is already enabled will have no effect. Consider removing this "worker.start()" call.`
154
+ );
155
+ return;
156
+ }
157
+ context.isMockingEnabled = true;
158
+ printStartMessage({
159
+ quiet: options.quiet,
160
+ workerScope: context.registration?.scope,
161
+ workerUrl: context.worker?.scriptURL
202
162
  });
203
163
  }
204
164
 
@@ -223,9 +183,10 @@ function pruneGetRequestBody(request) {
223
183
 
224
184
  // src/browser/utils/parseWorkerRequest.ts
225
185
  function parseWorkerRequest(incomingRequest) {
226
- return new Request(incomingRequest.url, __spreadProps(__spreadValues({}, incomingRequest), {
186
+ return new Request(incomingRequest.url, {
187
+ ...incomingRequest,
227
188
  body: pruneGetRequestBody(incomingRequest)
228
- }));
189
+ });
229
190
  }
230
191
 
231
192
  // src/browser/setupWorker/start/createRequestListener.ts
@@ -233,15 +194,13 @@ var import_handleRequest = require("../core/utils/handleRequest.js");
233
194
  var import_devUtils4 = require("../core/utils/internal/devUtils.js");
234
195
  var import_toResponseInit = require("../core/utils/toResponseInit.js");
235
196
  var createRequestListener = (context, options) => {
236
- return (event, message) => __async(void 0, null, function* () {
237
- var _b;
197
+ return async (event, message) => {
238
198
  const messageChannel = new WorkerChannel(event.ports[0]);
239
199
  const requestId = message.payload.id;
240
200
  const request = parseWorkerRequest(message.payload);
241
201
  const requestCloneForLogs = request.clone();
242
202
  try {
243
- let _a;
244
- yield (0, import_handleRequest.handleRequest)(
203
+ await (0, import_handleRequest.handleRequest)(
245
204
  request,
246
205
  requestId,
247
206
  context.requestHandlers,
@@ -251,36 +210,36 @@ var createRequestListener = (context, options) => {
251
210
  onPassthroughResponse() {
252
211
  messageChannel.postMessage("NOT_FOUND");
253
212
  },
254
- onMockedResponse(_0, _1) {
255
- return __async(this, arguments, function* (response, { handler, parsedResult }) {
256
- const responseClone = response.clone();
257
- const responseCloneForLogs = response.clone();
258
- const responseInit = (0, import_toResponseInit.toResponseInit)(response);
259
- if (context.supports.readableStreamTransfer) {
260
- const responseStreamOrNull = response.body;
261
- messageChannel.postMessage(
262
- "MOCK_RESPONSE",
263
- __spreadProps(__spreadValues({}, responseInit), {
264
- body: responseStreamOrNull
265
- }),
266
- responseStreamOrNull ? [responseStreamOrNull] : void 0
267
- );
268
- } else {
269
- const responseBufferOrNull = response.body === null ? null : yield responseClone.arrayBuffer();
270
- messageChannel.postMessage("MOCK_RESPONSE", __spreadProps(__spreadValues({}, responseInit), {
271
- body: responseBufferOrNull
272
- }));
273
- }
274
- if (!options.quiet) {
275
- context.emitter.once("response:mocked", () => {
276
- handler.log({
277
- request: requestCloneForLogs,
278
- response: responseCloneForLogs,
279
- parsedResult
280
- });
213
+ async onMockedResponse(response, { handler, parsedResult }) {
214
+ const responseClone = response.clone();
215
+ const responseCloneForLogs = response.clone();
216
+ const responseInit = (0, import_toResponseInit.toResponseInit)(response);
217
+ if (context.supports.readableStreamTransfer) {
218
+ const responseStreamOrNull = response.body;
219
+ messageChannel.postMessage(
220
+ "MOCK_RESPONSE",
221
+ {
222
+ ...responseInit,
223
+ body: responseStreamOrNull
224
+ },
225
+ responseStreamOrNull ? [responseStreamOrNull] : void 0
226
+ );
227
+ } else {
228
+ const responseBufferOrNull = response.body === null ? null : await responseClone.arrayBuffer();
229
+ messageChannel.postMessage("MOCK_RESPONSE", {
230
+ ...responseInit,
231
+ body: responseBufferOrNull
232
+ });
233
+ }
234
+ if (!options.quiet) {
235
+ context.emitter.once("response:mocked", () => {
236
+ handler.log({
237
+ request: requestCloneForLogs,
238
+ response: responseCloneForLogs,
239
+ parsedResult
281
240
  });
282
- }
283
- });
241
+ });
242
+ }
284
243
  }
285
244
  }
286
245
  );
@@ -294,7 +253,7 @@ var createRequestListener = (context, options) => {
294
253
  This exception has been gracefully handled as a 500 response, however, it's strongly recommended to resolve this error, as it indicates a mistake in your code. If you wish to mock an error response, please see this guide: https://mswjs.io/docs/recipes/mocking-error-responses`,
295
254
  request.method,
296
255
  request.url,
297
- (_b = error.stack) != null ? _b : error
256
+ error.stack ?? error
298
257
  );
299
258
  messageChannel.postMessage("MOCK_RESPONSE", {
300
259
  status: 500,
@@ -310,50 +269,29 @@ This exception has been gracefully handled as a 500 response, however, it's stro
310
269
  });
311
270
  }
312
271
  }
313
- });
272
+ };
314
273
  };
315
274
 
316
275
  // src/browser/utils/requestIntegrityCheck.ts
317
- function requestIntegrityCheck(context, serviceWorker) {
318
- return __async(this, null, function* () {
319
- context.workerChannel.send("INTEGRITY_CHECK_REQUEST");
320
- const { payload: actualChecksum } = yield context.events.once(
321
- "INTEGRITY_CHECK_RESPONSE"
276
+ async function requestIntegrityCheck(context, serviceWorker) {
277
+ context.workerChannel.send("INTEGRITY_CHECK_REQUEST");
278
+ const { payload: actualChecksum } = await context.events.once(
279
+ "INTEGRITY_CHECK_RESPONSE"
280
+ );
281
+ if (actualChecksum !== "223d191a56023cd36aa88c802961b911") {
282
+ throw new Error(
283
+ `Currently active Service Worker (${actualChecksum}) is behind the latest published one (${"223d191a56023cd36aa88c802961b911"}).`
322
284
  );
323
- if (actualChecksum !== "c5f7f8e188b673ea4e677df7ea3c5a39") {
324
- throw new Error(
325
- `Currently active Service Worker (${actualChecksum}) is behind the latest published one (${"c5f7f8e188b673ea4e677df7ea3c5a39"}).`
326
- );
327
- }
328
- return serviceWorker;
329
- });
330
- }
331
-
332
- // src/browser/utils/deferNetworkRequestsUntil.ts
333
- var import_until2 = require("@open-draft/until");
334
- function deferNetworkRequestsUntil(predicatePromise) {
335
- const originalXhrSend = window.XMLHttpRequest.prototype.send;
336
- window.XMLHttpRequest.prototype.send = function(...args) {
337
- (0, import_until2.until)(() => predicatePromise).then(() => {
338
- window.XMLHttpRequest.prototype.send = originalXhrSend;
339
- this.send(...args);
340
- });
341
- };
342
- const originalFetch = window.fetch;
343
- window.fetch = (...args) => __async(this, null, function* () {
344
- yield (0, import_until2.until)(() => predicatePromise);
345
- window.fetch = originalFetch;
346
- return window.fetch(...args);
347
- });
285
+ }
286
+ return serviceWorker;
348
287
  }
349
288
 
350
289
  // src/browser/setupWorker/start/createResponseListener.ts
351
290
  var import_interceptors = require("@mswjs/interceptors");
352
291
  function createResponseListener(context) {
353
292
  return (_, message) => {
354
- var _a;
355
293
  const { payload: responseJson } = message;
356
- if ((_a = responseJson.type) == null ? void 0 : _a.includes("opaque")) {
294
+ if (responseJson.type?.includes("opaque")) {
357
295
  return;
358
296
  }
359
297
  const response = responseJson.status === 0 ? Response.error() : new Response(
@@ -384,7 +322,7 @@ function createResponseListener(context) {
384
322
  // src/browser/setupWorker/start/utils/validateWorkerScope.ts
385
323
  var import_devUtils5 = require("../core/utils/internal/devUtils.js");
386
324
  function validateWorkerScope(registration, options) {
387
- if (!(options == null ? void 0 : options.quiet) && !location.href.startsWith(registration.scope)) {
325
+ if (!options?.quiet && !location.href.startsWith(registration.scope)) {
388
326
  import_devUtils5.devUtils.warn(
389
327
  `Cannot intercept requests on this page because it's outside of the worker's scope ("${registration.scope}"). If you wish to mock API requests on this page, you must resolve this scope issue.
390
328
 
@@ -397,21 +335,21 @@ function validateWorkerScope(registration, options) {
397
335
  // src/browser/setupWorker/start/createStartHandler.ts
398
336
  var createStartHandler = (context) => {
399
337
  return function start(options, customOptions) {
400
- const startWorkerInstance = () => __async(this, null, function* () {
338
+ const startWorkerInstance = async () => {
401
339
  context.events.removeAllListeners();
402
340
  context.workerChannel.on(
403
341
  "REQUEST",
404
342
  createRequestListener(context, options)
405
343
  );
406
344
  context.workerChannel.on("RESPONSE", createResponseListener(context));
407
- const instance = yield getWorkerInstance(
345
+ const instance = await getWorkerInstance(
408
346
  options.serviceWorker.url,
409
347
  options.serviceWorker.options,
410
348
  options.findWorker
411
349
  );
412
350
  const [worker, registration] = instance;
413
351
  if (!worker) {
414
- const missingWorkerMessage = (customOptions == null ? void 0 : customOptions.findWorker) ? import_devUtils6.devUtils.formatMessage(
352
+ const missingWorkerMessage = customOptions?.findWorker ? import_devUtils6.devUtils.formatMessage(
415
353
  `Failed to locate the Service Worker registration using a custom "findWorker" predicate.
416
354
 
417
355
  Please ensure that the custom predicate properly locates the Service Worker registration at "%s".
@@ -437,7 +375,7 @@ Please consider using a custom "serviceWorker.url" option to point to the actual
437
375
  }
438
376
  window.clearInterval(context.keepAliveInterval);
439
377
  });
440
- const integrityCheckResult = yield (0, import_until3.until)(
378
+ const integrityCheckResult = await (0, import_until2.until)(
441
379
  () => requestIntegrityCheck(context, worker)
442
380
  );
443
381
  if (integrityCheckResult.error) {
@@ -456,12 +394,12 @@ If this message still persists after updating, please report an issue: https://g
456
394
  );
457
395
  validateWorkerScope(registration, context.startOptions);
458
396
  return registration;
459
- });
397
+ };
460
398
  const workerRegistration = startWorkerInstance().then(
461
- (registration) => __async(this, null, function* () {
399
+ async (registration) => {
462
400
  const pendingInstance = registration.installing || registration.waiting;
463
401
  if (pendingInstance) {
464
- yield new Promise((resolve) => {
402
+ await new Promise((resolve) => {
465
403
  pendingInstance.addEventListener("statechange", () => {
466
404
  if (pendingInstance.state === "activated") {
467
405
  return resolve();
@@ -469,15 +407,12 @@ If this message still persists after updating, please report an issue: https://g
469
407
  });
470
408
  });
471
409
  }
472
- yield enableMocking(context, options).catch((error) => {
473
- throw new Error(`Failed to enable mocking: ${error == null ? void 0 : error.message}`);
410
+ await enableMocking(context, options).catch((error) => {
411
+ throw new Error(`Failed to enable mocking: ${error?.message}`);
474
412
  });
475
413
  return registration;
476
- })
414
+ }
477
415
  );
478
- if (options.waitUntilReady) {
479
- deferNetworkRequestsUntil(workerRegistration);
480
- }
481
416
  return workerRegistration;
482
417
  };
483
418
  };
@@ -500,7 +435,6 @@ function printStopMessage(args = {}) {
500
435
  // src/browser/setupWorker/stop/createStop.ts
501
436
  var createStop = (context) => {
502
437
  return function stop() {
503
- var _a;
504
438
  if (!context.isMockingEnabled) {
505
439
  import_devUtils8.devUtils.warn(
506
440
  'Found a redundant "worker.stop()" call. Note that stopping the worker while mocking already stopped has no effect. Consider removing this "worker.stop()" call.'
@@ -510,7 +444,7 @@ var createStop = (context) => {
510
444
  context.workerChannel.send("MOCK_DEACTIVATE");
511
445
  context.isMockingEnabled = false;
512
446
  window.clearInterval(context.keepAliveInterval);
513
- printStopMessage({ quiet: (_a = context.startOptions) == null ? void 0 : _a.quiet });
447
+ printStopMessage({ quiet: context.startOptions?.quiet });
514
448
  };
515
449
  };
516
450
 
@@ -539,9 +473,9 @@ function createFallbackRequestListener(context, options) {
539
473
  name: "fallback",
540
474
  interceptors: [new import_fetch.FetchInterceptor(), new import_XMLHttpRequest.XMLHttpRequestInterceptor()]
541
475
  });
542
- interceptor.on("request", (_0) => __async(this, [_0], function* ({ request, requestId }) {
476
+ interceptor.on("request", async ({ request, requestId }) => {
543
477
  const requestCloneForLogs = request.clone();
544
- const response = yield (0, import_handleRequest2.handleRequest)(
478
+ const response = await (0, import_handleRequest2.handleRequest)(
545
479
  request,
546
480
  requestId,
547
481
  context.requestHandlers,
@@ -564,7 +498,7 @@ function createFallbackRequestListener(context, options) {
564
498
  if (response) {
565
499
  request.respondWith(response);
566
500
  }
567
- }));
501
+ });
568
502
  interceptor.on(
569
503
  "response",
570
504
  ({ response, isMockedResponse, request, requestId }) => {
@@ -584,27 +518,24 @@ function createFallbackRequestListener(context, options) {
584
518
 
585
519
  // src/browser/setupWorker/start/createFallbackStart.ts
586
520
  function createFallbackStart(context) {
587
- return function start(options) {
588
- return __async(this, null, function* () {
589
- context.fallbackInterceptor = createFallbackRequestListener(
590
- context,
591
- options
592
- );
593
- printStartMessage({
594
- message: "Mocking enabled (fallback mode).",
595
- quiet: options.quiet
596
- });
597
- return void 0;
521
+ return async function start(options) {
522
+ context.fallbackInterceptor = createFallbackRequestListener(
523
+ context,
524
+ options
525
+ );
526
+ printStartMessage({
527
+ message: "Mocking enabled (fallback mode).",
528
+ quiet: options.quiet
598
529
  });
530
+ return void 0;
599
531
  };
600
532
  }
601
533
 
602
534
  // src/browser/setupWorker/stop/createFallbackStop.ts
603
535
  function createFallbackStop(context) {
604
536
  return function stop() {
605
- var _a, _b;
606
- (_a = context.fallbackInterceptor) == null ? void 0 : _a.dispose();
607
- printStopMessage({ quiet: (_b = context.startOptions) == null ? void 0 : _b.quiet });
537
+ context.fallbackInterceptor?.dispose();
538
+ printStopMessage({ quiet: context.startOptions?.quiet });
608
539
  };
609
540
  }
610
541
 
@@ -629,10 +560,12 @@ function supportsReadableStreamTransfer() {
629
560
 
630
561
  // src/browser/setupWorker/setupWorker.ts
631
562
  var SetupWorkerApi = class extends import_SetupApi.SetupApi {
563
+ context;
564
+ startHandler = null;
565
+ stopHandler = null;
566
+ listeners;
632
567
  constructor(...handlers) {
633
568
  super(...handlers);
634
- this.startHandler = null;
635
- this.stopHandler = null;
636
569
  (0, import_outvariant.invariant)(
637
570
  !(0, import_is_node_process.isNodeProcess)(),
638
571
  import_devUtils9.devUtils.formatMessage(
@@ -668,8 +601,7 @@ var SetupWorkerApi = class extends import_SetupApi.SetupApi {
668
601
  });
669
602
  },
670
603
  send: (type) => {
671
- var _a;
672
- (_a = this.context.worker) == null ? void 0 : _a.postMessage(type);
604
+ this.context.worker?.postMessage(type);
673
605
  }
674
606
  },
675
607
  events: {
@@ -734,14 +666,17 @@ var SetupWorkerApi = class extends import_SetupApi.SetupApi {
734
666
  this.stopHandler = context.supports.serviceWorkerApi ? createFallbackStop(context) : createStop(context);
735
667
  return context;
736
668
  }
737
- start() {
738
- return __async(this, arguments, function* (options = {}) {
739
- this.context.startOptions = (0, import_mergeRight2.mergeRight)(
740
- DEFAULT_START_OPTIONS,
741
- options
669
+ async start(options = {}) {
670
+ if (options.waitUntilReady === true) {
671
+ import_devUtils9.devUtils.warn(
672
+ 'The "waitUntilReady" option has been deprecated. Please remove it from this "worker.start()" call. Follow the recommended Browser integration (https://mswjs.io/docs/integrations/browser) to eliminate any race conditions between the Service Worker registration and any requests made by your application on initial render.'
742
673
  );
743
- return yield this.startHandler(this.context.startOptions, options);
744
- });
674
+ }
675
+ this.context.startOptions = (0, import_mergeRight2.mergeRight)(
676
+ DEFAULT_START_OPTIONS,
677
+ options
678
+ );
679
+ return await this.startHandler(this.context.startOptions, options);
745
680
  }
746
681
  stop() {
747
682
  super.dispose();