@zimic/interceptor 0.14.0-canary.23 → 0.14.0-canary.25

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/cli.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../package.json","../src/cli/browser/shared/constants.ts","../src/cli/browser/init.ts","../src/utils/processes.ts","../src/cli/server/start.ts","../src/cli/cli.ts","../src/cli/index.ts"],"names":["exitEvent","yargs"],"mappings":"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","file":"cli.mjs","sourcesContent":["{\n \"name\": \"@zimic/interceptor\",\n \"description\": \"TypeScript-first HTTP request mocking and interceptor\",\n \"keywords\": [\n \"zimic\",\n \"typescript\",\n \"types\",\n \"typegen\",\n \"validation\",\n \"inference\",\n \"http\",\n \"interceptor\",\n \"mock\",\n \"api\",\n \"static\"\n ],\n \"version\": \"0.14.0-canary.23\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/zimicjs/zimic.git\",\n \"directory\": \"packages/zimic-interceptor\"\n },\n \"author\": {\n \"name\": \"Diego Aquino\",\n \"url\": \"https://github.com/diego-aquino\"\n },\n \"private\": false,\n \"publishConfig\": {\n \"access\": \"public\",\n \"provenance\": true\n },\n \"engines\": {\n \"node\": \">=18.13.0\"\n },\n \"license\": \"MIT\",\n \"files\": [\n \"package.json\",\n \"README.md\",\n \"LICENSE.md\",\n \"src\",\n \"!src/**/tests\",\n \"!src/**/__tests__\",\n \"!src/**/*.test.ts\",\n \"dist\",\n \"index.d.ts\",\n \"http.d.ts\",\n \"server.d.ts\"\n ],\n \"main\": \"./dist/index.js\",\n \"module\": \"./dist/index.mjs\",\n \"types\": \"index.d.ts\",\n \"bin\": {\n \"zimic-interceptor\": \"./dist/cli.js\"\n },\n \"exports\": {\n \".\": {\n \"types\": \"./index.d.ts\",\n \"import\": \"./dist/index.mjs\",\n \"require\": \"./dist/index.js\",\n \"default\": \"./dist/index.js\"\n },\n \"./http\": {\n \"types\": \"./http.d.ts\",\n \"import\": \"./dist/http.mjs\",\n \"require\": \"./dist/http.js\",\n \"default\": \"./dist/http.js\"\n },\n \"./server\": {\n \"types\": \"./server.d.ts\",\n \"import\": \"./dist/server.mjs\",\n \"require\": \"./dist/server.js\",\n \"default\": \"./dist/server.js\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"scripts\": {\n \"dev\": \"tsup --watch\",\n \"cli\": \"node ./dist/cli.js\",\n \"build\": \"tsup\",\n \"lint\": \"eslint --cache --no-error-on-unmatched-pattern --no-warn-ignored --fix\",\n \"lint:turbo\": \"pnpm lint . --max-warnings 0\",\n \"style\": \"prettier --log-level warn --ignore-unknown --no-error-on-unmatched-pattern --cache\",\n \"style:check\": \"pnpm style --check\",\n \"style:format\": \"pnpm style --write\",\n \"test\": \"dotenv -v NODE_ENV=test -- vitest\",\n \"test:turbo\": \"dotenv -v CI=true -- pnpm run test run --coverage\",\n \"types:check\": \"tsc --noEmit\",\n \"deps:install-playwright\": \"playwright install chromium\",\n \"deps:init-msw\": \"msw init ./public --no-save\",\n \"deps:init\": \"pnpm deps:install-playwright && pnpm deps:init-msw\",\n \"postinstall\": \"node -e \\\"try{require('./dist/scripts/postinstall')}catch(error){console.error(error)}\\\"\",\n \"prepublish:patch-relative-paths\": \"sed -E -i 's/\\\\]\\\\(\\\\.\\\\/([^\\\\)]+)\\\\)/](..\\\\/..\\\\/\\\\1)/g;s/\\\"\\\\.\\\\/([^\\\"]+)\\\"/\\\"..\\\\/..\\\\/\\\\1\\\"/g'\",\n \"prepublishOnly\": \"cp ../../README.md ../../LICENSE.md . && pnpm prepublish:patch-relative-paths README.md\"\n },\n \"dependencies\": {\n \"@whatwg-node/server\": \"0.9.68\",\n \"chalk\": \"4.1.2\",\n \"execa\": \"9.5.2\",\n \"isomorphic-ws\": \"5.0.0\",\n \"msw\": \"2.7.1\",\n \"ws\": \"8.18.1\",\n \"yargs\": \"17.7.2\"\n },\n \"optionalDependencies\": {\n \"bufferutil\": \"4.0.9\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.13.5\",\n \"@types/ws\": \"^8.5.14\",\n \"@types/yargs\": \"^17.0.33\",\n \"@vitest/browser\": \"^3.0.6\",\n \"@vitest/coverage-istanbul\": \"^3.0.6\",\n \"@zimic/eslint-config-node\": \"workspace:*\",\n \"@zimic/lint-staged-config\": \"workspace:*\",\n \"@zimic/tsconfig\": \"workspace:*\",\n \"@zimic/utils\": \"workspace:*\",\n \"dotenv-cli\": \"^8.0.0\",\n \"eslint\": \"^9.21.0\",\n \"playwright\": \"^1.50.1\",\n \"tsup\": \"^8.3.6\",\n \"typescript\": \"^5.7.3\",\n \"vitest\": \"^3.0.6\"\n },\n \"peerDependencies\": {\n \"@zimic/http\": \"^0.1.0 || ^0.1.0-canary.0\",\n \"typescript\": \">=4.8.0\"\n },\n \"peerDependenciesMeta\": {\n \"typescript\": {\n \"optional\": true\n }\n }\n}\n","export const SERVICE_WORKER_FILE_NAME = 'mockServiceWorker.js';\n","import chalk from 'chalk';\nimport filesystem from 'fs/promises';\nimport path from 'path';\n\nimport { logWithPrefix } from '@/utils/console';\n\nimport { SERVICE_WORKER_FILE_NAME } from './shared/constants';\n\nconst MSW_ROOT_PATH = path.join(require.resolve('msw'), '..', '..', '..');\nexport const MOCK_SERVICE_WORKER_PATH = path.join(MSW_ROOT_PATH, 'lib', SERVICE_WORKER_FILE_NAME);\n\ninterface BrowserServiceWorkerInitOptions {\n publicDirectory: string;\n}\n\nasync function initializeBrowserServiceWorker({ publicDirectory }: BrowserServiceWorkerInitOptions) {\n const absolutePublicDirectory = path.resolve(publicDirectory);\n await filesystem.mkdir(absolutePublicDirectory, { recursive: true });\n\n const destinationPath = path.join(absolutePublicDirectory, SERVICE_WORKER_FILE_NAME);\n await filesystem.copyFile(MOCK_SERVICE_WORKER_PATH, destinationPath);\n\n logWithPrefix(`Service worker script saved to ${chalk.green(destinationPath)}!`);\n logWithPrefix('You can now use browser interceptors!');\n}\n\nexport default initializeBrowserServiceWorker;\n","import createCachedDynamicImport from '@zimic/utils/import/createCachedDynamicImport';\n\nexport const PROCESS_EXIT_EVENTS = Object.freeze([\n 'beforeExit',\n 'uncaughtExceptionMonitor',\n 'SIGINT',\n 'SIGTERM',\n 'SIGHUP',\n 'SIGBREAK',\n] as const);\n\nexport type ProcessExitEvent = (typeof PROCESS_EXIT_EVENTS)[number];\n\n// Having an undefined exit code means that the process will already exit with the default exit code.\nexport const PROCESS_EXIT_CODE_BY_EXIT_EVENT: Record<string, number | undefined> = {\n beforeExit: undefined,\n uncaughtExceptionMonitor: undefined,\n SIGINT: 130,\n SIGTERM: 143,\n SIGHUP: 129,\n SIGBREAK: 131,\n} satisfies Record<ProcessExitEvent, number | undefined>;\n\nexport const importExeca = createCachedDynamicImport(() => import('execa'));\n\ninterface CommandErrorOptions {\n command?: string[];\n exitCode?: number;\n signal?: NodeJS.Signals;\n originalMessage?: string;\n}\n\nexport class CommandError extends Error {\n static readonly DEFAULT_EXIT_CODE = 1;\n\n readonly command: string[];\n readonly exitCode: number;\n readonly signal?: NodeJS.Signals;\n\n constructor(executable: string, options: CommandErrorOptions) {\n const message = CommandError.createMessage(executable, options);\n super(message);\n\n this.name = 'CommandError';\n this.command = options.command ?? [executable];\n this.exitCode = this.getExitCode(options);\n this.signal = options.signal;\n }\n\n private getExitCode(options: CommandErrorOptions): number {\n const existingExitCode = options.exitCode;\n const exitCodeInferredFromSignal =\n options.signal === undefined ? undefined : PROCESS_EXIT_CODE_BY_EXIT_EVENT[options.signal];\n\n return existingExitCode ?? exitCodeInferredFromSignal ?? CommandError.DEFAULT_EXIT_CODE;\n }\n\n private static createMessage(command: string, options: CommandErrorOptions) {\n const suffix = options.originalMessage ? `: ${options.originalMessage}` : '';\n\n if (options.exitCode === undefined && options.signal === undefined) {\n return `Command '${command}' failed${suffix}`;\n }\n\n const prefix = `Command '${command}' exited `;\n const infix = options.exitCode === undefined ? `after signal ${options.signal}` : `with code ${options.exitCode}`;\n\n return `${prefix}${infix}${suffix}`;\n }\n}\n\nexport async function runCommand(command: string, commandArguments: string[]) {\n const { execa: $, ExecaError } = await importExeca();\n\n try {\n await $(command, commandArguments, { stdio: 'inherit' });\n } catch (error) {\n /* istanbul ignore if -- @preserve\n * This is a safeguard if the error is not an ExecaError. It is not expected to run. */\n if (!(error instanceof ExecaError)) {\n throw error;\n }\n\n const commandError = new CommandError(command, {\n command: [command, ...commandArguments],\n exitCode: error.exitCode,\n signal: error.signal,\n originalMessage: error.originalMessage,\n });\n\n throw commandError;\n }\n}\n","import { InterceptorServer, interceptorServer } from '@/server';\nimport { InterceptorServerOptions } from '@/server/types/options';\nimport { logWithPrefix } from '@/utils/console';\nimport {\n CommandError,\n PROCESS_EXIT_CODE_BY_EXIT_EVENT,\n PROCESS_EXIT_EVENTS,\n ProcessExitEvent,\n runCommand,\n} from '@/utils/processes';\n\ninterface InterceptorServerStartOptions extends InterceptorServerOptions {\n ephemeral: boolean;\n onReady?: {\n command: string;\n arguments: string[];\n };\n}\n\nexport let serverSingleton: InterceptorServer | undefined;\n\nasync function startInterceptorServer({\n hostname,\n port,\n ephemeral,\n logUnhandledRequests,\n onReady,\n}: InterceptorServerStartOptions) {\n const server = interceptorServer.create({\n hostname,\n port,\n logUnhandledRequests,\n });\n\n async function handleExitEvent(exitEvent: ProcessExitEvent | undefined) {\n await server.stop();\n\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n for (const { exitEvent, exitHandler } of exitHandlerGroups) {\n process.off(exitEvent, exitHandler);\n }\n\n const exitCode = exitEvent ? PROCESS_EXIT_CODE_BY_EXIT_EVENT[exitEvent] : undefined;\n if (exitCode !== undefined) {\n process.exit(exitCode);\n }\n }\n\n const exitHandlerGroups = PROCESS_EXIT_EVENTS.map((exitEvent) => ({\n exitEvent,\n exitHandler: handleExitEvent.bind(null, exitEvent),\n }));\n\n for (const { exitEvent, exitHandler } of exitHandlerGroups) {\n process.on(exitEvent, exitHandler);\n }\n\n serverSingleton = server;\n\n await server.start();\n\n logWithPrefix(`${ephemeral ? 'Ephemeral s' : 'S'}erver is running on ${server.httpURL()}`);\n\n if (onReady) {\n try {\n await runCommand(onReady.command, onReady.arguments);\n } catch (error) {\n console.error(error);\n\n /* istanbul ignore if -- @preserve\n * A CommandError is always expected here. */\n if (!(error instanceof CommandError)) {\n throw error;\n }\n\n process.exit(error.exitCode);\n }\n }\n\n if (ephemeral) {\n await handleExitEvent(undefined);\n process.exit(0);\n }\n}\n\nexport default startInterceptorServer;\n","import yargs from 'yargs';\nimport { hideBin } from 'yargs/helpers';\n\nimport { version } from '@@/package.json';\n\nimport initializeBrowserServiceWorker from './browser/init';\nimport startInterceptorServer from './server/start';\n\nasync function runCLI() {\n await yargs(hideBin(process.argv))\n .scriptName('zimic-interceptor')\n .version(version)\n .showHelpOnFail(false)\n .strict()\n\n .command('browser', 'Manage your browser mock configuration', (yargs) =>\n yargs.demandCommand().command(\n 'init <publicDirectory>',\n 'Initialize the browser service worker configuration.',\n (yargs) =>\n yargs.positional('publicDirectory', {\n type: 'string',\n description: 'The path to the public directory of your application.',\n demandOption: true,\n }),\n async (cliArguments) => {\n await initializeBrowserServiceWorker({\n publicDirectory: cliArguments.publicDirectory,\n });\n },\n ),\n )\n\n .command('server', 'Manage interceptor servers', (yargs) =>\n yargs.demandCommand().command(\n 'start [-- onReady]',\n 'Start an interceptor server.',\n (yargs) =>\n yargs\n .positional('onReady', {\n description: 'A command to run when the server is ready to accept connections.',\n type: 'string',\n })\n .option('hostname', {\n type: 'string',\n description: 'The hostname to start the server on.',\n alias: 'h',\n default: 'localhost',\n })\n .option('port', {\n type: 'number',\n description: 'The port to start the server on.',\n alias: 'p',\n })\n .option('ephemeral', {\n type: 'boolean',\n description:\n 'Whether the server should stop automatically after the on-ready command finishes. ' +\n 'If no on-ready command is provided and ephemeral is true, the server will stop immediately after ' +\n 'starting.',\n alias: 'e',\n default: false,\n })\n .option('log-unhandled-requests', {\n type: 'boolean',\n description:\n 'Whether to log a warning when no interceptors were found for the base URL of a request. ' +\n 'If an interceptor was matched, the logging behavior for that base URL is configured in the ' +\n 'interceptor itself.',\n alias: 'l',\n }),\n async (cliArguments) => {\n const onReadyCommand = cliArguments._.at(2)?.toString();\n const onReadyCommandArguments = cliArguments._.slice(3).map((argument) => argument.toString());\n\n await startInterceptorServer({\n hostname: cliArguments.hostname,\n port: cliArguments.port,\n ephemeral: cliArguments.ephemeral,\n logUnhandledRequests: cliArguments.logUnhandledRequests,\n onReady: onReadyCommand\n ? {\n command: onReadyCommand.toString(),\n arguments: onReadyCommandArguments,\n }\n : undefined,\n });\n },\n ),\n )\n\n .parse();\n}\n\nexport default runCLI;\n","#!/usr/bin/env node\nimport runCLI from './cli';\n\nvoid runCLI();\n"]}
1
+ {"version":3,"sources":["../package.json","../src/cli/browser/shared/constants.ts","../src/cli/browser/init.ts","../src/utils/processes.ts","../src/cli/server/start.ts","../src/cli/cli.ts","../src/cli/index.ts"],"names":["exitEvent","yargs"],"mappings":"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","file":"cli.mjs","sourcesContent":["{\n \"name\": \"@zimic/interceptor\",\n \"description\": \"TypeScript-first HTTP request mocking and interceptor\",\n \"keywords\": [\n \"zimic\",\n \"typescript\",\n \"types\",\n \"typegen\",\n \"validation\",\n \"inference\",\n \"http\",\n \"interceptor\",\n \"mock\",\n \"api\",\n \"static\"\n ],\n \"version\": \"0.14.0-canary.25\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/zimicjs/zimic.git\",\n \"directory\": \"packages/zimic-interceptor\"\n },\n \"author\": {\n \"name\": \"Diego Aquino\",\n \"url\": \"https://github.com/diego-aquino\"\n },\n \"private\": false,\n \"publishConfig\": {\n \"access\": \"public\",\n \"provenance\": true\n },\n \"engines\": {\n \"node\": \">=18.13.0\"\n },\n \"license\": \"MIT\",\n \"files\": [\n \"package.json\",\n \"README.md\",\n \"LICENSE.md\",\n \"src\",\n \"!src/**/tests\",\n \"!src/**/__tests__\",\n \"!src/**/*.test.ts\",\n \"dist\",\n \"index.d.ts\",\n \"http.d.ts\",\n \"server.d.ts\"\n ],\n \"main\": \"./dist/index.js\",\n \"module\": \"./dist/index.mjs\",\n \"types\": \"index.d.ts\",\n \"bin\": {\n \"zimic-interceptor\": \"./dist/cli.js\"\n },\n \"exports\": {\n \".\": {\n \"types\": \"./index.d.ts\",\n \"import\": \"./dist/index.mjs\",\n \"require\": \"./dist/index.js\",\n \"default\": \"./dist/index.js\"\n },\n \"./http\": {\n \"types\": \"./http.d.ts\",\n \"import\": \"./dist/http.mjs\",\n \"require\": \"./dist/http.js\",\n \"default\": \"./dist/http.js\"\n },\n \"./server\": {\n \"types\": \"./server.d.ts\",\n \"import\": \"./dist/server.mjs\",\n \"require\": \"./dist/server.js\",\n \"default\": \"./dist/server.js\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"scripts\": {\n \"dev\": \"tsup --watch\",\n \"cli\": \"node ./dist/cli.js\",\n \"build\": \"tsup\",\n \"lint\": \"eslint --cache --no-error-on-unmatched-pattern --no-warn-ignored --fix\",\n \"lint:turbo\": \"pnpm lint . --max-warnings 0\",\n \"style\": \"prettier --log-level warn --ignore-unknown --no-error-on-unmatched-pattern --cache\",\n \"style:check\": \"pnpm style --check\",\n \"style:format\": \"pnpm style --write\",\n \"test\": \"dotenv -v NODE_ENV=test -- vitest\",\n \"test:turbo\": \"dotenv -v CI=true -- pnpm run test run --coverage\",\n \"types:check\": \"tsc --noEmit\",\n \"deps:install-playwright\": \"playwright install chromium\",\n \"deps:init-msw\": \"msw init ./public --no-save\",\n \"deps:init\": \"pnpm deps:install-playwright && pnpm deps:init-msw\",\n \"postinstall\": \"node -e \\\"try{require('./dist/scripts/postinstall')}catch(error){console.error(error)}\\\"\",\n \"prepublish:patch-relative-paths\": \"sed -E -i 's/\\\\]\\\\(\\\\.\\\\/([^\\\\)]+)\\\\)/](..\\\\/..\\\\/\\\\1)/g;s/\\\"\\\\.\\\\/([^\\\"]+)\\\"/\\\"..\\\\/..\\\\/\\\\1\\\"/g'\",\n \"prepublishOnly\": \"cp ../../README.md ../../LICENSE.md . && pnpm prepublish:patch-relative-paths README.md\"\n },\n \"dependencies\": {\n \"@whatwg-node/server\": \"0.9.70\",\n \"chalk\": \"4.1.2\",\n \"execa\": \"9.5.2\",\n \"isomorphic-ws\": \"5.0.0\",\n \"msw\": \"2.7.3\",\n \"ws\": \"8.18.1\",\n \"yargs\": \"17.7.2\"\n },\n \"optionalDependencies\": {\n \"bufferutil\": \"4.0.9\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.13.8\",\n \"@types/ws\": \"^8.5.14\",\n \"@types/yargs\": \"^17.0.33\",\n \"@vitest/browser\": \"^3.0.7\",\n \"@vitest/coverage-istanbul\": \"^3.0.7\",\n \"@zimic/eslint-config-node\": \"workspace:*\",\n \"@zimic/lint-staged-config\": \"workspace:*\",\n \"@zimic/tsconfig\": \"workspace:*\",\n \"@zimic/utils\": \"workspace:*\",\n \"dotenv-cli\": \"^8.0.0\",\n \"eslint\": \"^9.21.0\",\n \"playwright\": \"^1.50.1\",\n \"tsup\": \"^8.4.0\",\n \"typescript\": \"^5.8.2\",\n \"vitest\": \"^3.0.7\"\n },\n \"peerDependencies\": {\n \"@zimic/http\": \"^0.1.0 || ^0.1.0-canary.0\",\n \"typescript\": \">=4.8.0\"\n },\n \"peerDependenciesMeta\": {\n \"typescript\": {\n \"optional\": true\n }\n }\n}\n","export const SERVICE_WORKER_FILE_NAME = 'mockServiceWorker.js';\n","import chalk from 'chalk';\nimport filesystem from 'fs/promises';\nimport path from 'path';\n\nimport { logWithPrefix } from '@/utils/console';\n\nimport { SERVICE_WORKER_FILE_NAME } from './shared/constants';\n\nconst MSW_ROOT_PATH = path.join(require.resolve('msw'), '..', '..', '..');\nexport const MOCK_SERVICE_WORKER_PATH = path.join(MSW_ROOT_PATH, 'lib', SERVICE_WORKER_FILE_NAME);\n\ninterface BrowserServiceWorkerInitOptions {\n publicDirectory: string;\n}\n\nasync function initializeBrowserServiceWorker({ publicDirectory }: BrowserServiceWorkerInitOptions) {\n const absolutePublicDirectory = path.resolve(publicDirectory);\n await filesystem.mkdir(absolutePublicDirectory, { recursive: true });\n\n const destinationPath = path.join(absolutePublicDirectory, SERVICE_WORKER_FILE_NAME);\n await filesystem.copyFile(MOCK_SERVICE_WORKER_PATH, destinationPath);\n\n logWithPrefix(`Service worker script saved to ${chalk.green(destinationPath)}!`);\n logWithPrefix('You can now use browser interceptors!');\n}\n\nexport default initializeBrowserServiceWorker;\n","import createCachedDynamicImport from '@zimic/utils/import/createCachedDynamicImport';\n\nexport const PROCESS_EXIT_EVENTS = Object.freeze([\n 'beforeExit',\n 'uncaughtExceptionMonitor',\n 'SIGINT',\n 'SIGTERM',\n 'SIGHUP',\n 'SIGBREAK',\n] as const);\n\nexport type ProcessExitEvent = (typeof PROCESS_EXIT_EVENTS)[number];\n\n// Having an undefined exit code means that the process will already exit with the default exit code.\nexport const PROCESS_EXIT_CODE_BY_EXIT_EVENT: Record<string, number | undefined> = {\n beforeExit: undefined,\n uncaughtExceptionMonitor: undefined,\n SIGINT: 130,\n SIGTERM: 143,\n SIGHUP: 129,\n SIGBREAK: 131,\n} satisfies Record<ProcessExitEvent, number | undefined>;\n\nexport const importExeca = createCachedDynamicImport(() => import('execa'));\n\ninterface CommandErrorOptions {\n command?: string[];\n exitCode?: number;\n signal?: NodeJS.Signals;\n originalMessage?: string;\n}\n\nexport class CommandError extends Error {\n static readonly DEFAULT_EXIT_CODE = 1;\n\n readonly command: string[];\n readonly exitCode: number;\n readonly signal?: NodeJS.Signals;\n\n constructor(executable: string, options: CommandErrorOptions) {\n const message = CommandError.createMessage(executable, options);\n super(message);\n\n this.name = 'CommandError';\n this.command = options.command ?? [executable];\n this.exitCode = this.getExitCode(options);\n this.signal = options.signal;\n }\n\n private getExitCode(options: CommandErrorOptions): number {\n const existingExitCode = options.exitCode;\n const exitCodeInferredFromSignal =\n options.signal === undefined ? undefined : PROCESS_EXIT_CODE_BY_EXIT_EVENT[options.signal];\n\n return existingExitCode ?? exitCodeInferredFromSignal ?? CommandError.DEFAULT_EXIT_CODE;\n }\n\n private static createMessage(command: string, options: CommandErrorOptions) {\n const suffix = options.originalMessage ? `: ${options.originalMessage}` : '';\n\n if (options.exitCode === undefined && options.signal === undefined) {\n return `Command '${command}' failed${suffix}`;\n }\n\n const prefix = `Command '${command}' exited `;\n const infix = options.exitCode === undefined ? `after signal ${options.signal}` : `with code ${options.exitCode}`;\n\n return `${prefix}${infix}${suffix}`;\n }\n}\n\nexport async function runCommand(command: string, commandArguments: string[]) {\n const { execa: $, ExecaError } = await importExeca();\n\n try {\n await $(command, commandArguments, { stdio: 'inherit' });\n } catch (error) {\n /* istanbul ignore if -- @preserve\n * This is a safeguard if the error is not an ExecaError. It is not expected to run. */\n if (!(error instanceof ExecaError)) {\n throw error;\n }\n\n const commandError = new CommandError(command, {\n command: [command, ...commandArguments],\n exitCode: error.exitCode,\n signal: error.signal,\n originalMessage: error.originalMessage,\n });\n\n throw commandError;\n }\n}\n","import { InterceptorServer, interceptorServer } from '@/server';\nimport { InterceptorServerOptions } from '@/server/types/options';\nimport { logWithPrefix } from '@/utils/console';\nimport {\n CommandError,\n PROCESS_EXIT_CODE_BY_EXIT_EVENT,\n PROCESS_EXIT_EVENTS,\n ProcessExitEvent,\n runCommand,\n} from '@/utils/processes';\n\ninterface InterceptorServerStartOptions extends InterceptorServerOptions {\n ephemeral: boolean;\n onReady?: {\n command: string;\n arguments: string[];\n };\n}\n\nexport let serverSingleton: InterceptorServer | undefined;\n\nasync function startInterceptorServer({\n hostname,\n port,\n ephemeral,\n logUnhandledRequests,\n onReady,\n}: InterceptorServerStartOptions) {\n const server = interceptorServer.create({\n hostname,\n port,\n logUnhandledRequests,\n });\n\n async function handleExitEvent(exitEvent: ProcessExitEvent | undefined) {\n await server.stop();\n\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n for (const { exitEvent, exitHandler } of exitHandlerGroups) {\n process.off(exitEvent, exitHandler);\n }\n\n const exitCode = exitEvent ? PROCESS_EXIT_CODE_BY_EXIT_EVENT[exitEvent] : undefined;\n if (exitCode !== undefined) {\n process.exit(exitCode);\n }\n }\n\n const exitHandlerGroups = PROCESS_EXIT_EVENTS.map((exitEvent) => ({\n exitEvent,\n exitHandler: handleExitEvent.bind(null, exitEvent),\n }));\n\n for (const { exitEvent, exitHandler } of exitHandlerGroups) {\n process.on(exitEvent, exitHandler);\n }\n\n serverSingleton = server;\n\n await server.start();\n\n logWithPrefix(`${ephemeral ? 'Ephemeral s' : 'S'}erver is running on ${server.httpURL()}`);\n\n if (onReady) {\n try {\n await runCommand(onReady.command, onReady.arguments);\n } catch (error) {\n console.error(error);\n\n /* istanbul ignore if -- @preserve\n * A CommandError is always expected here. */\n if (!(error instanceof CommandError)) {\n throw error;\n }\n\n process.exit(error.exitCode);\n }\n }\n\n if (ephemeral) {\n await handleExitEvent(undefined);\n process.exit(0);\n }\n}\n\nexport default startInterceptorServer;\n","import yargs from 'yargs';\nimport { hideBin } from 'yargs/helpers';\n\nimport { version } from '@@/package.json';\n\nimport initializeBrowserServiceWorker from './browser/init';\nimport startInterceptorServer from './server/start';\n\nasync function runCLI() {\n await yargs(hideBin(process.argv))\n .scriptName('zimic-interceptor')\n .version(version)\n .showHelpOnFail(false)\n .strict()\n\n .command('browser', 'Manage your browser mock configuration', (yargs) =>\n yargs.demandCommand().command(\n 'init <publicDirectory>',\n 'Initialize the browser service worker configuration.',\n (yargs) =>\n yargs.positional('publicDirectory', {\n type: 'string',\n description: 'The path to the public directory of your application.',\n demandOption: true,\n }),\n async (cliArguments) => {\n await initializeBrowserServiceWorker({\n publicDirectory: cliArguments.publicDirectory,\n });\n },\n ),\n )\n\n .command('server', 'Manage interceptor servers', (yargs) =>\n yargs.demandCommand().command(\n 'start [-- onReady]',\n 'Start an interceptor server.',\n (yargs) =>\n yargs\n .positional('onReady', {\n description: 'A command to run when the server is ready to accept connections.',\n type: 'string',\n })\n .option('hostname', {\n type: 'string',\n description: 'The hostname to start the server on.',\n alias: 'h',\n default: 'localhost',\n })\n .option('port', {\n type: 'number',\n description: 'The port to start the server on.',\n alias: 'p',\n })\n .option('ephemeral', {\n type: 'boolean',\n description:\n 'Whether the server should stop automatically after the on-ready command finishes. ' +\n 'If no on-ready command is provided and ephemeral is true, the server will stop immediately after ' +\n 'starting.',\n alias: 'e',\n default: false,\n })\n .option('log-unhandled-requests', {\n type: 'boolean',\n description:\n 'Whether to log a warning when no interceptors were found for the base URL of a request. ' +\n 'If an interceptor was matched, the logging behavior for that base URL is configured in the ' +\n 'interceptor itself.',\n alias: 'l',\n }),\n async (cliArguments) => {\n const onReadyCommand = cliArguments._.at(2)?.toString();\n const onReadyCommandArguments = cliArguments._.slice(3).map((argument) => argument.toString());\n\n await startInterceptorServer({\n hostname: cliArguments.hostname,\n port: cliArguments.port,\n ephemeral: cliArguments.ephemeral,\n logUnhandledRequests: cliArguments.logUnhandledRequests,\n onReady: onReadyCommand\n ? {\n command: onReadyCommand.toString(),\n arguments: onReadyCommandArguments,\n }\n : undefined,\n });\n },\n ),\n )\n\n .parse();\n}\n\nexport default runCLI;\n","#!/usr/bin/env node\nimport runCLI from './cli';\n\nvoid runCLI();\n"]}
package/dist/http.d.ts CHANGED
@@ -1,5 +1,17 @@
1
- import { HttpMethodSchema, HttpStatusCode, HttpRequest, HttpHeaders, HttpRequestHeadersSchema, InferPathParams, HttpSearchParams, HttpRequestSearchParamsSchema, HttpRequestBodySchema, HttpResponse, HttpResponseHeadersSchema, HttpResponseBodySchema, HttpResponseSchema, HttpHeadersInit, HttpSchema, HttpBody, HttpSchemaMethod, HttpSchemaPath, HttpHeadersSchema, HttpSearchParamsSchema, HttpFormData, HttpResponseSchemaStatusCode, HttpMethod, LiteralHttpSchemaPathFromNonLiteral } from '@zimic/http';
2
- import { Default, PossiblePromise, ReplaceBy, PartialByKey, IfNever, DeepPartial, Range } from '@zimic/utils/types';
1
+ import { HttpMethodSchema, HttpRequest, HttpHeaders, HttpRequestHeadersSchema, InferPathParams, HttpSearchParams, HttpRequestSearchParamsSchema, HttpRequestBodySchema, HttpStatusCode, HttpResponseSchema, HttpHeadersInit, HttpResponse, HttpResponseHeadersSchema, HttpResponseBodySchema, HttpSchema, HttpBody, HttpSchemaMethod, HttpSchemaPath, HttpHeadersSchema, HttpSearchParamsSchema, HttpFormData, HttpResponseSchemaStatusCode, HttpMethod, LiteralHttpSchemaPathFromNonLiteral } from '@zimic/http';
2
+
3
+ type Default<Type, IfEmpty = never> = [undefined | void] extends [Type] ? IfEmpty : Exclude<Type, undefined | void>;
4
+ type IfNever<Type, Yes, No = Type> = [Type] extends [never] ? Yes : No;
5
+ type PossiblePromise<Type> = Type | PromiseLike<Type>;
6
+ type ReplaceBy<Type, Source, Target> = Type extends Source ? Target : Type;
7
+ type PartialByKey<Type, Key extends keyof Type> = Omit<Type, Key> & Partial<Pick<Type, Key>>;
8
+ type DeepPartial<Type> = Type extends (...parameters: never[]) => unknown ? Type : Type extends (infer ArrayItem)[] ? DeepPartial<ArrayItem>[] : Type extends object ? {
9
+ [Key in keyof Type]?: DeepPartial<Type[Key]>;
10
+ } : Type;
11
+ interface Range<Type> {
12
+ min: Type;
13
+ max: Type;
14
+ }
3
15
 
4
16
  type HttpRequestHandlerResponseWithBody<ResponseSchema extends HttpResponseSchema> = unknown extends ResponseSchema['body'] ? {
5
17
  body?: null;
package/dist/http.js CHANGED
@@ -211,7 +211,7 @@ var NoResponseDefinitionError_default = NoResponseDefinitionError;
211
211
 
212
212
  // ../zimic-utils/dist/chunk-3O5CS47X.mjs
213
213
  function isDefined(value) {
214
- return value !== undefined && value !== null;
214
+ return value !== void 0 && value !== null;
215
215
  }
216
216
  __name(isDefined, "isDefined");
217
217
  __name2(isDefined, "isDefined");
@@ -229,7 +229,7 @@ var isNonEmpty_default = isNonEmpty;
229
229
  function createCachedDynamicImport(importModuleDynamically) {
230
230
  let cachedImportResult;
231
231
  return /* @__PURE__ */ __name2(/* @__PURE__ */ __name(async function importModuleDynamicallyWithCache() {
232
- if (cachedImportResult === undefined) {
232
+ if (cachedImportResult === void 0) {
233
233
  cachedImportResult = await importModuleDynamically();
234
234
  }
235
235
  return cachedImportResult;
@@ -240,12 +240,16 @@ __name2(createCachedDynamicImport, "createCachedDynamicImport");
240
240
  var createCachedDynamicImport_default = createCachedDynamicImport;
241
241
 
242
242
  // src/utils/environment.ts
243
+ function isServerSide() {
244
+ return typeof process !== "undefined" && typeof process.versions !== "undefined";
245
+ }
246
+ __name(isServerSide, "isServerSide");
243
247
  function isClientSide() {
244
- return typeof window !== "undefined";
248
+ return typeof window !== "undefined" && typeof document !== "undefined";
245
249
  }
246
250
  __name(isClientSide, "isClientSide");
247
251
  function isGlobalFileAvailable() {
248
- return globalThis.File !== undefined;
252
+ return globalThis.File !== void 0;
249
253
  }
250
254
  __name(isGlobalFileAvailable, "isGlobalFileAvailable");
251
255
 
@@ -264,7 +268,7 @@ function stringifyJSONToLog(value) {
264
268
  __name(stringifyJSONToLog, "stringifyJSONToLog");
265
269
  function stringifyValueToLog(value, options = {}) {
266
270
  const { fallback = stringifyJSONToLog, includeClassName } = options;
267
- if (value === null || value === undefined || typeof value !== "object") {
271
+ if (value === null || value === void 0 || typeof value !== "object") {
268
272
  return String(value);
269
273
  }
270
274
  if (value instanceof http.HttpHeaders) {
@@ -412,7 +416,7 @@ var TimesDeclarationPointer = class extends Error {
412
416
  }
413
417
  constructor(minNumberOfRequests, maxNumberOfRequests) {
414
418
  super("declared at:");
415
- this.name = `handler.times(${minNumberOfRequests}${maxNumberOfRequests === undefined ? "" : `, ${maxNumberOfRequests}`})`;
419
+ this.name = `handler.times(${minNumberOfRequests}${maxNumberOfRequests === void 0 ? "" : `, ${maxNumberOfRequests}`})`;
416
420
  }
417
421
  };
418
422
  var TimesDeclarationPointer_default = TimesDeclarationPointer;
@@ -489,15 +493,15 @@ var HttpRequestHandlerClient = class {
489
493
  this.limits = {
490
494
  numberOfRequests: DEFAULT_NUMBER_OF_REQUEST_LIMITS
491
495
  };
492
- this.timesDeclarationPointer = undefined;
496
+ this.timesDeclarationPointer = void 0;
493
497
  this.numberOfMatchedRequests = 0;
494
498
  this.unmatchedRequestGroups.length = 0;
495
499
  this.interceptedRequests.length = 0;
496
- this.createResponseDeclaration = undefined;
500
+ this.createResponseDeclaration = void 0;
497
501
  return this;
498
502
  }
499
503
  async matchesRequest(request) {
500
- const hasDeclaredResponse = this.createResponseDeclaration !== undefined;
504
+ const hasDeclaredResponse = this.createResponseDeclaration !== void 0;
501
505
  if (!hasDeclaredResponse) {
502
506
  return false;
503
507
  }
@@ -505,7 +509,7 @@ var HttpRequestHandlerClient = class {
505
509
  if (restrictionsMatch.value) {
506
510
  this.numberOfMatchedRequests++;
507
511
  } else {
508
- const shouldSaveUnmatchedGroup = this.interceptor.shouldSaveRequests() && this.restrictions.length > 0 && this.timesDeclarationPointer !== undefined;
512
+ const shouldSaveUnmatchedGroup = this.interceptor.shouldSaveRequests() && this.restrictions.length > 0 && this.timesDeclarationPointer !== void 0;
509
513
  if (shouldSaveUnmatchedGroup) {
510
514
  this.unmatchedRequestGroups.push({ request, diff: restrictionsMatch.diff });
511
515
  }
@@ -543,7 +547,7 @@ var HttpRequestHandlerClient = class {
543
547
  return { value: true };
544
548
  }
545
549
  matchesRequestHeadersRestrictions(request, restriction) {
546
- if (restriction.headers === undefined) {
550
+ if (restriction.headers === void 0) {
547
551
  return { value: true };
548
552
  }
549
553
  const restrictedHeaders = new http.HttpHeaders(
@@ -556,7 +560,7 @@ var HttpRequestHandlerClient = class {
556
560
  };
557
561
  }
558
562
  matchesRequestSearchParamsRestrictions(request, restriction) {
559
- if (restriction.searchParams === undefined) {
563
+ if (restriction.searchParams === void 0) {
560
564
  return { value: true };
561
565
  }
562
566
  const restrictedSearchParams = new http.HttpSearchParams(
@@ -569,7 +573,7 @@ var HttpRequestHandlerClient = class {
569
573
  };
570
574
  }
571
575
  async matchesRequestBodyRestrictions(request, restriction) {
572
- if (restriction.body === undefined) {
576
+ if (restriction.body === void 0) {
573
577
  return { value: true };
574
578
  }
575
579
  const body = request.body;
@@ -715,12 +719,12 @@ var LocalHttpRequestHandler = class {
715
719
  };
716
720
  var LocalHttpRequestHandler_default = LocalHttpRequestHandler;
717
721
 
718
- // ../zimic-utils/dist/chunk-7MZYQWWC.mjs
722
+ // ../zimic-utils/dist/chunk-RIVHLEFF.mjs
719
723
  var URL_PATH_PARAM_REGEX = /\/:([^/]+)/g;
720
724
  function createRegExpFromURL(url) {
721
725
  URL_PATH_PARAM_REGEX.lastIndex = 0;
722
- const urlWithReplacedPathParams = encodeURI(url).replace(/([.()*?+$\\])/g, "\\$1").replace(URL_PATH_PARAM_REGEX, "/(?<$1>[^/]+)").replace(/(\/+)$/, "(?:/+)?");
723
- return new RegExp(`^${urlWithReplacedPathParams}$`);
726
+ const urlWithReplacedPathParams = encodeURI(url).replace(/([.()*?+$\\])/g, "\\$1").replace(URL_PATH_PARAM_REGEX, "/(?<$1>[^/]+)").replace(/^(\/)|(\/)$/g, "");
727
+ return new RegExp(`^(?:/)?${urlWithReplacedPathParams}(?:/)?$`);
724
728
  }
725
729
  __name(createRegExpFromURL, "createRegExpFromURL");
726
730
  __name2(createRegExpFromURL, "createRegExpFromURL");
@@ -895,7 +899,7 @@ var HttpInterceptorWorker = class _HttpInterceptorWorker {
895
899
  this.stoppingPromise = stoppingResult;
896
900
  await this.stoppingPromise;
897
901
  }
898
- this.stoppingPromise = undefined;
902
+ this.stoppingPromise = void 0;
899
903
  }
900
904
  async logUnhandledRequestIfNecessary(request, strategy) {
901
905
  if (strategy?.log) {
@@ -980,7 +984,7 @@ var HttpInterceptorWorker = class _HttpInterceptorWorker {
980
984
  if (!canHaveBody) {
981
985
  return new Response(null, { headers, status });
982
986
  }
983
- if (typeof declaration.body === "string" || declaration.body === undefined || declaration.body instanceof FormData || declaration.body instanceof URLSearchParams || declaration.body instanceof Blob || declaration.body instanceof ArrayBuffer) {
987
+ if (typeof declaration.body === "string" || declaration.body === void 0 || declaration.body instanceof FormData || declaration.body instanceof URLSearchParams || declaration.body instanceof Blob || declaration.body instanceof ArrayBuffer) {
984
988
  return new Response(declaration.body ?? null, { headers, status });
985
989
  }
986
990
  return Response.json(declaration.body, { headers, status });
@@ -1007,7 +1011,7 @@ var HttpInterceptorWorker = class _HttpInterceptorWorker {
1007
1011
  },
1008
1012
  get(target, property) {
1009
1013
  if (_HttpInterceptorWorker.isHiddenRequestProperty(property)) {
1010
- return undefined;
1014
+ return void 0;
1011
1015
  }
1012
1016
  return Reflect.get(target, property, target);
1013
1017
  }
@@ -1061,7 +1065,7 @@ var HttpInterceptorWorker = class _HttpInterceptorWorker {
1061
1065
  },
1062
1066
  get(target, property) {
1063
1067
  if (_HttpInterceptorWorker.isHiddenResponseProperty(property)) {
1064
- return undefined;
1068
+ return void 0;
1065
1069
  }
1066
1070
  return Reflect.get(target, property, target);
1067
1071
  }
@@ -1308,10 +1312,10 @@ var LocalHttpInterceptorWorker = class extends HttpInterceptorWorker_default {
1308
1312
  return this._internalWorker;
1309
1313
  }
1310
1314
  createInternalWorker() {
1311
- if (typeof mswNode__namespace.setupServer !== "undefined") {
1315
+ if (isServerSide() && "setupServer" in mswNode__namespace) {
1312
1316
  return mswNode__namespace.setupServer(this.defaultHttpHandler);
1313
1317
  }
1314
- if (typeof mswBrowser__namespace.setupWorker !== "undefined") {
1318
+ if (isClientSide() && "setupWorker" in mswBrowser__namespace) {
1315
1319
  return mswBrowser__namespace.setupWorker(this.defaultHttpHandler);
1316
1320
  }
1317
1321
  throw new UnknownHttpInterceptorPlatformError_default();
@@ -1357,7 +1361,7 @@ var LocalHttpInterceptorWorker = class extends HttpInterceptorWorker_default {
1357
1361
  this.stopInNode(internalWorker);
1358
1362
  }
1359
1363
  this.clearHandlers();
1360
- this._internalWorker = undefined;
1364
+ this._internalWorker = void 0;
1361
1365
  super.setIsRunning(false);
1362
1366
  });
1363
1367
  }
@@ -1462,7 +1466,7 @@ var RemoteHttpRequestHandler = class {
1462
1466
  }, "has"),
1463
1467
  get: /* @__PURE__ */ __name((target, property) => {
1464
1468
  if (this.isHiddenPropertyWhenSynced(property)) {
1465
- return undefined;
1469
+ return void 0;
1466
1470
  }
1467
1471
  return Reflect.get(target, property);
1468
1472
  }, "get")
@@ -1705,7 +1709,7 @@ var HttpInterceptorClient = class {
1705
1709
  return handler;
1706
1710
  }
1707
1711
  }
1708
- return undefined;
1712
+ return void 0;
1709
1713
  }
1710
1714
  checkTimes() {
1711
1715
  for (const method of http.HTTP_METHODS) {
@@ -2199,7 +2203,7 @@ var WebSocketClient = class extends WebSocketHandler_default {
2199
2203
  validateURLProtocol_default(this.url, SUPPORTED_WEB_SOCKET_PROTOCOLS);
2200
2204
  }
2201
2205
  isRunning() {
2202
- return this.socket !== undefined && this.socket.readyState === this.socket.OPEN;
2206
+ return this.socket !== void 0 && this.socket.readyState === this.socket.OPEN;
2203
2207
  }
2204
2208
  async start() {
2205
2209
  this.socket = new ClientSocket__default.default(this.url);
@@ -2215,7 +2219,7 @@ var WebSocketClient = class extends WebSocketHandler_default {
2215
2219
  const sockets = this.socket ? [this.socket] : [];
2216
2220
  super.abortSocketMessages(sockets);
2217
2221
  await super.closeClientSockets(sockets);
2218
- this.socket = undefined;
2222
+ this.socket = void 0;
2219
2223
  }
2220
2224
  };
2221
2225
  var WebSocketClient_default = WebSocketClient;
@@ -2279,10 +2283,10 @@ var RemoteHttpInterceptorWorker = class extends HttpInterceptorWorker_default {
2279
2283
  return { wasLogged };
2280
2284
  }, "handleUnhandledServerRequest");
2281
2285
  readPlatform() {
2282
- if (typeof mswNode__namespace.setupServer !== "undefined") {
2286
+ if (isServerSide()) {
2283
2287
  return "node";
2284
2288
  }
2285
- if (typeof mswBrowser__namespace.setupWorker !== "undefined") {
2289
+ if (isClientSide()) {
2286
2290
  return "browser";
2287
2291
  }
2288
2292
  throw new UnknownHttpInterceptorPlatformError_default();
@@ -2330,7 +2334,7 @@ var RemoteHttpInterceptorWorker = class extends HttpInterceptorWorker_default {
2330
2334
  }
2331
2335
  this.httpHandlers.clear();
2332
2336
  if (this._webSocketClient.isRunning()) {
2333
- await this._webSocketClient.request("interceptors/workers/use/reset", undefined);
2337
+ await this._webSocketClient.request("interceptors/workers/use/reset", void 0);
2334
2338
  }
2335
2339
  }
2336
2340
  async clearInterceptorHandlers(interceptor) {
@@ -2430,7 +2434,7 @@ var HttpInterceptorStore = class _HttpInterceptorStore {
2430
2434
  return createdWorker;
2431
2435
  }
2432
2436
  clear() {
2433
- this.class._localWorker = undefined;
2437
+ this.class._localWorker = void 0;
2434
2438
  this.class.runningLocalInterceptors.clear();
2435
2439
  this.class.remoteWorkers.clear();
2436
2440
  this.class.runningRemoteInterceptors.clear();