@zimic/interceptor 1.3.6-canary.2 → 1.3.6-canary.4

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.
@@ -11,68 +11,22 @@ var path__default = /*#__PURE__*/_interopDefault(path);
11
11
 
12
12
  var MSW_ROOT_DIRECTORY = path__default.default.join(chunkDGUM43GV_js.__require.resolve("msw"), "..", "..", "..");
13
13
  var MSW_PACKAGE_PATH = path__default.default.join(MSW_ROOT_DIRECTORY, "package.json");
14
- var MSW_CORE_DIRECTORY = path__default.default.join(MSW_ROOT_DIRECTORY, "lib", "core");
15
14
  async function patchMSWExports() {
16
15
  const mswPackageContentAsString = await fs__default.default.promises.readFile(MSW_PACKAGE_PATH, "utf-8");
17
16
  const mswPackageContent = JSON.parse(mswPackageContentAsString);
18
- const browserExports = mswPackageContent.exports["./browser"];
19
- const nodeExports = mswPackageContent.exports["./node"];
20
- browserExports.node = nodeExports.node;
21
- nodeExports.browser = browserExports.browser;
17
+ const mswExports = mswPackageContent.exports;
18
+ mswExports["./browser"].node = mswExports["./node"].node;
19
+ mswExports["./node"].browser = mswExports["./browser"].browser;
20
+ const { browser: browserNodeExport, ...nodeExportsWithoutBrowser } = mswExports["./node"];
21
+ mswExports["./node"] = { browser: browserNodeExport, ...nodeExportsWithoutBrowser };
22
22
  const patchedMSWPackageContentAsString = JSON.stringify(mswPackageContent, null, 2);
23
23
  await fs__default.default.promises.writeFile(MSW_PACKAGE_PATH, patchedMSWPackageContentAsString);
24
24
  }
25
- async function patchMSWWebSocketBroadcastChannel() {
26
- await Promise.all(
27
- ["ws.js", "ws.mjs"].map(async (webSocketFileName) => {
28
- const mswWebSocketPath = path__default.default.join(MSW_CORE_DIRECTORY, webSocketFileName);
29
- const mswWebSocketContent = await fs__default.default.promises.readFile(mswWebSocketPath, "utf-8");
30
- const patchedMSWWebSocketContent = mswWebSocketContent.replace(
31
- [
32
- 'const webSocketChannel = new BroadcastChannel("msw:websocket-client-manager");',
33
- "if (isBroadcastChannelWithUnref(webSocketChannel)) {",
34
- " webSocketChannel.unref();",
35
- "}"
36
- ].join("\n"),
37
- "let webSocketChannel;"
38
- ).replace(
39
- [
40
- " );",
41
- " const clientManager = new import_WebSocketClientManager.WebSocketClientManager(webSocketChannel);"
42
- ].join("\n"),
43
- [
44
- " );",
45
- " if (!webSocketChannel) {",
46
- ' webSocketChannel = new BroadcastChannel("msw:websocket-client-manager");',
47
- " if (isBroadcastChannelWithUnref(webSocketChannel)) {",
48
- " webSocketChannel.unref();",
49
- " }",
50
- " }",
51
- " const clientManager = new import_WebSocketClientManager.WebSocketClientManager(webSocketChannel);"
52
- ].join("\n")
53
- ).replace(
54
- [" );", " const clientManager = new WebSocketClientManager(webSocketChannel);"].join("\n"),
55
- [
56
- " );",
57
- " if (!webSocketChannel) {",
58
- ' webSocketChannel = new BroadcastChannel("msw:websocket-client-manager");',
59
- " if (isBroadcastChannelWithUnref(webSocketChannel)) {",
60
- " webSocketChannel.unref();",
61
- " }",
62
- " }",
63
- " const clientManager = new WebSocketClientManager(webSocketChannel);"
64
- ].join("\n")
65
- );
66
- await fs__default.default.promises.writeFile(mswWebSocketPath, patchedMSWWebSocketContent);
67
- })
68
- );
69
- }
70
25
  async function postinstall() {
71
- await Promise.all([patchMSWExports(), patchMSWWebSocketBroadcastChannel()]);
26
+ await patchMSWExports();
72
27
  }
73
28
  var postinstallPromise = postinstall();
74
29
 
75
- exports.MSW_CORE_DIRECTORY = MSW_CORE_DIRECTORY;
76
30
  exports.MSW_PACKAGE_PATH = MSW_PACKAGE_PATH;
77
31
  exports.MSW_ROOT_DIRECTORY = MSW_ROOT_DIRECTORY;
78
32
  exports.postinstallPromise = postinstallPromise;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../scripts/postinstall.ts"],"names":["path","__require","fs"],"mappings":";;;;;;;;;;;AAQO,IAAM,kBAAA,GAAqBA,sBAAK,IAAA,CAAKC,0BAAA,CAAQ,QAAQ,KAAK,CAAA,EAAG,IAAA,EAAM,IAAA,EAAM,IAAI;AAE7E,IAAM,gBAAA,GAAmBD,qBAAA,CAAK,IAAA,CAAK,kBAAA,EAAoB,cAAc;AAErE,IAAM,kBAAA,GAAqBA,qBAAA,CAAK,IAAA,CAAK,kBAAA,EAAoB,OAAO,MAAM;AAE7E,eAAe,eAAA,GAAkB;AAC/B,EAAA,MAAM,4BAA4B,MAAME,mBAAA,CAAG,QAAA,CAAS,QAAA,CAAS,kBAAkB,OAAO,CAAA;AACtF,EAAA,MAAM,iBAAA,GAAoB,IAAA,CAAK,KAAA,CAAM,yBAAyB,CAAA;AAE9D,EAAA,MAAM,cAAA,GAAiB,iBAAA,CAAkB,OAAA,CAAQ,WAAW,CAAA;AAK5D,EAAA,MAAM,WAAA,GAAc,iBAAA,CAAkB,OAAA,CAAQ,QAAQ,CAAA;AAKtD,EAAA,cAAA,CAAe,OAAO,WAAA,CAAY,IAAA;AAClC,EAAA,WAAA,CAAY,UAAU,cAAA,CAAe,OAAA;AAErC,EAAA,MAAM,gCAAA,GAAmC,IAAA,CAAK,SAAA,CAAU,iBAAA,EAAmB,MAAM,CAAC,CAAA;AAClF,EAAA,MAAMA,mBAAA,CAAG,QAAA,CAAS,SAAA,CAAU,gBAAA,EAAkB,gCAAgC,CAAA;AAChF;AAGA,eAAe,iCAAA,GAAoC;AACjD,EAAA,MAAM,OAAA,CAAQ,GAAA;AAAA,IACZ,CAAC,OAAA,EAAS,QAAQ,CAAA,CAAE,GAAA,CAAI,OAAO,iBAAA,KAAsB;AACnD,MAAA,MAAM,gBAAA,GAAmBF,qBAAA,CAAK,IAAA,CAAK,kBAAA,EAAoB,iBAAiB,CAAA;AACxE,MAAA,MAAM,sBAAsB,MAAME,mBAAA,CAAG,QAAA,CAAS,QAAA,CAAS,kBAAkB,OAAO,CAAA;AAEhF,MAAA,MAAM,6BAA6B,mBAAA,CAChC,OAAA;AAAA,QACC;AAAA,UACE,gFAAA;AAAA,UACA,sDAAA;AAAA,UACA,6BAAA;AAAA,UACA;AAAA,SACF,CAAE,KAAK,IAAI,CAAA;AAAA,QACX;AAAA,OACF,CACC,OAAA;AAAA,QACC;AAAA,UACE,MAAA;AAAA,UACA;AAAA,SACF,CAAE,KAAK,IAAI,CAAA;AAAA,QACX;AAAA,UACE,MAAA;AAAA,UACA,4BAAA;AAAA,UACA,8EAAA;AAAA,UACA,0DAAA;AAAA,UACA,iCAAA;AAAA,UACA,OAAA;AAAA,UACA,KAAA;AAAA,UACA;AAAA,SACF,CAAE,KAAK,IAAI;AAAA,OACb,CACC,OAAA;AAAA,QACC,CAAC,MAAA,EAAQ,uEAAuE,CAAA,CAAE,KAAK,IAAI,CAAA;AAAA,QAC3F;AAAA,UACE,MAAA;AAAA,UACA,4BAAA;AAAA,UACA,8EAAA;AAAA,UACA,0DAAA;AAAA,UACA,iCAAA;AAAA,UACA,OAAA;AAAA,UACA,KAAA;AAAA,UACA;AAAA,SACF,CAAE,KAAK,IAAI;AAAA,OACb;AAEF,MAAA,MAAMA,mBAAA,CAAG,QAAA,CAAS,SAAA,CAAU,gBAAA,EAAkB,0BAA0B,CAAA;AAAA,IAC1E,CAAC;AAAA,GACH;AACF;AAEA,eAAe,WAAA,GAAc;AAC3B,EAAA,MAAM,QAAQ,GAAA,CAAI,CAAC,iBAAgB,EAAG,iCAAA,EAAmC,CAAC,CAAA;AAC5E;AAEO,IAAM,qBAAqB,WAAA","file":"postinstall.js","sourcesContent":["import { Override } from '@zimic/utils/types';\nimport fs from 'fs';\nimport type mswPackage from 'msw/package.json';\nimport path from 'path';\n\nexport type MSWPackage = typeof mswPackage;\nexport type MSWExports = MSWPackage['exports'];\n\nexport const MSW_ROOT_DIRECTORY = path.join(require.resolve('msw'), '..', '..', '..');\n\nexport const MSW_PACKAGE_PATH = path.join(MSW_ROOT_DIRECTORY, 'package.json');\n\nexport const MSW_CORE_DIRECTORY = path.join(MSW_ROOT_DIRECTORY, 'lib', 'core');\n\nasync function patchMSWExports() {\n const mswPackageContentAsString = await fs.promises.readFile(MSW_PACKAGE_PATH, 'utf-8');\n const mswPackageContent = JSON.parse(mswPackageContentAsString) as MSWPackage;\n\n const browserExports = mswPackageContent.exports['./browser'] as Override<\n MSWExports['./browser'],\n { node: MSWExports['./node']['node'] | string | null }\n >;\n\n const nodeExports = mswPackageContent.exports['./node'] as Override<\n MSWExports['./node'],\n { browser: MSWExports['./browser']['browser'] | string | null }\n >;\n\n browserExports.node = nodeExports.node;\n nodeExports.browser = browserExports.browser;\n\n const patchedMSWPackageContentAsString = JSON.stringify(mswPackageContent, null, 2);\n await fs.promises.writeFile(MSW_PACKAGE_PATH, patchedMSWPackageContentAsString);\n}\n\n// This is a temporary workaround. Once https://github.com/stackblitz/core/issues/3323 is fixed, we should remove it.\nasync function patchMSWWebSocketBroadcastChannel() {\n await Promise.all(\n ['ws.js', 'ws.mjs'].map(async (webSocketFileName) => {\n const mswWebSocketPath = path.join(MSW_CORE_DIRECTORY, webSocketFileName);\n const mswWebSocketContent = await fs.promises.readFile(mswWebSocketPath, 'utf-8');\n\n const patchedMSWWebSocketContent = mswWebSocketContent\n .replace(\n [\n 'const webSocketChannel = new BroadcastChannel(\"msw:websocket-client-manager\");',\n 'if (isBroadcastChannelWithUnref(webSocketChannel)) {',\n ' webSocketChannel.unref();',\n '}',\n ].join('\\n'),\n 'let webSocketChannel;',\n )\n .replace(\n [\n ' );',\n ' const clientManager = new import_WebSocketClientManager.WebSocketClientManager(webSocketChannel);',\n ].join('\\n'),\n [\n ' );',\n ' if (!webSocketChannel) {',\n ' webSocketChannel = new BroadcastChannel(\"msw:websocket-client-manager\");',\n ' if (isBroadcastChannelWithUnref(webSocketChannel)) {',\n ' webSocketChannel.unref();',\n ' }',\n ' }',\n ' const clientManager = new import_WebSocketClientManager.WebSocketClientManager(webSocketChannel);',\n ].join('\\n'),\n )\n .replace(\n [' );', ' const clientManager = new WebSocketClientManager(webSocketChannel);'].join('\\n'),\n [\n ' );',\n ' if (!webSocketChannel) {',\n ' webSocketChannel = new BroadcastChannel(\"msw:websocket-client-manager\");',\n ' if (isBroadcastChannelWithUnref(webSocketChannel)) {',\n ' webSocketChannel.unref();',\n ' }',\n ' }',\n ' const clientManager = new WebSocketClientManager(webSocketChannel);',\n ].join('\\n'),\n );\n\n await fs.promises.writeFile(mswWebSocketPath, patchedMSWWebSocketContent);\n }),\n );\n}\n\nasync function postinstall() {\n await Promise.all([patchMSWExports(), patchMSWWebSocketBroadcastChannel()]);\n}\n\nexport const postinstallPromise = postinstall();\n"]}
1
+ {"version":3,"sources":["../../scripts/postinstall.ts"],"names":["path","__require","fs"],"mappings":";;;;;;;;;;;AAQO,IAAM,kBAAA,GAAqBA,sBAAK,IAAA,CAAKC,0BAAA,CAAQ,QAAQ,KAAK,CAAA,EAAG,IAAA,EAAM,IAAA,EAAM,IAAI;AAC7E,IAAM,gBAAA,GAAmBD,qBAAA,CAAK,IAAA,CAAK,kBAAA,EAAoB,cAAc;AAE5E,eAAe,eAAA,GAAkB;AAC/B,EAAA,MAAM,4BAA4B,MAAME,mBAAA,CAAG,QAAA,CAAS,QAAA,CAAS,kBAAkB,OAAO,CAAA;AACtF,EAAA,MAAM,iBAAA,GAAoB,IAAA,CAAK,KAAA,CAAM,yBAAyB,CAAA;AAE9D,EAAA,MAAM,aAAa,iBAAA,CAAkB,OAAA;AAKrC,EAAA,UAAA,CAAW,WAAW,CAAA,CAAE,IAAA,GAAO,UAAA,CAAW,QAAQ,CAAA,CAAE,IAAA;AACpD,EAAA,UAAA,CAAW,QAAQ,CAAA,CAAE,OAAA,GAAU,UAAA,CAAW,WAAW,CAAA,CAAE,OAAA;AAGvD,EAAA,MAAM,EAAE,OAAA,EAAS,iBAAA,EAAmB,GAAG,yBAAA,EAA0B,GAAI,WAAW,QAAQ,CAAA;AACxF,EAAA,UAAA,CAAW,QAAQ,CAAA,GAAI,EAAE,OAAA,EAAS,iBAAA,EAAmB,GAAG,yBAAA,EAA0B;AAElF,EAAA,MAAM,gCAAA,GAAmC,IAAA,CAAK,SAAA,CAAU,iBAAA,EAAmB,MAAM,CAAC,CAAA;AAClF,EAAA,MAAMA,mBAAA,CAAG,QAAA,CAAS,SAAA,CAAU,gBAAA,EAAkB,gCAAgC,CAAA;AAChF;AAEA,eAAe,WAAA,GAAc;AAC3B,EAAA,MAAM,eAAA,EAAgB;AACxB;AAEO,IAAM,qBAAqB,WAAA","file":"postinstall.js","sourcesContent":["import { Override } from '@zimic/utils/types';\nimport fs from 'fs';\nimport type mswPackage from 'msw/package.json';\nimport path from 'path';\n\nexport type MSWPackage = typeof mswPackage;\nexport type MSWExports = MSWPackage['exports'];\n\nexport const MSW_ROOT_DIRECTORY = path.join(require.resolve('msw'), '..', '..', '..');\nexport const MSW_PACKAGE_PATH = path.join(MSW_ROOT_DIRECTORY, 'package.json');\n\nasync function patchMSWExports() {\n const mswPackageContentAsString = await fs.promises.readFile(MSW_PACKAGE_PATH, 'utf-8');\n const mswPackageContent = JSON.parse(mswPackageContentAsString) as MSWPackage;\n\n const mswExports = mswPackageContent.exports as {\n './browser': Override<MSWExports['./browser'], { node: MSWExports['./node']['node'] | string | null }>;\n './node': Override<MSWExports['./node'], { browser: MSWExports['./browser']['browser'] | string | null }>;\n };\n\n mswExports['./browser'].node = mswExports['./node'].node;\n mswExports['./node'].browser = mswExports['./browser'].browser;\n\n // To avoid issues with export condition ordering, the browser export must be defined before the node export.\n const { browser: browserNodeExport, ...nodeExportsWithoutBrowser } = mswExports['./node'];\n mswExports['./node'] = { browser: browserNodeExport, ...nodeExportsWithoutBrowser };\n\n const patchedMSWPackageContentAsString = JSON.stringify(mswPackageContent, null, 2);\n await fs.promises.writeFile(MSW_PACKAGE_PATH, patchedMSWPackageContentAsString);\n}\n\nasync function postinstall() {\n await patchMSWExports();\n}\n\nexport const postinstallPromise = postinstall();\n"]}
@@ -4,67 +4,22 @@ import path from 'path';
4
4
 
5
5
  var MSW_ROOT_DIRECTORY = path.join(__require.resolve("msw"), "..", "..", "..");
6
6
  var MSW_PACKAGE_PATH = path.join(MSW_ROOT_DIRECTORY, "package.json");
7
- var MSW_CORE_DIRECTORY = path.join(MSW_ROOT_DIRECTORY, "lib", "core");
8
7
  async function patchMSWExports() {
9
8
  const mswPackageContentAsString = await fs.promises.readFile(MSW_PACKAGE_PATH, "utf-8");
10
9
  const mswPackageContent = JSON.parse(mswPackageContentAsString);
11
- const browserExports = mswPackageContent.exports["./browser"];
12
- const nodeExports = mswPackageContent.exports["./node"];
13
- browserExports.node = nodeExports.node;
14
- nodeExports.browser = browserExports.browser;
10
+ const mswExports = mswPackageContent.exports;
11
+ mswExports["./browser"].node = mswExports["./node"].node;
12
+ mswExports["./node"].browser = mswExports["./browser"].browser;
13
+ const { browser: browserNodeExport, ...nodeExportsWithoutBrowser } = mswExports["./node"];
14
+ mswExports["./node"] = { browser: browserNodeExport, ...nodeExportsWithoutBrowser };
15
15
  const patchedMSWPackageContentAsString = JSON.stringify(mswPackageContent, null, 2);
16
16
  await fs.promises.writeFile(MSW_PACKAGE_PATH, patchedMSWPackageContentAsString);
17
17
  }
18
- async function patchMSWWebSocketBroadcastChannel() {
19
- await Promise.all(
20
- ["ws.js", "ws.mjs"].map(async (webSocketFileName) => {
21
- const mswWebSocketPath = path.join(MSW_CORE_DIRECTORY, webSocketFileName);
22
- const mswWebSocketContent = await fs.promises.readFile(mswWebSocketPath, "utf-8");
23
- const patchedMSWWebSocketContent = mswWebSocketContent.replace(
24
- [
25
- 'const webSocketChannel = new BroadcastChannel("msw:websocket-client-manager");',
26
- "if (isBroadcastChannelWithUnref(webSocketChannel)) {",
27
- " webSocketChannel.unref();",
28
- "}"
29
- ].join("\n"),
30
- "let webSocketChannel;"
31
- ).replace(
32
- [
33
- " );",
34
- " const clientManager = new import_WebSocketClientManager.WebSocketClientManager(webSocketChannel);"
35
- ].join("\n"),
36
- [
37
- " );",
38
- " if (!webSocketChannel) {",
39
- ' webSocketChannel = new BroadcastChannel("msw:websocket-client-manager");',
40
- " if (isBroadcastChannelWithUnref(webSocketChannel)) {",
41
- " webSocketChannel.unref();",
42
- " }",
43
- " }",
44
- " const clientManager = new import_WebSocketClientManager.WebSocketClientManager(webSocketChannel);"
45
- ].join("\n")
46
- ).replace(
47
- [" );", " const clientManager = new WebSocketClientManager(webSocketChannel);"].join("\n"),
48
- [
49
- " );",
50
- " if (!webSocketChannel) {",
51
- ' webSocketChannel = new BroadcastChannel("msw:websocket-client-manager");',
52
- " if (isBroadcastChannelWithUnref(webSocketChannel)) {",
53
- " webSocketChannel.unref();",
54
- " }",
55
- " }",
56
- " const clientManager = new WebSocketClientManager(webSocketChannel);"
57
- ].join("\n")
58
- );
59
- await fs.promises.writeFile(mswWebSocketPath, patchedMSWWebSocketContent);
60
- })
61
- );
62
- }
63
18
  async function postinstall() {
64
- await Promise.all([patchMSWExports(), patchMSWWebSocketBroadcastChannel()]);
19
+ await patchMSWExports();
65
20
  }
66
21
  var postinstallPromise = postinstall();
67
22
 
68
- export { MSW_CORE_DIRECTORY, MSW_PACKAGE_PATH, MSW_ROOT_DIRECTORY, postinstallPromise };
23
+ export { MSW_PACKAGE_PATH, MSW_ROOT_DIRECTORY, postinstallPromise };
69
24
  //# sourceMappingURL=postinstall.mjs.map
70
25
  //# sourceMappingURL=postinstall.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../scripts/postinstall.ts"],"names":[],"mappings":";;;;AAQO,IAAM,kBAAA,GAAqB,KAAK,IAAA,CAAK,SAAA,CAAQ,QAAQ,KAAK,CAAA,EAAG,IAAA,EAAM,IAAA,EAAM,IAAI;AAE7E,IAAM,gBAAA,GAAmB,IAAA,CAAK,IAAA,CAAK,kBAAA,EAAoB,cAAc;AAErE,IAAM,kBAAA,GAAqB,IAAA,CAAK,IAAA,CAAK,kBAAA,EAAoB,OAAO,MAAM;AAE7E,eAAe,eAAA,GAAkB;AAC/B,EAAA,MAAM,4BAA4B,MAAM,EAAA,CAAG,QAAA,CAAS,QAAA,CAAS,kBAAkB,OAAO,CAAA;AACtF,EAAA,MAAM,iBAAA,GAAoB,IAAA,CAAK,KAAA,CAAM,yBAAyB,CAAA;AAE9D,EAAA,MAAM,cAAA,GAAiB,iBAAA,CAAkB,OAAA,CAAQ,WAAW,CAAA;AAK5D,EAAA,MAAM,WAAA,GAAc,iBAAA,CAAkB,OAAA,CAAQ,QAAQ,CAAA;AAKtD,EAAA,cAAA,CAAe,OAAO,WAAA,CAAY,IAAA;AAClC,EAAA,WAAA,CAAY,UAAU,cAAA,CAAe,OAAA;AAErC,EAAA,MAAM,gCAAA,GAAmC,IAAA,CAAK,SAAA,CAAU,iBAAA,EAAmB,MAAM,CAAC,CAAA;AAClF,EAAA,MAAM,EAAA,CAAG,QAAA,CAAS,SAAA,CAAU,gBAAA,EAAkB,gCAAgC,CAAA;AAChF;AAGA,eAAe,iCAAA,GAAoC;AACjD,EAAA,MAAM,OAAA,CAAQ,GAAA;AAAA,IACZ,CAAC,OAAA,EAAS,QAAQ,CAAA,CAAE,GAAA,CAAI,OAAO,iBAAA,KAAsB;AACnD,MAAA,MAAM,gBAAA,GAAmB,IAAA,CAAK,IAAA,CAAK,kBAAA,EAAoB,iBAAiB,CAAA;AACxE,MAAA,MAAM,sBAAsB,MAAM,EAAA,CAAG,QAAA,CAAS,QAAA,CAAS,kBAAkB,OAAO,CAAA;AAEhF,MAAA,MAAM,6BAA6B,mBAAA,CAChC,OAAA;AAAA,QACC;AAAA,UACE,gFAAA;AAAA,UACA,sDAAA;AAAA,UACA,6BAAA;AAAA,UACA;AAAA,SACF,CAAE,KAAK,IAAI,CAAA;AAAA,QACX;AAAA,OACF,CACC,OAAA;AAAA,QACC;AAAA,UACE,MAAA;AAAA,UACA;AAAA,SACF,CAAE,KAAK,IAAI,CAAA;AAAA,QACX;AAAA,UACE,MAAA;AAAA,UACA,4BAAA;AAAA,UACA,8EAAA;AAAA,UACA,0DAAA;AAAA,UACA,iCAAA;AAAA,UACA,OAAA;AAAA,UACA,KAAA;AAAA,UACA;AAAA,SACF,CAAE,KAAK,IAAI;AAAA,OACb,CACC,OAAA;AAAA,QACC,CAAC,MAAA,EAAQ,uEAAuE,CAAA,CAAE,KAAK,IAAI,CAAA;AAAA,QAC3F;AAAA,UACE,MAAA;AAAA,UACA,4BAAA;AAAA,UACA,8EAAA;AAAA,UACA,0DAAA;AAAA,UACA,iCAAA;AAAA,UACA,OAAA;AAAA,UACA,KAAA;AAAA,UACA;AAAA,SACF,CAAE,KAAK,IAAI;AAAA,OACb;AAEF,MAAA,MAAM,EAAA,CAAG,QAAA,CAAS,SAAA,CAAU,gBAAA,EAAkB,0BAA0B,CAAA;AAAA,IAC1E,CAAC;AAAA,GACH;AACF;AAEA,eAAe,WAAA,GAAc;AAC3B,EAAA,MAAM,QAAQ,GAAA,CAAI,CAAC,iBAAgB,EAAG,iCAAA,EAAmC,CAAC,CAAA;AAC5E;AAEO,IAAM,qBAAqB,WAAA","file":"postinstall.mjs","sourcesContent":["import { Override } from '@zimic/utils/types';\nimport fs from 'fs';\nimport type mswPackage from 'msw/package.json';\nimport path from 'path';\n\nexport type MSWPackage = typeof mswPackage;\nexport type MSWExports = MSWPackage['exports'];\n\nexport const MSW_ROOT_DIRECTORY = path.join(require.resolve('msw'), '..', '..', '..');\n\nexport const MSW_PACKAGE_PATH = path.join(MSW_ROOT_DIRECTORY, 'package.json');\n\nexport const MSW_CORE_DIRECTORY = path.join(MSW_ROOT_DIRECTORY, 'lib', 'core');\n\nasync function patchMSWExports() {\n const mswPackageContentAsString = await fs.promises.readFile(MSW_PACKAGE_PATH, 'utf-8');\n const mswPackageContent = JSON.parse(mswPackageContentAsString) as MSWPackage;\n\n const browserExports = mswPackageContent.exports['./browser'] as Override<\n MSWExports['./browser'],\n { node: MSWExports['./node']['node'] | string | null }\n >;\n\n const nodeExports = mswPackageContent.exports['./node'] as Override<\n MSWExports['./node'],\n { browser: MSWExports['./browser']['browser'] | string | null }\n >;\n\n browserExports.node = nodeExports.node;\n nodeExports.browser = browserExports.browser;\n\n const patchedMSWPackageContentAsString = JSON.stringify(mswPackageContent, null, 2);\n await fs.promises.writeFile(MSW_PACKAGE_PATH, patchedMSWPackageContentAsString);\n}\n\n// This is a temporary workaround. Once https://github.com/stackblitz/core/issues/3323 is fixed, we should remove it.\nasync function patchMSWWebSocketBroadcastChannel() {\n await Promise.all(\n ['ws.js', 'ws.mjs'].map(async (webSocketFileName) => {\n const mswWebSocketPath = path.join(MSW_CORE_DIRECTORY, webSocketFileName);\n const mswWebSocketContent = await fs.promises.readFile(mswWebSocketPath, 'utf-8');\n\n const patchedMSWWebSocketContent = mswWebSocketContent\n .replace(\n [\n 'const webSocketChannel = new BroadcastChannel(\"msw:websocket-client-manager\");',\n 'if (isBroadcastChannelWithUnref(webSocketChannel)) {',\n ' webSocketChannel.unref();',\n '}',\n ].join('\\n'),\n 'let webSocketChannel;',\n )\n .replace(\n [\n ' );',\n ' const clientManager = new import_WebSocketClientManager.WebSocketClientManager(webSocketChannel);',\n ].join('\\n'),\n [\n ' );',\n ' if (!webSocketChannel) {',\n ' webSocketChannel = new BroadcastChannel(\"msw:websocket-client-manager\");',\n ' if (isBroadcastChannelWithUnref(webSocketChannel)) {',\n ' webSocketChannel.unref();',\n ' }',\n ' }',\n ' const clientManager = new import_WebSocketClientManager.WebSocketClientManager(webSocketChannel);',\n ].join('\\n'),\n )\n .replace(\n [' );', ' const clientManager = new WebSocketClientManager(webSocketChannel);'].join('\\n'),\n [\n ' );',\n ' if (!webSocketChannel) {',\n ' webSocketChannel = new BroadcastChannel(\"msw:websocket-client-manager\");',\n ' if (isBroadcastChannelWithUnref(webSocketChannel)) {',\n ' webSocketChannel.unref();',\n ' }',\n ' }',\n ' const clientManager = new WebSocketClientManager(webSocketChannel);',\n ].join('\\n'),\n );\n\n await fs.promises.writeFile(mswWebSocketPath, patchedMSWWebSocketContent);\n }),\n );\n}\n\nasync function postinstall() {\n await Promise.all([patchMSWExports(), patchMSWWebSocketBroadcastChannel()]);\n}\n\nexport const postinstallPromise = postinstall();\n"]}
1
+ {"version":3,"sources":["../../scripts/postinstall.ts"],"names":[],"mappings":";;;;AAQO,IAAM,kBAAA,GAAqB,KAAK,IAAA,CAAK,SAAA,CAAQ,QAAQ,KAAK,CAAA,EAAG,IAAA,EAAM,IAAA,EAAM,IAAI;AAC7E,IAAM,gBAAA,GAAmB,IAAA,CAAK,IAAA,CAAK,kBAAA,EAAoB,cAAc;AAE5E,eAAe,eAAA,GAAkB;AAC/B,EAAA,MAAM,4BAA4B,MAAM,EAAA,CAAG,QAAA,CAAS,QAAA,CAAS,kBAAkB,OAAO,CAAA;AACtF,EAAA,MAAM,iBAAA,GAAoB,IAAA,CAAK,KAAA,CAAM,yBAAyB,CAAA;AAE9D,EAAA,MAAM,aAAa,iBAAA,CAAkB,OAAA;AAKrC,EAAA,UAAA,CAAW,WAAW,CAAA,CAAE,IAAA,GAAO,UAAA,CAAW,QAAQ,CAAA,CAAE,IAAA;AACpD,EAAA,UAAA,CAAW,QAAQ,CAAA,CAAE,OAAA,GAAU,UAAA,CAAW,WAAW,CAAA,CAAE,OAAA;AAGvD,EAAA,MAAM,EAAE,OAAA,EAAS,iBAAA,EAAmB,GAAG,yBAAA,EAA0B,GAAI,WAAW,QAAQ,CAAA;AACxF,EAAA,UAAA,CAAW,QAAQ,CAAA,GAAI,EAAE,OAAA,EAAS,iBAAA,EAAmB,GAAG,yBAAA,EAA0B;AAElF,EAAA,MAAM,gCAAA,GAAmC,IAAA,CAAK,SAAA,CAAU,iBAAA,EAAmB,MAAM,CAAC,CAAA;AAClF,EAAA,MAAM,EAAA,CAAG,QAAA,CAAS,SAAA,CAAU,gBAAA,EAAkB,gCAAgC,CAAA;AAChF;AAEA,eAAe,WAAA,GAAc;AAC3B,EAAA,MAAM,eAAA,EAAgB;AACxB;AAEO,IAAM,qBAAqB,WAAA","file":"postinstall.mjs","sourcesContent":["import { Override } from '@zimic/utils/types';\nimport fs from 'fs';\nimport type mswPackage from 'msw/package.json';\nimport path from 'path';\n\nexport type MSWPackage = typeof mswPackage;\nexport type MSWExports = MSWPackage['exports'];\n\nexport const MSW_ROOT_DIRECTORY = path.join(require.resolve('msw'), '..', '..', '..');\nexport const MSW_PACKAGE_PATH = path.join(MSW_ROOT_DIRECTORY, 'package.json');\n\nasync function patchMSWExports() {\n const mswPackageContentAsString = await fs.promises.readFile(MSW_PACKAGE_PATH, 'utf-8');\n const mswPackageContent = JSON.parse(mswPackageContentAsString) as MSWPackage;\n\n const mswExports = mswPackageContent.exports as {\n './browser': Override<MSWExports['./browser'], { node: MSWExports['./node']['node'] | string | null }>;\n './node': Override<MSWExports['./node'], { browser: MSWExports['./browser']['browser'] | string | null }>;\n };\n\n mswExports['./browser'].node = mswExports['./node'].node;\n mswExports['./node'].browser = mswExports['./browser'].browser;\n\n // To avoid issues with export condition ordering, the browser export must be defined before the node export.\n const { browser: browserNodeExport, ...nodeExportsWithoutBrowser } = mswExports['./node'];\n mswExports['./node'] = { browser: browserNodeExport, ...nodeExportsWithoutBrowser };\n\n const patchedMSWPackageContentAsString = JSON.stringify(mswPackageContent, null, 2);\n await fs.promises.writeFile(MSW_PACKAGE_PATH, patchedMSWPackageContentAsString);\n}\n\nasync function postinstall() {\n await patchMSWExports();\n}\n\nexport const postinstallPromise = postinstall();\n"]}
package/dist/server.js CHANGED
@@ -1,29 +1,29 @@
1
1
  'use strict';
2
2
 
3
- var chunk2YIGHTHM_js = require('./chunk-2YIGHTHM.js');
3
+ var chunkSNMNOHD6_js = require('./chunk-SNMNOHD6.js');
4
4
  require('./chunk-DGUM43GV.js');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "DEFAULT_ACCESS_CONTROL_HEADERS", {
9
9
  enumerable: true,
10
- get: function () { return chunk2YIGHTHM_js.DEFAULT_ACCESS_CONTROL_HEADERS; }
10
+ get: function () { return chunkSNMNOHD6_js.DEFAULT_ACCESS_CONTROL_HEADERS; }
11
11
  });
12
12
  Object.defineProperty(exports, "DEFAULT_PREFLIGHT_STATUS_CODE", {
13
13
  enumerable: true,
14
- get: function () { return chunk2YIGHTHM_js.DEFAULT_PREFLIGHT_STATUS_CODE; }
14
+ get: function () { return chunkSNMNOHD6_js.DEFAULT_PREFLIGHT_STATUS_CODE; }
15
15
  });
16
16
  Object.defineProperty(exports, "NotRunningInterceptorServerError", {
17
17
  enumerable: true,
18
- get: function () { return chunk2YIGHTHM_js.NotRunningInterceptorServerError_default; }
18
+ get: function () { return chunkSNMNOHD6_js.NotRunningInterceptorServerError_default; }
19
19
  });
20
20
  Object.defineProperty(exports, "RunningInterceptorServerError", {
21
21
  enumerable: true,
22
- get: function () { return chunk2YIGHTHM_js.RunningInterceptorServerError_default; }
22
+ get: function () { return chunkSNMNOHD6_js.RunningInterceptorServerError_default; }
23
23
  });
24
24
  Object.defineProperty(exports, "createInterceptorServer", {
25
25
  enumerable: true,
26
- get: function () { return chunk2YIGHTHM_js.createInterceptorServer; }
26
+ get: function () { return chunkSNMNOHD6_js.createInterceptorServer; }
27
27
  });
28
28
  //# sourceMappingURL=server.js.map
29
29
  //# sourceMappingURL=server.js.map
package/dist/server.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { DEFAULT_ACCESS_CONTROL_HEADERS, DEFAULT_PREFLIGHT_STATUS_CODE, NotRunningInterceptorServerError_default as NotRunningInterceptorServerError, RunningInterceptorServerError_default as RunningInterceptorServerError, createInterceptorServer } from './chunk-4XT4ZOJ2.mjs';
1
+ export { DEFAULT_ACCESS_CONTROL_HEADERS, DEFAULT_PREFLIGHT_STATUS_CODE, NotRunningInterceptorServerError_default as NotRunningInterceptorServerError, RunningInterceptorServerError_default as RunningInterceptorServerError, createInterceptorServer } from './chunk-WG7EXKWT.mjs';
2
2
  import './chunk-BJTO5JO5.mjs';
3
3
  //# sourceMappingURL=server.mjs.map
4
4
  //# sourceMappingURL=server.mjs.map
package/package.json CHANGED
@@ -14,7 +14,7 @@
14
14
  "api",
15
15
  "static"
16
16
  ],
17
- "version": "1.3.6-canary.2",
17
+ "version": "1.3.6-canary.4",
18
18
  "homepage": "https://zimic.dev/docs/interceptor",
19
19
  "repository": {
20
20
  "type": "git",
@@ -97,7 +97,7 @@
97
97
  "dependencies": {
98
98
  "@whatwg-node/server": "0.10.18",
99
99
  "isomorphic-ws": "5.0.0",
100
- "msw": "2.11.1",
100
+ "msw": "2.13.4",
101
101
  "picocolors": "^1.1.1",
102
102
  "ws": "8.20.0",
103
103
  "yargs": "18.0.0",
@@ -119,7 +119,7 @@
119
119
  "eslint": "^9.39.4",
120
120
  "playwright": "^1.59.1",
121
121
  "tsup": "^8.5.1",
122
- "typescript": "6.0.2",
122
+ "typescript": "6.0.3",
123
123
  "vitest": "^4.1.4"
124
124
  },
125
125
  "peerDependencies": {
@@ -75,6 +75,7 @@ class HttpInterceptorStore {
75
75
 
76
76
  getOrCreateLocalWorker(workerOptions: Omit<LocalHttpInterceptorWorkerOptions, 'type'>) {
77
77
  const existingWorker = this.class._localWorker;
78
+
78
79
  if (existingWorker) {
79
80
  return existingWorker;
80
81
  }
@@ -18,12 +18,8 @@ class LocalHttpInterceptor<Schema extends HttpSchema> implements PublicLocalHttp
18
18
  this.implementation = new HttpInterceptorImplementation<Schema, typeof LocalHttpRequestHandler>({
19
19
  store: this.store,
20
20
  baseURL,
21
- createWorker: () => {
22
- return this.store.getOrCreateLocalWorker({});
23
- },
24
- deleteWorker: () => {
25
- this.store.deleteLocalWorker();
26
- },
21
+ createWorker: () => this.store.getOrCreateLocalWorker({}),
22
+ deleteWorker: () => this.store.deleteLocalWorker(),
27
23
  Handler: LocalHttpRequestHandler,
28
24
  onUnhandledRequest: options.onUnhandledRequest,
29
25
  requestSaving: options.requestSaving,
@@ -87,12 +87,16 @@ abstract class HttpInterceptorWorker {
87
87
  if (!this.isRunning) {
88
88
  return;
89
89
  }
90
+
90
91
  if (this.stoppingPromise) {
91
92
  return this.stoppingPromise;
92
93
  }
93
94
 
94
95
  const stoppingResult = internalStop();
95
96
 
97
+ /* istanbul ignore next -- @preserve
98
+ * This if statement only runs if concurrent calls to stop() are made, which is an edge case that is hard to
99
+ * reliably reproduce in tests. */
96
100
  if (stoppingResult instanceof Promise) {
97
101
  this.stoppingPromise = stoppingResult;
98
102
  await this.stoppingPromise;
@@ -1,8 +1,7 @@
1
1
  import { HttpRequest, HttpResponse, HttpMethod, HttpSchema, HttpHeadersInit, HttpBody } from '@zimic/http';
2
+ import { createCachedDynamicImport } from '@zimic/utils/import';
2
3
  import { createRegexFromPath, excludeNonPathParams, validatePathParams } from '@zimic/utils/url';
3
4
  import { SharedOptions as MSWWorkerSharedOptions, bypass, http, passthrough } from 'msw';
4
- import * as mswBrowser from 'msw/browser';
5
- import * as mswNode from 'msw/node';
6
5
 
7
6
  import { removeArrayIndex } from '@/utils/arrays';
8
7
  import { isClientSide, isServerSide } from '@/utils/environment';
@@ -16,9 +15,12 @@ import { UnhandledRequestStrategy } from '../interceptor/types/options';
16
15
  import UnregisteredBrowserServiceWorkerError from './errors/UnregisteredBrowserServiceWorkerError';
17
16
  import HttpInterceptorWorker from './HttpInterceptorWorker';
18
17
  import { HttpResponseFactory, HttpResponseFactoryContext } from './types/http';
19
- import { BrowserMSWWorker, MSWWorker, NodeMSWWorker } from './types/msw';
18
+ import { BrowserMSWWorker, MSWHttpHandler, MSWWorker, NodeMSWWorker } from './types/msw';
20
19
  import { LocalHttpInterceptorWorkerOptions } from './types/options';
21
20
 
21
+ const importMSWNode = createCachedDynamicImport(() => import('msw/node'));
22
+ const importMSWBrowser = createCachedDynamicImport(() => import('msw/browser'));
23
+
22
24
  interface HttpHandler {
23
25
  baseURL: string;
24
26
  method: HttpMethod;
@@ -28,7 +30,12 @@ interface HttpHandler {
28
30
  }
29
31
 
30
32
  class LocalHttpInterceptorWorker extends HttpInterceptorWorker {
31
- private internalWorker?: MSWWorker;
33
+ // Re-creating MSW workers may cause issues, so we should keep a single worker instance, even if all interceptor
34
+ // workers are stopped. See https://github.com/mswjs/msw/issues/2597.
35
+ private static mswWorker?: MSWWorker;
36
+ static isMSWWorkerRunning = false;
37
+
38
+ private mswHttpHandler?: MSWHttpHandler;
32
39
 
33
40
  private httpHandlersByMethod: {
34
41
  [Method in HttpMethod]: HttpHandler[];
@@ -46,38 +53,50 @@ class LocalHttpInterceptorWorker extends HttpInterceptorWorker {
46
53
  super();
47
54
  }
48
55
 
56
+ get class() {
57
+ return LocalHttpInterceptorWorker;
58
+ }
59
+
49
60
  get type() {
50
61
  return 'local' as const;
51
62
  }
52
63
 
53
- get internalWorkerOrThrow() {
64
+ get mswWorkerOrThrow() {
54
65
  /* istanbul ignore if -- @preserve
55
66
  * Trying to access the internal worker when it does not exist should not happen. */
56
- if (!this.internalWorker) {
67
+ if (!this.class.mswWorker) {
57
68
  throw new NotRunningHttpInterceptorError();
58
69
  }
59
- return this.internalWorker;
70
+ return this.class.mswWorker;
60
71
  }
61
72
 
62
- get internalWorkerOrCreate() {
63
- this.internalWorker ??= this.createInternalWorker();
64
- return this.internalWorker;
73
+ async getMSWWorkerOrCreate() {
74
+ this.class.mswWorker ??= await this.createMSWWorker();
75
+ return this.class.mswWorker;
65
76
  }
66
77
 
67
- private createInternalWorker() {
68
- const mswHttpHandler = http.all('*', async (context) => {
69
- const request = context.request satisfies Request as HttpRequest;
70
- const response = await this.createResponseForRequest(request);
71
- return response;
72
- });
78
+ private async createMSWWorker() {
79
+ if (isServerSide()) {
80
+ const mswNode = await importMSWNode();
73
81
 
74
- if (isServerSide() && 'setupServer' in mswNode) {
75
- return mswNode.setupServer(mswHttpHandler);
82
+ /* istanbul ignore else -- @preserve
83
+ * We still check if we actually imported the server module in case our `isServerSide()` check returns true, but
84
+ * the environment actually resolves the browser module. */
85
+ if ('setupServer' in mswNode) {
86
+ return mswNode.setupServer();
87
+ }
76
88
  }
77
89
 
78
90
  /* istanbul ignore else -- @preserve */
79
- if (isClientSide() && 'setupWorker' in mswBrowser) {
80
- return mswBrowser.setupWorker(mswHttpHandler);
91
+ if (isClientSide()) {
92
+ const mswBrowser = await importMSWBrowser();
93
+
94
+ /* istanbul ignore else -- @preserve
95
+ * We still check if we actually imported the browser module in case our `isClientSide()` check returns true, but
96
+ * the environment actually resolves the server module. */
97
+ if ('setupWorker' in mswBrowser) {
98
+ return mswBrowser.setupWorker();
99
+ }
81
100
  }
82
101
 
83
102
  /* istanbul ignore next -- @preserve
@@ -87,65 +106,85 @@ class LocalHttpInterceptorWorker extends HttpInterceptorWorker {
87
106
 
88
107
  async start() {
89
108
  await super.sharedStart(async () => {
90
- const internalWorker = this.internalWorkerOrCreate;
109
+ const mswWorker = await this.getMSWWorkerOrCreate();
91
110
 
92
111
  const sharedOptions: MSWWorkerSharedOptions = {
93
112
  onUnhandledRequest: 'bypass',
94
113
  };
95
114
 
96
- if (this.isInternalBrowserWorker(internalWorker)) {
115
+ this.mswHttpHandler = http.all('*', async (context) => {
116
+ const request = context.request satisfies Request as HttpRequest;
117
+ const response = await this.createResponseForRequest(request);
118
+ return response;
119
+ });
120
+
121
+ mswWorker.use(this.mswHttpHandler);
122
+
123
+ if (this.isInternalBrowserWorker(mswWorker)) {
97
124
  this.platform = 'browser';
98
- await this.startInBrowser(internalWorker, sharedOptions);
125
+
126
+ // Even after https://github.com/mswjs/msw/issues/2714 was fixed, there are collateral effects preventing us
127
+ // from restarting the global browser worker even if unused. Restarting it causes interception issues in MSW.
128
+ if (!this.class.isMSWWorkerRunning) {
129
+ await this.startInBrowser(mswWorker, sharedOptions);
130
+ this.class.isMSWWorkerRunning = true;
131
+ }
99
132
  } else {
100
133
  this.platform = 'node';
101
- this.startInNode(internalWorker, sharedOptions);
134
+ this.startInNode(mswWorker, sharedOptions);
135
+ this.class.isMSWWorkerRunning = true;
102
136
  }
103
137
 
104
138
  this.isRunning = true;
105
139
  });
106
140
  }
107
141
 
108
- private async startInBrowser(internalWorker: BrowserMSWWorker, sharedOptions: MSWWorkerSharedOptions) {
142
+ private async startInBrowser(mswWorker: BrowserMSWWorker, sharedOptions: MSWWorkerSharedOptions) {
109
143
  try {
110
- await internalWorker.start({ ...sharedOptions, quiet: true });
144
+ await mswWorker.start({ ...sharedOptions, quiet: true });
111
145
  } catch (error) {
112
146
  this.handleBrowserWorkerStartError(error);
113
147
  }
114
148
  }
115
149
 
116
150
  private handleBrowserWorkerStartError(error: unknown) {
151
+ /* istanbul ignore else -- @preserve
152
+ * Since we start the internal worker once and do not stop it, tests may not be able exercise this branch. */
117
153
  if (UnregisteredBrowserServiceWorkerError.matchesRawError(error)) {
118
154
  throw new UnregisteredBrowserServiceWorkerError();
155
+ } else {
156
+ throw error;
119
157
  }
120
- throw error;
121
158
  }
122
159
 
123
- private startInNode(internalWorker: NodeMSWWorker, sharedOptions: MSWWorkerSharedOptions) {
124
- internalWorker.listen(sharedOptions);
160
+ private startInNode(mswWorker: NodeMSWWorker, sharedOptions: MSWWorkerSharedOptions) {
161
+ mswWorker.listen(sharedOptions);
125
162
  }
126
163
 
127
164
  async stop() {
128
- await super.sharedStop(() => {
129
- const internalWorker = this.internalWorkerOrCreate;
165
+ await super.sharedStop(async () => {
166
+ const mswWorker = await this.getMSWWorkerOrCreate();
167
+
168
+ this.clearHandlers();
169
+
170
+ const newMSWHandlers = mswWorker.listHandlers().filter((handler) => handler !== this.mswHttpHandler);
171
+ mswWorker.resetHandlers(...newMSWHandlers);
130
172
 
131
- if (this.isInternalBrowserWorker(internalWorker)) {
132
- this.stopInBrowser(internalWorker);
173
+ if (this.isInternalBrowserWorker(mswWorker)) {
174
+ // Even after https://github.com/mswjs/msw/issues/2714 was fixed, restarting browser workers causes interception
175
+ // issues, so we keep it running and just remove our handlers.
133
176
  } else {
134
- this.stopInNode(internalWorker);
177
+ this.stopInNode(mswWorker);
178
+ this.class.isMSWWorkerRunning = false;
135
179
  }
136
- this.clearHandlers();
137
180
 
138
- this.internalWorker = undefined;
181
+ this.mswHttpHandler = undefined;
139
182
  this.isRunning = false;
140
183
  });
141
184
  }
142
185
 
143
- private stopInBrowser(internalWorker: BrowserMSWWorker) {
144
- internalWorker.stop();
145
- }
146
-
147
- private stopInNode(internalWorker: NodeMSWWorker) {
148
- internalWorker.close();
186
+ private stopInNode(mswWorker: NodeMSWWorker) {
187
+ mswWorker.close();
149
188
  }
150
189
 
151
190
  private isInternalBrowserWorker(worker: MSWWorker) {
@@ -153,7 +192,7 @@ class LocalHttpInterceptorWorker extends HttpInterceptorWorker {
153
192
  }
154
193
 
155
194
  hasInternalBrowserWorker() {
156
- return this.isInternalBrowserWorker(this.internalWorkerOrThrow);
195
+ return this.isInternalBrowserWorker(this.mswWorkerOrThrow);
157
196
  }
158
197
 
159
198
  hasInternalNodeWorker() {
@@ -1,7 +1,7 @@
1
- import type { HttpHandler as MSWHandler } from 'msw';
1
+ import type { HttpHandler as MSWHttpHandler } from 'msw';
2
2
  import type { SetupWorker as BrowserMSWWorker } from 'msw/browser';
3
3
  import type { SetupServer as NodeMSWWorker } from 'msw/node';
4
4
 
5
- export type { MSWHandler, NodeMSWWorker, BrowserMSWWorker };
5
+ export type { MSWHttpHandler, NodeMSWWorker, BrowserMSWWorker };
6
6
 
7
7
  export type MSWWorker = NodeMSWWorker | BrowserMSWWorker;