@zimic/interceptor 0.19.1-canary.1 → 0.19.1-canary.3
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/dist/{chunk-6PRFBMY7.mjs → chunk-7BR57OM2.mjs} +3 -3
- package/dist/chunk-7BR57OM2.mjs.map +1 -0
- package/dist/{chunk-3NJLJSD6.js → chunk-QB2A2272.js} +3 -3
- package/dist/chunk-QB2A2272.js.map +1 -0
- package/dist/cli.js +20 -20
- package/dist/cli.js.map +1 -1
- package/dist/cli.mjs +4 -4
- package/dist/cli.mjs.map +1 -1
- package/dist/http.d.ts +262 -467
- package/dist/http.js +5 -5
- package/dist/http.js.map +1 -1
- package/dist/http.mjs +5 -5
- package/dist/http.mjs.map +1 -1
- package/dist/scripts/postinstall.js +1 -17
- package/dist/scripts/postinstall.js.map +1 -1
- package/dist/scripts/postinstall.mjs +2 -17
- package/dist/scripts/postinstall.mjs.map +1 -1
- package/dist/server.d.ts +14 -15
- package/dist/server.js +6 -6
- package/dist/server.mjs +1 -1
- package/package.json +8 -8
- package/src/cli/server/start.ts +1 -1
- package/src/cli/server/token/create.ts +1 -1
- package/src/http/interceptor/errors/NotRunningHttpInterceptorError.ts +3 -3
- package/src/http/interceptor/errors/RequestSavingSafeLimitExceededError.ts +2 -2
- package/src/http/interceptor/errors/RunningHttpInterceptorError.ts +3 -3
- package/src/http/interceptor/errors/UnknownHttpInterceptorPlatformError.ts +1 -1
- package/src/http/interceptor/factory.ts +1 -9
- package/src/http/interceptor/types/options.ts +32 -132
- package/src/http/interceptor/types/public.ts +153 -236
- package/src/http/interceptor/types/schema.ts +2 -3
- package/src/http/interceptorWorker/HttpInterceptorWorker.ts +1 -1
- package/src/http/interceptorWorker/errors/UnregisteredBrowserServiceWorkerError.ts +2 -2
- package/src/http/requestHandler/errors/DisabledRequestSavingError.ts +2 -2
- package/src/http/requestHandler/errors/TimesCheckError.ts +1 -1
- package/src/http/requestHandler/types/public.ts +60 -73
- package/src/http/requestHandler/types/restrictions.ts +6 -6
- package/src/server/errors/InvalidInterceptorTokenError.ts +1 -1
- package/src/server/errors/InvalidInterceptorTokenFileError.ts +1 -1
- package/src/server/errors/InvalidInterceptorTokenValueError.ts +1 -1
- package/src/server/errors/RunningInterceptorServerError.ts +1 -1
- package/src/server/factory.ts +3 -3
- package/src/server/types/options.ts +2 -3
- package/src/server/types/public.ts +8 -8
- package/dist/chunk-3NJLJSD6.js.map +0 -1
- package/dist/chunk-6PRFBMY7.mjs.map +0 -1
|
@@ -12,7 +12,6 @@ var path__default = /*#__PURE__*/_interopDefault(path);
|
|
|
12
12
|
var MSW_ROOT_DIRECTORY = path__default.default.join(chunkWCQVDF3K_js.__require.resolve("msw"), "..", "..", "..");
|
|
13
13
|
var MSW_PACKAGE_PATH = path__default.default.join(MSW_ROOT_DIRECTORY, "package.json");
|
|
14
14
|
var MSW_CORE_DIRECTORY = path__default.default.join(MSW_ROOT_DIRECTORY, "lib", "core");
|
|
15
|
-
var MSW_BROWSER_DIRECTORY = path__default.default.join(MSW_ROOT_DIRECTORY, "lib", "browser");
|
|
16
15
|
async function patchMSWExports() {
|
|
17
16
|
const mswPackageContentAsString = await fs__default.default.promises.readFile(MSW_PACKAGE_PATH, "utf-8");
|
|
18
17
|
const mswPackageContent = JSON.parse(mswPackageContentAsString);
|
|
@@ -24,20 +23,6 @@ async function patchMSWExports() {
|
|
|
24
23
|
await fs__default.default.promises.writeFile(MSW_PACKAGE_PATH, patchedMSWPackageContentAsString);
|
|
25
24
|
}
|
|
26
25
|
chunkWCQVDF3K_js.__name(patchMSWExports, "patchMSWExports");
|
|
27
|
-
async function patchMSWBrowserEntry() {
|
|
28
|
-
await Promise.all(
|
|
29
|
-
["index.js", "index.mjs"].map(async (indexFileName) => {
|
|
30
|
-
const mswBrowserPath = path__default.default.join(MSW_BROWSER_DIRECTORY, indexFileName);
|
|
31
|
-
const mswBrowserContent = await fs__default.default.promises.readFile(mswBrowserPath, "utf-8");
|
|
32
|
-
const patchedMSWBrowserContent = mswBrowserContent.replace(
|
|
33
|
-
[' if (responseJson.type?.includes("opaque")) {', " return;", " }"].join("\n"),
|
|
34
|
-
[' if (!request || responseJson.type?.includes("opaque")) {', " return;", " }"].join("\n")
|
|
35
|
-
);
|
|
36
|
-
await fs__default.default.promises.writeFile(mswBrowserPath, patchedMSWBrowserContent);
|
|
37
|
-
})
|
|
38
|
-
);
|
|
39
|
-
}
|
|
40
|
-
chunkWCQVDF3K_js.__name(patchMSWBrowserEntry, "patchMSWBrowserEntry");
|
|
41
26
|
async function patchMSWWebSocketBroadcastChannel() {
|
|
42
27
|
await Promise.all(
|
|
43
28
|
["ws.js", "ws.mjs"].map(async (webSocketFileName) => {
|
|
@@ -85,12 +70,11 @@ async function patchMSWWebSocketBroadcastChannel() {
|
|
|
85
70
|
}
|
|
86
71
|
chunkWCQVDF3K_js.__name(patchMSWWebSocketBroadcastChannel, "patchMSWWebSocketBroadcastChannel");
|
|
87
72
|
async function postinstall() {
|
|
88
|
-
await Promise.all([patchMSWExports(),
|
|
73
|
+
await Promise.all([patchMSWExports(), patchMSWWebSocketBroadcastChannel()]);
|
|
89
74
|
}
|
|
90
75
|
chunkWCQVDF3K_js.__name(postinstall, "postinstall");
|
|
91
76
|
var postinstallPromise = postinstall();
|
|
92
77
|
|
|
93
|
-
exports.MSW_BROWSER_DIRECTORY = MSW_BROWSER_DIRECTORY;
|
|
94
78
|
exports.MSW_CORE_DIRECTORY = MSW_CORE_DIRECTORY;
|
|
95
79
|
exports.MSW_PACKAGE_PATH = MSW_PACKAGE_PATH;
|
|
96
80
|
exports.MSW_ROOT_DIRECTORY = MSW_ROOT_DIRECTORY;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../scripts/postinstall.ts"],"names":["path","__require","fs","__name"],"mappings":";;;;;;;;;;;AAQa,IAAA,kBAAA,GAAqBA,sBAAK,IAAK,CAAAC,0BAAA,CAAQ,QAAQ,KAAK,CAAA,EAAG,IAAM,EAAA,IAAA,EAAM,IAAI;AAE7E,IAAM,gBAAmB,GAAAD,qBAAA,CAAK,IAAK,CAAA,kBAAA,EAAoB,cAAc;AAErE,IAAM,kBAAqB,GAAAA,qBAAA,CAAK,IAAK,CAAA,kBAAA,EAAoB,OAAO,MAAM;
|
|
1
|
+
{"version":3,"sources":["../../scripts/postinstall.ts"],"names":["path","__require","fs","__name"],"mappings":";;;;;;;;;;;AAQa,IAAA,kBAAA,GAAqBA,sBAAK,IAAK,CAAAC,0BAAA,CAAQ,QAAQ,KAAK,CAAA,EAAG,IAAM,EAAA,IAAA,EAAM,IAAI;AAE7E,IAAM,gBAAmB,GAAAD,qBAAA,CAAK,IAAK,CAAA,kBAAA,EAAoB,cAAc;AAErE,IAAM,kBAAqB,GAAAA,qBAAA,CAAK,IAAK,CAAA,kBAAA,EAAoB,OAAO,MAAM;AAE7E,eAAe,eAAkB,GAAA;AAC/B,EAAA,MAAM,4BAA4B,MAAME,mBAAA,CAAG,QAAS,CAAA,QAAA,CAAS,kBAAkB,OAAO,CAAA;AACtF,EAAM,MAAA,iBAAA,GAAoB,IAAK,CAAA,KAAA,CAAM,yBAAyB,CAAA;AAE9D,EAAM,MAAA,cAAA,GAAiB,iBAAkB,CAAA,OAAA,CAAQ,WAAW,CAAA;AAK5D,EAAM,MAAA,WAAA,GAAc,iBAAkB,CAAA,OAAA,CAAQ,QAAQ,CAAA;AAKtD,EAAA,cAAA,CAAe,OAAO,WAAY,CAAA,IAAA;AAClC,EAAA,WAAA,CAAY,UAAU,cAAe,CAAA,OAAA;AAErC,EAAA,MAAM,gCAAmC,GAAA,IAAA,CAAK,SAAU,CAAA,iBAAA,EAAmB,MAAM,CAAC,CAAA;AAClF,EAAA,MAAMA,mBAAG,CAAA,QAAA,CAAS,SAAU,CAAA,gBAAA,EAAkB,gCAAgC,CAAA;AAChF;AAnBeC,uBAAA,CAAA,eAAA,EAAA,iBAAA,CAAA;AAsBf,eAAe,iCAAoC,GAAA;AACjD,EAAA,MAAM,OAAQ,CAAA,GAAA;AAAA,IACZ,CAAC,OAAS,EAAA,QAAQ,CAAE,CAAA,GAAA,CAAI,OAAO,iBAAsB,KAAA;AACnD,MAAA,MAAM,gBAAmB,GAAAH,qBAAA,CAAK,IAAK,CAAA,kBAAA,EAAoB,iBAAiB,CAAA;AACxE,MAAA,MAAM,sBAAsB,MAAME,mBAAA,CAAG,QAAS,CAAA,QAAA,CAAS,kBAAkB,OAAO,CAAA;AAEhF,MAAA,MAAM,6BAA6B,mBAChC,CAAA,OAAA;AAAA,QACC;AAAA,UACE,gFAAA;AAAA,UACA,sDAAA;AAAA,UACA,6BAAA;AAAA,UACA;AAAA,SACF,CAAE,KAAK,IAAI,CAAA;AAAA,QACX;AAAA,OAED,CAAA,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,OAEZ,CAAA,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,mBAAG,CAAA,QAAA,CAAS,SAAU,CAAA,gBAAA,EAAkB,0BAA0B,CAAA;AAAA,KACzE;AAAA,GACH;AACF;AAjDeC,uBAAA,CAAA,iCAAA,EAAA,mCAAA,CAAA;AAmDf,eAAe,WAAc,GAAA;AAC3B,EAAA,MAAM,QAAQ,GAAI,CAAA,CAAC,iBAAmB,EAAA,iCAAA,EAAmC,CAAC,CAAA;AAC5E;AAFeA,uBAAA,CAAA,WAAA,EAAA,aAAA,CAAA;AAIR,IAAM,qBAAqB,WAAY","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"]}
|
|
@@ -5,7 +5,6 @@ import path from 'path';
|
|
|
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
7
|
var MSW_CORE_DIRECTORY = path.join(MSW_ROOT_DIRECTORY, "lib", "core");
|
|
8
|
-
var MSW_BROWSER_DIRECTORY = path.join(MSW_ROOT_DIRECTORY, "lib", "browser");
|
|
9
8
|
async function patchMSWExports() {
|
|
10
9
|
const mswPackageContentAsString = await fs.promises.readFile(MSW_PACKAGE_PATH, "utf-8");
|
|
11
10
|
const mswPackageContent = JSON.parse(mswPackageContentAsString);
|
|
@@ -17,20 +16,6 @@ async function patchMSWExports() {
|
|
|
17
16
|
await fs.promises.writeFile(MSW_PACKAGE_PATH, patchedMSWPackageContentAsString);
|
|
18
17
|
}
|
|
19
18
|
__name(patchMSWExports, "patchMSWExports");
|
|
20
|
-
async function patchMSWBrowserEntry() {
|
|
21
|
-
await Promise.all(
|
|
22
|
-
["index.js", "index.mjs"].map(async (indexFileName) => {
|
|
23
|
-
const mswBrowserPath = path.join(MSW_BROWSER_DIRECTORY, indexFileName);
|
|
24
|
-
const mswBrowserContent = await fs.promises.readFile(mswBrowserPath, "utf-8");
|
|
25
|
-
const patchedMSWBrowserContent = mswBrowserContent.replace(
|
|
26
|
-
[' if (responseJson.type?.includes("opaque")) {', " return;", " }"].join("\n"),
|
|
27
|
-
[' if (!request || responseJson.type?.includes("opaque")) {', " return;", " }"].join("\n")
|
|
28
|
-
);
|
|
29
|
-
await fs.promises.writeFile(mswBrowserPath, patchedMSWBrowserContent);
|
|
30
|
-
})
|
|
31
|
-
);
|
|
32
|
-
}
|
|
33
|
-
__name(patchMSWBrowserEntry, "patchMSWBrowserEntry");
|
|
34
19
|
async function patchMSWWebSocketBroadcastChannel() {
|
|
35
20
|
await Promise.all(
|
|
36
21
|
["ws.js", "ws.mjs"].map(async (webSocketFileName) => {
|
|
@@ -78,11 +63,11 @@ async function patchMSWWebSocketBroadcastChannel() {
|
|
|
78
63
|
}
|
|
79
64
|
__name(patchMSWWebSocketBroadcastChannel, "patchMSWWebSocketBroadcastChannel");
|
|
80
65
|
async function postinstall() {
|
|
81
|
-
await Promise.all([patchMSWExports(),
|
|
66
|
+
await Promise.all([patchMSWExports(), patchMSWWebSocketBroadcastChannel()]);
|
|
82
67
|
}
|
|
83
68
|
__name(postinstall, "postinstall");
|
|
84
69
|
var postinstallPromise = postinstall();
|
|
85
70
|
|
|
86
|
-
export {
|
|
71
|
+
export { MSW_CORE_DIRECTORY, MSW_PACKAGE_PATH, MSW_ROOT_DIRECTORY, postinstallPromise };
|
|
87
72
|
//# sourceMappingURL=postinstall.mjs.map
|
|
88
73
|
//# sourceMappingURL=postinstall.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../scripts/postinstall.ts"],"names":[],"mappings":";;;;AAQa,IAAA,kBAAA,GAAqB,KAAK,IAAK,CAAA,SAAA,CAAQ,QAAQ,KAAK,CAAA,EAAG,IAAM,EAAA,IAAA,EAAM,IAAI;AAE7E,IAAM,gBAAmB,GAAA,IAAA,CAAK,IAAK,CAAA,kBAAA,EAAoB,cAAc;AAErE,IAAM,kBAAqB,GAAA,IAAA,CAAK,IAAK,CAAA,kBAAA,EAAoB,OAAO,MAAM;
|
|
1
|
+
{"version":3,"sources":["../../scripts/postinstall.ts"],"names":[],"mappings":";;;;AAQa,IAAA,kBAAA,GAAqB,KAAK,IAAK,CAAA,SAAA,CAAQ,QAAQ,KAAK,CAAA,EAAG,IAAM,EAAA,IAAA,EAAM,IAAI;AAE7E,IAAM,gBAAmB,GAAA,IAAA,CAAK,IAAK,CAAA,kBAAA,EAAoB,cAAc;AAErE,IAAM,kBAAqB,GAAA,IAAA,CAAK,IAAK,CAAA,kBAAA,EAAoB,OAAO,MAAM;AAE7E,eAAe,eAAkB,GAAA;AAC/B,EAAA,MAAM,4BAA4B,MAAM,EAAA,CAAG,QAAS,CAAA,QAAA,CAAS,kBAAkB,OAAO,CAAA;AACtF,EAAM,MAAA,iBAAA,GAAoB,IAAK,CAAA,KAAA,CAAM,yBAAyB,CAAA;AAE9D,EAAM,MAAA,cAAA,GAAiB,iBAAkB,CAAA,OAAA,CAAQ,WAAW,CAAA;AAK5D,EAAM,MAAA,WAAA,GAAc,iBAAkB,CAAA,OAAA,CAAQ,QAAQ,CAAA;AAKtD,EAAA,cAAA,CAAe,OAAO,WAAY,CAAA,IAAA;AAClC,EAAA,WAAA,CAAY,UAAU,cAAe,CAAA,OAAA;AAErC,EAAA,MAAM,gCAAmC,GAAA,IAAA,CAAK,SAAU,CAAA,iBAAA,EAAmB,MAAM,CAAC,CAAA;AAClF,EAAA,MAAM,EAAG,CAAA,QAAA,CAAS,SAAU,CAAA,gBAAA,EAAkB,gCAAgC,CAAA;AAChF;AAnBe,MAAA,CAAA,eAAA,EAAA,iBAAA,CAAA;AAsBf,eAAe,iCAAoC,GAAA;AACjD,EAAA,MAAM,OAAQ,CAAA,GAAA;AAAA,IACZ,CAAC,OAAS,EAAA,QAAQ,CAAE,CAAA,GAAA,CAAI,OAAO,iBAAsB,KAAA;AACnD,MAAA,MAAM,gBAAmB,GAAA,IAAA,CAAK,IAAK,CAAA,kBAAA,EAAoB,iBAAiB,CAAA;AACxE,MAAA,MAAM,sBAAsB,MAAM,EAAA,CAAG,QAAS,CAAA,QAAA,CAAS,kBAAkB,OAAO,CAAA;AAEhF,MAAA,MAAM,6BAA6B,mBAChC,CAAA,OAAA;AAAA,QACC;AAAA,UACE,gFAAA;AAAA,UACA,sDAAA;AAAA,UACA,6BAAA;AAAA,UACA;AAAA,SACF,CAAE,KAAK,IAAI,CAAA;AAAA,QACX;AAAA,OAED,CAAA,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,OAEZ,CAAA,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,EAAG,CAAA,QAAA,CAAS,SAAU,CAAA,gBAAA,EAAkB,0BAA0B,CAAA;AAAA,KACzE;AAAA,GACH;AACF;AAjDe,MAAA,CAAA,iCAAA,EAAA,mCAAA,CAAA;AAmDf,eAAe,WAAc,GAAA;AAC3B,EAAA,MAAM,QAAQ,GAAI,CAAA,CAAC,iBAAmB,EAAA,iCAAA,EAAmC,CAAC,CAAA;AAC5E;AAFe,MAAA,CAAA,WAAA,EAAA,aAAA,CAAA;AAIR,IAAM,qBAAqB,WAAY","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"]}
|
package/dist/server.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* An error thrown when the interceptor server is running and some operation requires it to be stopped first.
|
|
3
3
|
*
|
|
4
|
-
* @see {@link https://
|
|
4
|
+
* @see {@link https://zimic.dev/docs/interceptor/api/interceptor-server `@zimic/interceptor/server` API reference}
|
|
5
5
|
*/
|
|
6
6
|
declare class RunningInterceptorServerError extends Error {
|
|
7
7
|
constructor(additionalMessage: string);
|
|
@@ -13,10 +13,9 @@ declare class NotRunningInterceptorServerError extends Error {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
-
* The options to create an
|
|
17
|
-
* {@link https://github.com/zimicjs/zimic/wiki/cli‐zimic‐server#zimic-server interceptor server}.
|
|
16
|
+
* The options to create an {@link https://zimic.dev/docs/interceptor/cli/server interceptor server}.
|
|
18
17
|
*
|
|
19
|
-
* @see {@link https://
|
|
18
|
+
* @see {@link https://zimic.dev/docs/interceptor/cli/server `zimic-interceptor server` API reference}
|
|
20
19
|
*/
|
|
21
20
|
interface InterceptorServerOptions {
|
|
22
21
|
/**
|
|
@@ -45,30 +44,30 @@ interface InterceptorServerOptions {
|
|
|
45
44
|
|
|
46
45
|
/**
|
|
47
46
|
* A server to intercept and handle requests. It is used in combination with
|
|
48
|
-
* {@link https://
|
|
47
|
+
* {@link https://zimic.dev/docs/interceptor/guides/http/remote-interceptors remote interceptors}.
|
|
49
48
|
*
|
|
50
|
-
* @see {@link https://
|
|
49
|
+
* @see {@link https://zimic.dev/docs/interceptor/cli/server `zimic-interceptor server` API reference}
|
|
51
50
|
*/
|
|
52
51
|
interface InterceptorServer {
|
|
53
52
|
/**
|
|
54
53
|
* The hostname of the server. It can be reassigned to a new value if the server is not running.
|
|
55
54
|
*
|
|
56
55
|
* @throws {RunningInterceptorServerError} When trying to reassign a new hostname with the server still running.
|
|
57
|
-
* @see {@link https://
|
|
56
|
+
* @see {@link https://zimic.dev/docs/interceptor/cli/server `zimic-interceptor server` API reference}
|
|
58
57
|
*/
|
|
59
58
|
hostname: string;
|
|
60
59
|
/**
|
|
61
60
|
* The port of the server. It can be reassigned to a new value if the server is not running.
|
|
62
61
|
*
|
|
63
62
|
* @throws {RunningInterceptorServerError} When trying to reassign a new port with the server still running.
|
|
64
|
-
* @see {@link https://
|
|
63
|
+
* @see {@link https://zimic.dev/docs/interceptor/cli/server `zimic-interceptor server` API reference}
|
|
65
64
|
*/
|
|
66
65
|
port: number | undefined;
|
|
67
66
|
/**
|
|
68
67
|
* Whether to log warnings about unhandled requests to the console.
|
|
69
68
|
*
|
|
70
69
|
* @default true
|
|
71
|
-
* @see {@link https://
|
|
70
|
+
* @see {@link https://zimic.dev/docs/interceptor/cli/server `zimic-interceptor server` API reference}
|
|
72
71
|
*/
|
|
73
72
|
logUnhandledRequests: boolean;
|
|
74
73
|
/**
|
|
@@ -83,7 +82,7 @@ interface InterceptorServer {
|
|
|
83
82
|
* Whether the server is running.
|
|
84
83
|
*
|
|
85
84
|
* @readonly
|
|
86
|
-
* @see {@link https://
|
|
85
|
+
* @see {@link https://zimic.dev/docs/interceptor/cli/server `zimic-interceptor server` API reference}
|
|
87
86
|
*/
|
|
88
87
|
get isRunning(): boolean;
|
|
89
88
|
/**
|
|
@@ -92,13 +91,13 @@ interface InterceptorServer {
|
|
|
92
91
|
* The server is automatically stopped if a process exit event is detected, such as SIGINT, SIGTERM, or an uncaught
|
|
93
92
|
* exception.
|
|
94
93
|
*
|
|
95
|
-
* @see {@link https://
|
|
94
|
+
* @see {@link https://zimic.dev/docs/interceptor/cli/server `zimic-interceptor server` API reference}
|
|
96
95
|
*/
|
|
97
96
|
start: () => Promise<void>;
|
|
98
97
|
/**
|
|
99
98
|
* Stops the server.
|
|
100
99
|
*
|
|
101
|
-
* @see {@link https://
|
|
100
|
+
* @see {@link https://zimic.dev/docs/interceptor/cli/server `zimic-interceptor server` API reference}
|
|
102
101
|
*/
|
|
103
102
|
stop: () => Promise<void>;
|
|
104
103
|
}
|
|
@@ -115,12 +114,12 @@ declare const DEFAULT_ACCESS_CONTROL_HEADERS: Readonly<{
|
|
|
115
114
|
declare const DEFAULT_PREFLIGHT_STATUS_CODE = 204;
|
|
116
115
|
|
|
117
116
|
/**
|
|
118
|
-
* Creates an {@link https://
|
|
117
|
+
* Creates an {@link https://zimic.dev/docs/interceptor/cli/server interceptor server}.
|
|
119
118
|
*
|
|
120
119
|
* @param options The options to create the server.
|
|
121
120
|
* @returns The created server.
|
|
122
|
-
* @see {@link https://
|
|
123
|
-
* @see {@link https://
|
|
121
|
+
* @see {@link https://zimic.dev/docs/interceptor/cli/server-programmatic-usage `zimic-interceptor server` programmatic usage}
|
|
122
|
+
* @see {@link https://zimic.dev/docs/interceptor/guides/http/remote-interceptors Remote HTTP Interceptors} .
|
|
124
123
|
*/
|
|
125
124
|
declare function createInterceptorServer(options?: InterceptorServerOptions): InterceptorServer;
|
|
126
125
|
|
package/dist/server.js
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkQB2A2272_js = require('./chunk-QB2A2272.js');
|
|
4
4
|
require('./chunk-WCQVDF3K.js');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
Object.defineProperty(exports, "DEFAULT_ACCESS_CONTROL_HEADERS", {
|
|
9
9
|
enumerable: true,
|
|
10
|
-
get: function () { return
|
|
10
|
+
get: function () { return chunkQB2A2272_js.DEFAULT_ACCESS_CONTROL_HEADERS; }
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "DEFAULT_PREFLIGHT_STATUS_CODE", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunkQB2A2272_js.DEFAULT_PREFLIGHT_STATUS_CODE; }
|
|
15
15
|
});
|
|
16
16
|
Object.defineProperty(exports, "NotRunningInterceptorServerError", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunkQB2A2272_js.NotRunningInterceptorServerError_default; }
|
|
19
19
|
});
|
|
20
20
|
Object.defineProperty(exports, "RunningInterceptorServerError", {
|
|
21
21
|
enumerable: true,
|
|
22
|
-
get: function () { return
|
|
22
|
+
get: function () { return chunkQB2A2272_js.RunningInterceptorServerError_default; }
|
|
23
23
|
});
|
|
24
24
|
Object.defineProperty(exports, "createInterceptorServer", {
|
|
25
25
|
enumerable: true,
|
|
26
|
-
get: function () { return
|
|
26
|
+
get: function () { return chunkQB2A2272_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-
|
|
1
|
+
export { DEFAULT_ACCESS_CONTROL_HEADERS, DEFAULT_PREFLIGHT_STATUS_CODE, NotRunningInterceptorServerError_default as NotRunningInterceptorServerError, RunningInterceptorServerError_default as RunningInterceptorServerError, createInterceptorServer } from './chunk-7BR57OM2.mjs';
|
|
2
2
|
import './chunk-CGILA3WO.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": "0.19.1-canary.
|
|
17
|
+
"version": "0.19.1-canary.3",
|
|
18
18
|
"repository": {
|
|
19
19
|
"type": "git",
|
|
20
20
|
"url": "https://github.com/zimicjs/zimic.git",
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"@whatwg-node/server": "0.10.10",
|
|
79
79
|
"execa": "9.6.0",
|
|
80
80
|
"isomorphic-ws": "5.0.0",
|
|
81
|
-
"msw": "2.
|
|
81
|
+
"msw": "2.9.0",
|
|
82
82
|
"picocolors": "^1.1.1",
|
|
83
83
|
"ws": "8.18.2",
|
|
84
84
|
"yargs": "17.7.2",
|
|
@@ -91,22 +91,22 @@
|
|
|
91
91
|
"@types/node": "^22.15.3",
|
|
92
92
|
"@types/ws": "^8.18.1",
|
|
93
93
|
"@types/yargs": "^17.0.33",
|
|
94
|
-
"@vitest/browser": "^3.1
|
|
95
|
-
"@vitest/coverage-istanbul": "^3.1
|
|
94
|
+
"@vitest/browser": "^3.2.1",
|
|
95
|
+
"@vitest/coverage-istanbul": "^3.2.1",
|
|
96
96
|
"dotenv-cli": "^8.0.0",
|
|
97
97
|
"eslint": "^9.27.0",
|
|
98
98
|
"playwright": "^1.52.0",
|
|
99
99
|
"tsup": "^8.4.0",
|
|
100
100
|
"typescript": "^5.8.3",
|
|
101
|
-
"vitest": "^3.1
|
|
101
|
+
"vitest": "^3.2.1",
|
|
102
102
|
"@zimic/eslint-config-node": "0.0.0",
|
|
103
|
-
"@zimic/utils": "0.0.0",
|
|
104
103
|
"@zimic/lint-staged-config": "0.0.0",
|
|
105
|
-
"@zimic/tsconfig": "0.0.0"
|
|
104
|
+
"@zimic/tsconfig": "0.0.0",
|
|
105
|
+
"@zimic/utils": "0.0.0"
|
|
106
106
|
},
|
|
107
107
|
"peerDependencies": {
|
|
108
108
|
"typescript": ">=5.0.0",
|
|
109
|
-
"@zimic/http": "^0.5.0 || 0.5.1-canary.
|
|
109
|
+
"@zimic/http": "^0.5.0 || 0.5.1-canary.2"
|
|
110
110
|
},
|
|
111
111
|
"peerDependenciesMeta": {
|
|
112
112
|
"typescript": {
|
package/src/cli/server/start.ts
CHANGED
|
@@ -71,7 +71,7 @@ async function startInterceptorServer({
|
|
|
71
71
|
[
|
|
72
72
|
`Attention: this interceptor server is ${color.bold(color.red('unprotected'))}. Do not expose it publicly without authentication.`,
|
|
73
73
|
'',
|
|
74
|
-
'Learn more: https://
|
|
74
|
+
'Learn more: https://zimic.dev/docs/interceptor/guides/http/remote-interceptors#interceptor-server-authentication',
|
|
75
75
|
].join('\n'),
|
|
76
76
|
);
|
|
77
77
|
}
|
|
@@ -27,7 +27,7 @@ export async function createInterceptorServerToken({
|
|
|
27
27
|
'',
|
|
28
28
|
`${color.dim('$')} zimic-interceptor server start ${color.cyan('--tokens-dir')} ${color.magenta(tokensDirectory)}`,
|
|
29
29
|
'',
|
|
30
|
-
'Learn more: https://
|
|
30
|
+
'Learn more: https://zimic.dev/docs/interceptor/guides/http/remote-interceptors#interceptor-server-authentication',
|
|
31
31
|
].join('\n'),
|
|
32
32
|
);
|
|
33
33
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* An error thrown when the interceptor is not running and it's not possible to use the mocking utilities.
|
|
3
3
|
*
|
|
4
|
-
* @see {@link https://
|
|
5
|
-
* @see {@link https://
|
|
6
|
-
* @see {@link https://
|
|
4
|
+
* @see {@link https://zimic.dev/docs/interceptor/api/http-interceptor#interceptorstart `interceptor.start()` API reference}
|
|
5
|
+
* @see {@link https://zimic.dev/docs/interceptor/api/http-interceptor#interceptorstop `interceptor.stop()` API reference}
|
|
6
|
+
* @see {@link https://zimic.dev/docs/interceptor/api/http-interceptor#interceptorisrunning `interceptor.isRunning` API reference}
|
|
7
7
|
*/
|
|
8
8
|
class NotRunningHttpInterceptorError extends Error {
|
|
9
9
|
constructor() {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Error thrown when the safe limit of saved intercepted requests is exceeded.
|
|
3
3
|
*
|
|
4
|
-
* @see {@link https://
|
|
4
|
+
* @see {@link https://zimic.dev/docs/interceptor/api/create-http-interceptor `createHttpInterceptor` API reference}
|
|
5
5
|
*/
|
|
6
6
|
class RequestSavingSafeLimitExceededError extends TypeError {
|
|
7
7
|
constructor(numberOfSavedRequests: number, safeLimit: number) {
|
|
@@ -13,7 +13,7 @@ class RequestSavingSafeLimitExceededError extends TypeError {
|
|
|
13
13
|
'requests in memory can lead to performance issues.\n\n' +
|
|
14
14
|
'If you do not need to save requests, consider setting `requestSaving.enabled: false` in your ' +
|
|
15
15
|
'interceptor.\n\n' +
|
|
16
|
-
'Learn more: https://
|
|
16
|
+
'Learn more: https://zimic.dev/docs/interceptor/api/create-http-interceptor',
|
|
17
17
|
);
|
|
18
18
|
this.name = 'RequestSavingSafeLimitExceededError';
|
|
19
19
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* An error thrown when the interceptor is running and some operation requires it to be stopped first.
|
|
3
3
|
*
|
|
4
|
-
* @see {@link https://
|
|
5
|
-
* @see {@link https://
|
|
6
|
-
* @see {@link https://
|
|
4
|
+
* @see {@link https://zimic.dev/docs/interceptor/api/http-interceptor#interceptorstart `interceptor.start()` API reference}
|
|
5
|
+
* @see {@link https://zimic.dev/docs/interceptor/api/http-interceptor#interceptorstop `interceptor.stop()` API reference}
|
|
6
|
+
* @see {@link https://zimic.dev/docs/interceptor/api/http-interceptor#interceptorisrunning `interceptor.isRunning` API reference}
|
|
7
7
|
*/
|
|
8
8
|
class RunningHttpInterceptorError extends Error {
|
|
9
9
|
constructor(additionalMessage: string) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* An error thrown when an unknown interceptor platform is detected. Currently, the platforms `node` and `browser` are
|
|
3
3
|
* supported.
|
|
4
4
|
*
|
|
5
|
-
* @see {@link https://
|
|
5
|
+
* @see {@link https://zimic.dev/docs/interceptor/api/http-interceptor#interceptorplatform `interceptor.platform` API reference}
|
|
6
6
|
*/
|
|
7
7
|
class UnknownHttpInterceptorPlatformError extends Error {
|
|
8
8
|
/* istanbul ignore next -- @preserve
|
|
@@ -17,15 +17,7 @@ function isRemoteHttpInterceptorOptions(options: HttpInterceptorOptions): option
|
|
|
17
17
|
return options.type === 'remote';
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
/**
|
|
21
|
-
* Creates an HTTP interceptor.
|
|
22
|
-
*
|
|
23
|
-
* @param options The options for the interceptor.
|
|
24
|
-
* @returns The created HTTP interceptor.
|
|
25
|
-
* @throws {InvalidURLError} If the base URL is invalid.
|
|
26
|
-
* @throws {UnsupportedURLProtocolError} If the base URL protocol is not either `http` or `https`.
|
|
27
|
-
* @see {@link https://github.com/zimicjs/zimic/wiki/api‐zimic‐interceptor‐http#createhttpinterceptoroptions `createHttpInterceptor(options)` API reference}
|
|
28
|
-
*/
|
|
20
|
+
/** @see {@link https://zimic.dev/docs/interceptor/api/create-http-interceptor `createHttpInterceptor()` API reference} */
|
|
29
21
|
export function createHttpInterceptor<Schema extends HttpSchema>(
|
|
30
22
|
options: LocalHttpInterceptorOptions,
|
|
31
23
|
): PublicLocalHttpInterceptor<Schema>;
|