UNPKG

@zimic/interceptor

Version:

Next-gen TypeScript-first HTTP intercepting and mocking

80 lines (75 loc) 3.6 kB
'use strict'; var chunkDGUM43GV_js = require('../chunk-DGUM43GV.js'); var fs = require('fs'); var path = require('path'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var fs__default = /*#__PURE__*/_interopDefault(fs); var path__default = /*#__PURE__*/_interopDefault(path); var MSW_ROOT_DIRECTORY = path__default.default.join(chunkDGUM43GV_js.__require.resolve("msw"), "..", "..", ".."); var MSW_PACKAGE_PATH = path__default.default.join(MSW_ROOT_DIRECTORY, "package.json"); var MSW_CORE_DIRECTORY = path__default.default.join(MSW_ROOT_DIRECTORY, "lib", "core"); async function patchMSWExports() { const mswPackageContentAsString = await fs__default.default.promises.readFile(MSW_PACKAGE_PATH, "utf-8"); const mswPackageContent = JSON.parse(mswPackageContentAsString); const browserExports = mswPackageContent.exports["./browser"]; const nodeExports = mswPackageContent.exports["./node"]; browserExports.node = nodeExports.node; nodeExports.browser = browserExports.browser; const patchedMSWPackageContentAsString = JSON.stringify(mswPackageContent, null, 2); await fs__default.default.promises.writeFile(MSW_PACKAGE_PATH, patchedMSWPackageContentAsString); } async function patchMSWWebSocketBroadcastChannel() { await Promise.all( ["ws.js", "ws.mjs"].map(async (webSocketFileName) => { const mswWebSocketPath = path__default.default.join(MSW_CORE_DIRECTORY, webSocketFileName); const mswWebSocketContent = await fs__default.default.promises.readFile(mswWebSocketPath, "utf-8"); const patchedMSWWebSocketContent = mswWebSocketContent.replace( [ 'const webSocketChannel = new BroadcastChannel("msw:websocket-client-manager");', "if (isBroadcastChannelWithUnref(webSocketChannel)) {", " webSocketChannel.unref();", "}" ].join("\n"), "let webSocketChannel;" ).replace( [ " );", " const clientManager = new import_WebSocketClientManager.WebSocketClientManager(webSocketChannel);" ].join("\n"), [ " );", " if (!webSocketChannel) {", ' webSocketChannel = new BroadcastChannel("msw:websocket-client-manager");', " if (isBroadcastChannelWithUnref(webSocketChannel)) {", " webSocketChannel.unref();", " }", " }", " const clientManager = new import_WebSocketClientManager.WebSocketClientManager(webSocketChannel);" ].join("\n") ).replace( [" );", " const clientManager = new WebSocketClientManager(webSocketChannel);"].join("\n"), [ " );", " if (!webSocketChannel) {", ' webSocketChannel = new BroadcastChannel("msw:websocket-client-manager");', " if (isBroadcastChannelWithUnref(webSocketChannel)) {", " webSocketChannel.unref();", " }", " }", " const clientManager = new WebSocketClientManager(webSocketChannel);" ].join("\n") ); await fs__default.default.promises.writeFile(mswWebSocketPath, patchedMSWWebSocketContent); }) ); } async function postinstall() { await Promise.all([patchMSWExports(), patchMSWWebSocketBroadcastChannel()]); } var postinstallPromise = postinstall(); exports.MSW_CORE_DIRECTORY = MSW_CORE_DIRECTORY; exports.MSW_PACKAGE_PATH = MSW_PACKAGE_PATH; exports.MSW_ROOT_DIRECTORY = MSW_ROOT_DIRECTORY; exports.postinstallPromise = postinstallPromise; //# sourceMappingURL=postinstall.js.map //# sourceMappingURL=postinstall.js.map