msw 0.42.3 → 0.43.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/README.md +10 -1
- package/lib/iife/index.js +67 -21
- package/lib/iife/index.js.map +1 -1
- package/lib/index.js +65 -19
- package/lib/index.js.map +1 -1
- package/lib/mockServiceWorker.js +162 -133
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -198,6 +198,15 @@ test('handles login exception', () => {
|
|
|
198
198
|
>
|
|
199
199
|
> **Learn more on our [GitHub Sponsors profile](https://github.com/sponsors/mswjs)**.
|
|
200
200
|
|
|
201
|
+
<br />
|
|
202
|
+
|
|
203
|
+
<a href="https://www.github.com/" target="_blank">
|
|
204
|
+
<picture>
|
|
205
|
+
<source media="(prefers-color-scheme: dark)" srcset="media/sponsors/github-light.svg" />
|
|
206
|
+
<img src="media/sponsors/github.svg" alt="GitHub" width="75" />
|
|
207
|
+
</picture>
|
|
208
|
+
</a>
|
|
209
|
+
|
|
201
210
|
### Silver Sponsors
|
|
202
211
|
|
|
203
212
|
> Become our _silver sponsor_ and get your profile image and link featured right here.
|
|
@@ -207,7 +216,7 @@ test('handles login exception', () => {
|
|
|
207
216
|
<br />
|
|
208
217
|
|
|
209
218
|
<a href="https://www.chromatic.com/" target="_blank">
|
|
210
|
-
<img src="media/sponsors/chromatic.svg
|
|
219
|
+
<img src="media/sponsors/chromatic.svg" alt="Chromatic" width="75" />
|
|
211
220
|
</a>
|
|
212
221
|
|
|
213
222
|
### Bronze Sponsors
|
package/lib/iife/index.js
CHANGED
|
@@ -1444,7 +1444,7 @@ var MockServiceWorker = (() => {
|
|
|
1444
1444
|
}(Error);
|
|
1445
1445
|
exports.InvariantError = InvariantError;
|
|
1446
1446
|
function createInvariantWith(ErrorConstructor) {
|
|
1447
|
-
var
|
|
1447
|
+
var invariant4 = function(predicate, message) {
|
|
1448
1448
|
var positionals = [];
|
|
1449
1449
|
for (var _i = 2; _i < arguments.length; _i++) {
|
|
1450
1450
|
positionals[_i - 2] = arguments[_i];
|
|
@@ -1457,7 +1457,7 @@ var MockServiceWorker = (() => {
|
|
|
1457
1457
|
throw error2;
|
|
1458
1458
|
}
|
|
1459
1459
|
};
|
|
1460
|
-
return
|
|
1460
|
+
return invariant4;
|
|
1461
1461
|
}
|
|
1462
1462
|
exports.createInvariantWith = createInvariantWith;
|
|
1463
1463
|
function polymorphicInvariant(ErrorClass) {
|
|
@@ -7382,17 +7382,18 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
|
|
|
7382
7382
|
});
|
|
7383
7383
|
}
|
|
7384
7384
|
|
|
7385
|
-
// src/utils/
|
|
7386
|
-
|
|
7385
|
+
// src/setupWorker/start/utils/createMessageChannel.ts
|
|
7386
|
+
function createMessageChannel(event) {
|
|
7387
7387
|
const port = event.ports[0];
|
|
7388
7388
|
return {
|
|
7389
7389
|
send(message) {
|
|
7390
|
-
if (port) {
|
|
7391
|
-
|
|
7390
|
+
if (!port) {
|
|
7391
|
+
return;
|
|
7392
7392
|
}
|
|
7393
|
+
port.postMessage(message);
|
|
7393
7394
|
}
|
|
7394
7395
|
};
|
|
7395
|
-
}
|
|
7396
|
+
}
|
|
7396
7397
|
|
|
7397
7398
|
// src/utils/NetworkError.ts
|
|
7398
7399
|
var NetworkError = class extends Error {
|
|
@@ -10407,24 +10408,69 @@ Read more: https://mswjs.io/docs/getting-started/mocks`
|
|
|
10407
10408
|
return transformedResponse;
|
|
10408
10409
|
}
|
|
10409
10410
|
|
|
10410
|
-
// src/utils/
|
|
10411
|
+
// src/setupWorker/start/utils/streamResponse.ts
|
|
10412
|
+
var import_outvariant3 = __toESM(require_lib5());
|
|
10413
|
+
async function streamResponse(operationChannel, messageChannel, mockedResponse) {
|
|
10414
|
+
const response2 = new Response(mockedResponse.body, mockedResponse);
|
|
10415
|
+
delete mockedResponse.body;
|
|
10416
|
+
messageChannel.send({
|
|
10417
|
+
type: "MOCK_RESPONSE_START",
|
|
10418
|
+
payload: mockedResponse
|
|
10419
|
+
});
|
|
10420
|
+
(0, import_outvariant3.invariant)(response2.body, "Failed to stream mocked response with no body");
|
|
10421
|
+
const reader = response2.body.getReader();
|
|
10422
|
+
while (true) {
|
|
10423
|
+
const { done, value } = await reader.read();
|
|
10424
|
+
if (!done) {
|
|
10425
|
+
operationChannel.postMessage({
|
|
10426
|
+
type: "MOCK_RESPONSE_CHUNK",
|
|
10427
|
+
payload: value
|
|
10428
|
+
});
|
|
10429
|
+
continue;
|
|
10430
|
+
}
|
|
10431
|
+
operationChannel.postMessage({
|
|
10432
|
+
type: "MOCK_RESPONSE_END"
|
|
10433
|
+
});
|
|
10434
|
+
operationChannel.close();
|
|
10435
|
+
reader.releaseLock();
|
|
10436
|
+
break;
|
|
10437
|
+
}
|
|
10438
|
+
}
|
|
10439
|
+
|
|
10440
|
+
// src/utils/internal/StrictBroadcastChannel.ts
|
|
10441
|
+
var ParentClass = typeof BroadcastChannel == "undefined" ? class UnsupportedEnvironment {
|
|
10442
|
+
constructor() {
|
|
10443
|
+
throw new Error("Cannot construct BroadcastChannel in a non-browser environment");
|
|
10444
|
+
}
|
|
10445
|
+
} : BroadcastChannel;
|
|
10446
|
+
var StrictBroadcastChannel = class extends ParentClass {
|
|
10447
|
+
postMessage(message) {
|
|
10448
|
+
return super.postMessage(message);
|
|
10449
|
+
}
|
|
10450
|
+
};
|
|
10451
|
+
|
|
10452
|
+
// src/setupWorker/start/createRequestListener.ts
|
|
10411
10453
|
var createRequestListener = (context, options) => {
|
|
10412
10454
|
return async (event, message) => {
|
|
10413
|
-
const
|
|
10455
|
+
const messageChannel = createMessageChannel(event);
|
|
10414
10456
|
try {
|
|
10415
10457
|
const request = parseWorkerRequest(message.payload);
|
|
10458
|
+
const operationChannel = new StrictBroadcastChannel(`msw-response-stream-${request.id}`);
|
|
10416
10459
|
await handleRequest(request, context.requestHandlers, options, context.emitter, {
|
|
10417
10460
|
transformResponse,
|
|
10418
10461
|
onPassthroughResponse() {
|
|
10419
|
-
return
|
|
10462
|
+
return messageChannel.send({
|
|
10420
10463
|
type: "MOCK_NOT_FOUND"
|
|
10421
10464
|
});
|
|
10422
10465
|
},
|
|
10423
10466
|
onMockedResponse(response2) {
|
|
10424
|
-
|
|
10425
|
-
|
|
10426
|
-
|
|
10427
|
-
|
|
10467
|
+
if (response2.body == null) {
|
|
10468
|
+
return messageChannel.send({
|
|
10469
|
+
type: "MOCK_RESPONSE",
|
|
10470
|
+
payload: response2
|
|
10471
|
+
});
|
|
10472
|
+
}
|
|
10473
|
+
streamResponse(operationChannel, messageChannel, response2);
|
|
10428
10474
|
},
|
|
10429
10475
|
onMockedResponseSent(response2, { handler, publicRequest, parsedRequest }) {
|
|
10430
10476
|
if (options.quiet) {
|
|
@@ -10435,7 +10481,7 @@ Read more: https://mswjs.io/docs/getting-started/mocks`
|
|
|
10435
10481
|
});
|
|
10436
10482
|
} catch (error2) {
|
|
10437
10483
|
if (error2 instanceof NetworkError) {
|
|
10438
|
-
return
|
|
10484
|
+
return messageChannel.send({
|
|
10439
10485
|
type: "NETWORK_ERROR",
|
|
10440
10486
|
payload: {
|
|
10441
10487
|
name: error2.name,
|
|
@@ -10444,7 +10490,7 @@ Read more: https://mswjs.io/docs/getting-started/mocks`
|
|
|
10444
10490
|
});
|
|
10445
10491
|
}
|
|
10446
10492
|
if (error2 instanceof Error) {
|
|
10447
|
-
|
|
10493
|
+
messageChannel.send({
|
|
10448
10494
|
type: "INTERNAL_ERROR",
|
|
10449
10495
|
payload: {
|
|
10450
10496
|
status: 500,
|
|
@@ -10473,8 +10519,8 @@ Read more: https://mswjs.io/docs/getting-started/mocks`
|
|
|
10473
10519
|
async function requestIntegrityCheck(context, serviceWorker) {
|
|
10474
10520
|
context.workerChannel.send("INTEGRITY_CHECK_REQUEST");
|
|
10475
10521
|
const { payload: actualChecksum } = await context.events.once("INTEGRITY_CHECK_RESPONSE");
|
|
10476
|
-
if (actualChecksum !== "
|
|
10477
|
-
throw new Error(`Currently active Service Worker (${actualChecksum}) is behind the latest published one (${"
|
|
10522
|
+
if (actualChecksum !== "c9450df6e4dc5e45740c3b0b640727a2") {
|
|
10523
|
+
throw new Error(`Currently active Service Worker (${actualChecksum}) is behind the latest published one (${"c9450df6e4dc5e45740c3b0b640727a2"}).`);
|
|
10478
10524
|
}
|
|
10479
10525
|
return serviceWorker;
|
|
10480
10526
|
}
|
|
@@ -10497,7 +10543,7 @@ Read more: https://mswjs.io/docs/getting-started/mocks`
|
|
|
10497
10543
|
};
|
|
10498
10544
|
}
|
|
10499
10545
|
|
|
10500
|
-
// src/
|
|
10546
|
+
// src/setupWorker/start/createResponseListener.ts
|
|
10501
10547
|
function createResponseListener(context) {
|
|
10502
10548
|
return (_, message) => {
|
|
10503
10549
|
var _a;
|
|
@@ -10651,7 +10697,7 @@ If this message still persists after updating, please report an issue: https://g
|
|
|
10651
10697
|
};
|
|
10652
10698
|
}
|
|
10653
10699
|
|
|
10654
|
-
// src/
|
|
10700
|
+
// src/setupWorker/start/createFallbackRequestListener.ts
|
|
10655
10701
|
var import_interceptors = __toESM(require_lib8());
|
|
10656
10702
|
var import_fetch3 = __toESM(require_fetch());
|
|
10657
10703
|
var import_XMLHttpRequest = __toESM(require_XMLHttpRequest());
|
|
@@ -10681,7 +10727,7 @@ If this message still persists after updating, please report an issue: https://g
|
|
|
10681
10727
|
return mockedRequest;
|
|
10682
10728
|
}
|
|
10683
10729
|
|
|
10684
|
-
// src/
|
|
10730
|
+
// src/setupWorker/start/createFallbackRequestListener.ts
|
|
10685
10731
|
function createFallbackRequestListener(context, options) {
|
|
10686
10732
|
const interceptor = new import_interceptors.BatchInterceptor({
|
|
10687
10733
|
name: "fallback",
|