{"_id":"request-mocking-protocol","_rev":"10-8298e6b8efb65aa3971db999846fe8f0","name":"request-mocking-protocol","dist-tags":{"latest":"0.6.0"},"versions":{"0.1.0":{"name":"request-mocking-protocol","version":"0.1.0","keywords":["mocking","testing","e2e","network","requests"],"license":"MIT","_id":"request-mocking-protocol@0.1.0","maintainers":[{"name":"vitalets","email":"noginsk@rambler.ru"}],"homepage":"https://github.com/vitalets/request-mocking-protocol#readme","bugs":{"url":"https://github.com/vitalets/request-mocking-protocol/issues"},"dist":{"shasum":"5ea5a4f0f74ad13030e5f0fcfea2803fc91d351b","tarball":"https://registry.npmjs.org/request-mocking-protocol/-/request-mocking-protocol-0.1.0.tgz","fileCount":118,"integrity":"sha512-ZzsjeLkawQXEyce3EPPnqoIQo2cR+NkBpSVWKwrY5F1AmABoIoVWl3sZC1ZD1p8Qjf6lDIBTfTnR1lAljiK98w==","signatures":[{"sig":"MEUCIEYPo4WChLtkkqFCv/ObHumoMqBMA0B///rQ0Ee+imXNAiEA1nf2unpZRxVobY7BF/9XLrUNT8VBHU/N+UCyTmtQB3s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134741},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":"./dist/index.js","./msw":"./dist/interceptors/msw.js","./fetch":"./dist/interceptors/fetch.js","./package.json":"./package.json"},"funding":"https://github.com/sponsors/vitalets","gitHead":"4ce900b9691d20ddb200ec61bb8ddb9241fbd0e7","scripts":{"toc":"md-magic --files README.md","tsc":"tsc","lint":"eslint . --no-warn-ignored","test":"vitest run --no-cache --dir ./test","build":"./scripts/build.sh","prepare":"git config core.hooksPath scripts/git-hooks","release":"release-it","prettier":"prettier --check --ignore-unknown .","prettier:w":"prettier --write --ignore-unknown ."},"_npmUser":{"name":"vitalets","email":"noginsk@rambler.ru"},"repository":{"url":"git://github.com/vitalets/request-mocking-protocol.git","type":"git"},"_npmVersion":"10.8.2","description":"A protocol for declarative mocking of HTTP requests","directories":{},"_nodeVersion":"20.18.3","dependencies":{"lodash":"^4.17.21","urlpattern-polyfill":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.7.1","knip":"^5.43.3","eslint":"^9.19.0","vitest":"^3.0.5","globals":"^15.14.0","publint":"^0.3.2","prettier":"^3.4.2","@eslint/js":"^9.19.0","release-it":"^18.1.2","typescript":"5.6","@types/node":"^18.15.0","lint-staged":"^15.4.2","@types/lodash":"^4.17.15","markdown-magic":"3.3.0","@playwright/test":"^1.50.1","typescript-eslint":"^8.21.0","@release-it/keep-a-changelog":"^6.0.0","eslint-plugin-visual-complexity":"0.1.4"},"_npmOperationalInternal":{"tmp":"tmp/request-mocking-protocol_0.1.0_1741342016177_0.44960331847475166","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"request-mocking-protocol","version":"0.1.1","keywords":["mocking","testing","e2e","network","requests"],"license":"MIT","_id":"request-mocking-protocol@0.1.1","maintainers":[{"name":"vitalets","email":"noginsk@rambler.ru"}],"homepage":"https://github.com/vitalets/request-mocking-protocol#readme","bugs":{"url":"https://github.com/vitalets/request-mocking-protocol/issues"},"dist":{"shasum":"0e89079a57a961386e04229b9d85d2e8b653b869","tarball":"https://registry.npmjs.org/request-mocking-protocol/-/request-mocking-protocol-0.1.1.tgz","fileCount":118,"integrity":"sha512-xsuXxruoZRmi+lBacRNKYv8sKz4jU4Fl0mFBtjyTGja2N0PZTfgq1hT2EXCPu4+1tKyvwnFgQWlkLb8eAQERDg==","signatures":[{"sig":"MEUCIB1Q5aJiaKmYBIZM+K2F9FlSgxo8aryF4CPkH8tqWmKoAiEAtvJyRJzRT26YdswqX2jm1Ru5nEnidhh1F/n25uKJWiE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136487},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":"./dist/index.js","./msw":"./dist/interceptors/msw.js","./fetch":"./dist/interceptors/fetch.js","./playwright":"./dist/interceptors/playwright.js","./package.json":"./package.json"},"funding":"https://github.com/sponsors/vitalets","gitHead":"46fface585d76055bf4aeafa43952b109ae32a2c","scripts":{"toc":"md-magic --files README.md","tsc":"tsc","lint":"eslint . --no-warn-ignored","test":"vitest run --no-cache --dir ./test","build":"./scripts/build.sh","prepare":"git config core.hooksPath scripts/git-hooks","release":"release-it","prettier":"prettier --check --ignore-unknown .","prettier:w":"prettier --write --ignore-unknown ."},"_npmUser":{"name":"vitalets","email":"noginsk@rambler.ru"},"repository":{"url":"git://github.com/vitalets/request-mocking-protocol.git","type":"git"},"_npmVersion":"10.8.2","description":"A protocol for declarative mocking of HTTP requests","directories":{},"_nodeVersion":"20.18.3","dependencies":{"lodash":"^4.17.21","urlpattern-polyfill":"^10.0.0"},"typesVersions":{"*":{"msw":["./dist/interceptors/msw.d.ts"],"fetch":["./dist/interceptors/fetch.d.ts"],"playwright":["./dist/interceptors/playwright.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.7.1","knip":"^5.43.3","eslint":"^9.19.0","vitest":"^3.0.5","globals":"^15.14.0","publint":"^0.3.2","prettier":"^3.4.2","@eslint/js":"^9.19.0","release-it":"^18.1.2","typescript":"5.6","@types/node":"^18.15.0","lint-staged":"^15.4.2","@types/lodash":"^4.17.15","markdown-magic":"3.3.0","@playwright/test":"^1.50.1","typescript-eslint":"^8.21.0","@release-it/keep-a-changelog":"^6.0.0","eslint-plugin-visual-complexity":"0.1.4"},"_npmOperationalInternal":{"tmp":"tmp/request-mocking-protocol_0.1.1_1741358599822_0.4332612853042328","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"request-mocking-protocol","version":"0.1.2","keywords":["mocking","testing","e2e","network","requests"],"license":"MIT","_id":"request-mocking-protocol@0.1.2","maintainers":[{"name":"vitalets","email":"noginsk@rambler.ru"}],"homepage":"https://github.com/vitalets/request-mocking-protocol#readme","bugs":{"url":"https://github.com/vitalets/request-mocking-protocol/issues"},"dist":{"shasum":"17e67903f95705138f7e9c9445aaa827c6ca5f56","tarball":"https://registry.npmjs.org/request-mocking-protocol/-/request-mocking-protocol-0.1.2.tgz","fileCount":118,"integrity":"sha512-KJ2a9iy+EA8eeu25AEiElL/Q1AuZPRhBSRAabrtiJ05neb0Z4trT/Y2RBUGZjjGKx+wrEkgga6L/t0hi3i+2Xg==","signatures":[{"sig":"MEYCIQDj6VwuKb7f2QWhDQdX04tnBw6qJ+NohZZG51DDkJEKdQIhAKX7nwKw1o4A7FvGJD3h86+mHGSUqS6aEPpfewqmlwY+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141819},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":"./dist/index.js","./msw":"./dist/interceptors/msw.js","./fetch":"./dist/interceptors/fetch.js","./playwright":"./dist/interceptors/playwright.js","./package.json":"./package.json"},"funding":"https://github.com/sponsors/vitalets","gitHead":"5dbe9dca9159f9e74ba7dd9693e2b0464a65566b","scripts":{"toc":"md-magic --files README.md","tsc":"tsc","lint":"eslint . --no-warn-ignored","test":"vitest run --no-cache --testTimeout 10000 --dir ./test","build":"./scripts/build.sh","prepare":"git config core.hooksPath scripts/git-hooks","release":"release-it","prettier":"prettier --check --ignore-unknown .","prettier:w":"prettier --write --ignore-unknown ."},"_npmUser":{"name":"vitalets","email":"noginsk@rambler.ru"},"repository":{"url":"git://github.com/vitalets/request-mocking-protocol.git","type":"git"},"_npmVersion":"10.8.2","description":"A protocol for declarative mocking of HTTP requests","directories":{},"_nodeVersion":"20.18.3","dependencies":{"lodash":"^4.17.21","urlpattern-polyfill":"^10.0.0"},"typesVersions":{"*":{"msw":["./dist/interceptors/msw.d.ts"],"fetch":["./dist/interceptors/fetch.d.ts"],"playwright":["./dist/interceptors/playwright.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.7.1","knip":"^5.46.4","eslint":"^9.23.0","vitest":"^3.1.1","globals":"^16.0.0","publint":"^0.3.2","prettier":"^3.4.2","@eslint/js":"^9.23.0","release-it":"^18.1.2","typescript":"^5.8.2","@types/node":"^18.15.0","lint-staged":"^15.5.0","@types/lodash":"^4.17.15","markdown-magic":"^3.4.1","@playwright/test":"^1.51.1","typescript-eslint":"^8.29.0","@release-it/keep-a-changelog":"^6.0.0","eslint-plugin-visual-complexity":"0.1.4"},"_npmOperationalInternal":{"tmp":"tmp/request-mocking-protocol_0.1.2_1743590304218_0.3864567100212124","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"request-mocking-protocol","version":"0.1.3","keywords":["mocking","testing","e2e","network","requests"],"license":"MIT","_id":"request-mocking-protocol@0.1.3","maintainers":[{"name":"vitalets","email":"noginsk@rambler.ru"}],"homepage":"https://github.com/vitalets/request-mocking-protocol#readme","bugs":{"url":"https://github.com/vitalets/request-mocking-protocol/issues"},"dist":{"shasum":"05622adbc7be6366f06875f679697717dd63a0cd","tarball":"https://registry.npmjs.org/request-mocking-protocol/-/request-mocking-protocol-0.1.3.tgz","fileCount":118,"integrity":"sha512-5Hzdc6GwT9gu7HtOgk8K66+KxxLA7hxCEMVezad3JUmwtdQgbQx79nu5PrEn2tmNn+DPreKcj6s85mR6/cIKjg==","signatures":[{"sig":"MEUCIQDRcLvehHAG7xw84gIWHr+QTvHTodOQbwLYL3VILdWWDQIgHO7cDueWtWDtMZvFFLGkkmCIA64p9pTDHskF2P1MJTw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144217},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":"./dist/index.js","./msw":"./dist/interceptors/msw.js","./fetch":"./dist/interceptors/fetch.js","./playwright":"./dist/interceptors/playwright.js","./package.json":"./package.json"},"funding":"https://github.com/sponsors/vitalets","gitHead":"7426dd8fa17290f1be040b0057a1de7fc4a8e401","scripts":{"toc":"md-magic --files README.md","tsc":"tsc","lint":"eslint . --no-warn-ignored","test":"vitest run --no-cache --testTimeout 10000 --dir ./test","build":"./scripts/build.sh","prepare":"git config core.hooksPath scripts/git-hooks","release":"release-it","prettier":"prettier --check --ignore-unknown .","prettier:w":"prettier --write --ignore-unknown ."},"_npmUser":{"name":"vitalets","actor":{"name":"vitalets","type":"user","email":"noginsk@rambler.ru"},"email":"noginsk@rambler.ru"},"repository":{"url":"git://github.com/vitalets/request-mocking-protocol.git","type":"git"},"_npmVersion":"11.3.0","description":"A protocol for declarative mocking of HTTP requests","directories":{},"_nodeVersion":"20.18.3","dependencies":{"lodash":"^4.17.21","urlpattern-polyfill":"^10.1.0"},"typesVersions":{"*":{"msw":["./dist/interceptors/msw.d.ts"],"fetch":["./dist/interceptors/fetch.d.ts"],"playwright":["./dist/interceptors/playwright.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.10.2","knip":"^5.61.2","eslint":"^9.29.0","vitest":"^3.2.4","globals":"^16.2.0","publint":"^0.3.12","prettier":"^3.4.2","@eslint/js":"^9.29.0","release-it":"^19.0.3","typescript":"^5.8.3","@types/node":"^18.15.0","lint-staged":"^16.1.2","@types/lodash":"^4.17.18","markdown-magic":"^3.7.0","@playwright/test":"^1.51.1","typescript-eslint":"^8.34.1","@release-it/keep-a-changelog":"^7.0.0","eslint-plugin-visual-complexity":"0.1.4"},"_npmOperationalInternal":{"tmp":"tmp/request-mocking-protocol_0.1.3_1750318388093_0.7076530802311323","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"request-mocking-protocol","version":"0.2.0","keywords":["mocking","testing","e2e","network","requests"],"license":"MIT","_id":"request-mocking-protocol@0.2.0","maintainers":[{"name":"vitalets","email":"potapov.vitaliy@gmail.com"}],"homepage":"https://github.com/vitalets/request-mocking-protocol#readme","bugs":{"url":"https://github.com/vitalets/request-mocking-protocol/issues"},"dist":{"shasum":"ae07c45609756ada5f2dc82fdf54f23c44f281d7","tarball":"https://registry.npmjs.org/request-mocking-protocol/-/request-mocking-protocol-0.2.0.tgz","fileCount":128,"integrity":"sha512-2JnFRD+UfFJn/X2HAm8gcGVJdl+GfocsN2cOOTn5UtBB49DWQ1g9usgcEJsqaVJ+AIAq/K8Ui34QxBOIsBeNvQ==","signatures":[{"sig":"MEUCIQDX+HyK/7LUQYxzIdaLMd79DHUcrzjNTuj7DXEv+zNk2QIgOvnKnFS9BIV9oytTfa/rmYbxnM49qV5hGJl1Xu0TJ7g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/request-mocking-protocol@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":159100},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js","./msw":"./dist/interceptors/msw.js","./fetch":"./dist/interceptors/fetch.js","./playwright":"./dist/interceptors/playwright.js","./package.json":"./package.json"},"funding":"https://github.com/sponsors/vitalets","gitHead":"84256e8c4229e760435c61b7a6e707d615aca9ae","scripts":{"toc":"md-magic --files README.md","tsc":"tsc","deps":"npx npm-check-updates -i --format group,dep,repo --cooldown 5","lint":"eslint .","test":"vitest run --no-cache --testTimeout 10000 --dir ./test","build":"./scripts/build.sh","prepare":"git config core.hooksPath scripts/git-hooks","prettier":"prettier --check --ignore-unknown .","prettier:w":"prettier --write --ignore-unknown .","pw:install":"PLAYWRIGHT_SKIP_BROWSER_GC=1 npx playwright install chromium"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:df632825-1dc7-462e-9bc8-934a23daeadc"}},"prettier":{"semi":true,"useTabs":false,"tabWidth":2,"printWidth":100,"singleQuote":true,"trailingComma":"all","bracketSpacing":true},"repository":{"url":"git+https://github.com/vitalets/request-mocking-protocol.git","type":"git"},"_npmVersion":"11.11.0","description":"A protocol for declarative mocking of HTTP requests","directories":{},"_nodeVersion":"24.14.1","dependencies":{"lodash":"^4.18.1","urlpattern-polyfill":"^10.1.0"},"typesVersions":{"*":{"msw":["./dist/interceptors/msw.d.ts"],"fetch":["./dist/interceptors/fetch.d.ts"],"playwright":["./dist/interceptors/playwright.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.7","knip":"^6.4.1","eslint":"^9.39.2","vitest":"^4.1.4","globals":"^17.5.0","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"5.9.3","@types/node":"20.19.39","lint-staged":"^16.4.0","@types/lodash":"^4.17.24","markdown-magic":"^3.7.0","@playwright/test":"^1.59.1","typescript-eslint":"8.58.1","eslint-plugin-visual-complexity":"0.1.4"},"_npmOperationalInternal":{"tmp":"tmp/request-mocking-protocol_0.2.0_1776606006516_0.9806023791625493","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"request-mocking-protocol","version":"0.2.1","keywords":["mocking","testing","e2e","network","requests"],"license":"MIT","_id":"request-mocking-protocol@0.2.1","maintainers":[{"name":"vitalets","email":"potapov.vitaliy@gmail.com"}],"homepage":"https://github.com/vitalets/request-mocking-protocol#readme","bugs":{"url":"https://github.com/vitalets/request-mocking-protocol/issues"},"dist":{"shasum":"86cff400ae247917e4b41ffd9f3367ca437fdf4d","tarball":"https://registry.npmjs.org/request-mocking-protocol/-/request-mocking-protocol-0.2.1.tgz","fileCount":128,"integrity":"sha512-4K0vu1csxnRsCXErlssPbPM8j7p9uEpgkkYGiO3EyXXgNDpmycTJVBTAE9nEGSsXYlbNuZjYNUhaa/8RUXvvbA==","signatures":[{"sig":"MEUCIBRZUd1mwR8YhnQU6+gF82jSLnRfPd4P0zXHL0EdwuvxAiEA16h2VqQgmJxKrlLrzBx8kdUy8WbOROjnkXFLOijR2vA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/request-mocking-protocol@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":162580},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js","./msw":"./dist/interceptors/msw.js","./fetch":"./dist/interceptors/fetch.js","./playwright":"./dist/interceptors/playwright.js","./package.json":"./package.json"},"funding":"https://github.com/sponsors/vitalets","gitHead":"9413cbc173bffc5aa4ab9717610134a4f9a8f41a","scripts":{"toc":"md-magic --files README.md","tsc":"tsc","deps":"npx npm-check-updates -i --format group,dep,repo --cooldown 5","lint":"eslint .","test":"vitest run --no-cache --testTimeout 10000 --dir ./test","build":"./scripts/build.sh","prepare":"git config core.hooksPath scripts/git-hooks","prettier":"prettier --check --ignore-unknown .","prettier:w":"prettier --write --ignore-unknown .","pw:install":"PLAYWRIGHT_SKIP_BROWSER_GC=1 npx playwright install chromium"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:df632825-1dc7-462e-9bc8-934a23daeadc"}},"prettier":{"semi":true,"useTabs":false,"tabWidth":2,"printWidth":100,"singleQuote":true,"trailingComma":"all","bracketSpacing":true},"repository":{"url":"git+https://github.com/vitalets/request-mocking-protocol.git","type":"git"},"_npmVersion":"11.11.0","description":"A protocol for declarative mocking of HTTP requests","directories":{},"_nodeVersion":"24.14.1","dependencies":{"lodash":"^4.18.1","urlpattern-polyfill":"^10.1.0"},"typesVersions":{"*":{"msw":["./dist/interceptors/msw.d.ts"],"fetch":["./dist/interceptors/fetch.d.ts"],"playwright":["./dist/interceptors/playwright.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.7","knip":"^6.4.1","eslint":"^9.39.2","vitest":"^4.1.4","globals":"^17.5.0","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"5.9.3","@types/node":"20.19.39","lint-staged":"^16.4.0","@types/lodash":"^4.17.24","markdown-magic":"^3.7.0","@playwright/test":"^1.59.1","typescript-eslint":"8.58.1","eslint-plugin-visual-complexity":"0.1.4"},"_npmOperationalInternal":{"tmp":"tmp/request-mocking-protocol_0.2.1_1777464056584_0.053300497775118805","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"request-mocking-protocol","version":"0.3.0","keywords":["mocking","testing","e2e","network","requests"],"license":"MIT","_id":"request-mocking-protocol@0.3.0","maintainers":[{"name":"vitalets","email":"potapov.vitaliy@gmail.com"}],"homepage":"https://github.com/vitalets/request-mocking-protocol#readme","bugs":{"url":"https://github.com/vitalets/request-mocking-protocol/issues"},"dist":{"shasum":"ae63f3c1e0c037a1b7ff9b9ca6aab0a07a93baf9","tarball":"https://registry.npmjs.org/request-mocking-protocol/-/request-mocking-protocol-0.3.0.tgz","fileCount":128,"integrity":"sha512-+tH64fquAB3XaVX8l8Vu4aWBLIpBjV6/WrbJLHTj10Ym4HLVayzvHxq1uqICvEuye7M2riSvgT01GJGNj25oOg==","signatures":[{"sig":"MEUCIDmb/40I1ZCPrTAeUiO3XdstR2mt88dw4U3QnbRUc2fLAiEAreJvWpAEl3JQZ+1IeMqHqLuLWfhZ8mZv4yjasWvxeC0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/request-mocking-protocol@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":168653},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js","./msw":"./dist/interceptors/msw.js","./fetch":"./dist/interceptors/fetch.js","./playwright":"./dist/interceptors/playwright.js","./package.json":"./package.json"},"funding":"https://github.com/sponsors/vitalets","gitHead":"27f3931e71a0032abfdb8f0ca82189888313cc33","scripts":{"toc":"md-magic --files README.md","tsc":"tsc","deps":"npx npm-check-updates -i --format group,dep,repo --cooldown 5","lint":"eslint .","test":"vitest run --no-cache --testTimeout 10000 --dir ./test","build":"./scripts/build.sh","prepare":"git config core.hooksPath scripts/git-hooks","prettier":"prettier --check --ignore-unknown .","prettier:w":"prettier --write --ignore-unknown .","pw:install":"PLAYWRIGHT_SKIP_BROWSER_GC=1 npx playwright install chromium"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:df632825-1dc7-462e-9bc8-934a23daeadc"}},"prettier":{"semi":true,"useTabs":false,"tabWidth":2,"printWidth":100,"singleQuote":true,"trailingComma":"all","bracketSpacing":true},"repository":{"url":"git+https://github.com/vitalets/request-mocking-protocol.git","type":"git"},"_npmVersion":"11.11.0","description":"A protocol for declarative mocking of HTTP requests","directories":{},"_nodeVersion":"24.14.1","dependencies":{"lodash":"^4.18.1","urlpattern-polyfill":"^10.1.0"},"typesVersions":{"*":{"msw":["./dist/interceptors/msw.d.ts"],"fetch":["./dist/interceptors/fetch.d.ts"],"playwright":["./dist/interceptors/playwright.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.12.7","knip":"^6.4.1","eslint":"^9.39.2","vitest":"^4.1.4","globals":"^17.5.0","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"5.9.3","@types/node":"20.19.39","lint-staged":"^16.4.0","@types/lodash":"^4.17.24","markdown-magic":"^3.7.0","@playwright/test":"^1.59.1","typescript-eslint":"8.58.1","eslint-plugin-visual-complexity":"0.1.4"},"_npmOperationalInternal":{"tmp":"tmp/request-mocking-protocol_0.3.0_1777652295801_0.39545219647074403","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"request-mocking-protocol","version":"0.4.0","keywords":["mocking","testing","e2e","network","requests"],"license":"MIT","_id":"request-mocking-protocol@0.4.0","maintainers":[{"name":"vitalets","email":"potapov.vitaliy@gmail.com"}],"homepage":"https://github.com/vitalets/request-mocking-protocol#readme","bugs":{"url":"https://github.com/vitalets/request-mocking-protocol/issues"},"dist":{"shasum":"d514b12ad728f817e684a3a0eb8fa5a09c538067","tarball":"https://registry.npmjs.org/request-mocking-protocol/-/request-mocking-protocol-0.4.0.tgz","fileCount":143,"integrity":"sha512-YMEzglObWT2ojc039sk+YJ+S76/N6E9dzlPhwtIhw+pLuU3w0WcG//q8pIniT1xMMa1A+/tLPIGATQR/m9MMxw==","signatures":[{"sig":"MEQCICp1MII9ZxovTe3TOQHNfJMo99BF7F6dqIFs6i84zxgkAiB2h9uN5q2Ude+AGauI/xL9yU8R7mM+etbha9x6Gtl/qg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/request-mocking-protocol@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":187279},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js","./msw":"./dist/interceptors/msw.js","./fetch":"./dist/interceptors/fetch.js","./playwright":"./dist/interceptors/playwright.js","./package.json":"./package.json","./request-matcher":"./dist/request-matcher/index.js","./response-builder":"./dist/response-builder/index.js"},"funding":"https://github.com/sponsors/vitalets","gitHead":"1adad887f68e87257e60973a49d60322b66a40f6","scripts":{"toc":"md-magic --files README.md","tsc":"tsc","deps":"npx npm-check-updates -i --format group,dep,repo --cooldown 5","lint":"eslint .","test":"vitest run --no-cache --testTimeout 10000 --dir ./test","build":"./scripts/build.sh","prepare":"git config core.hooksPath scripts/git-hooks","prettier":"prettier --check --ignore-unknown .","prettier:w":"prettier --write --ignore-unknown .","pw:install":"PLAYWRIGHT_SKIP_BROWSER_GC=1 npx playwright install chromium"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:df632825-1dc7-462e-9bc8-934a23daeadc"}},"prettier":{"semi":true,"useTabs":false,"tabWidth":2,"printWidth":100,"singleQuote":true,"trailingComma":"all","bracketSpacing":true},"repository":{"url":"git+https://github.com/vitalets/request-mocking-protocol.git","type":"git"},"_npmVersion":"11.13.0","description":"A protocol for declarative mocking of HTTP requests","directories":{},"_nodeVersion":"24.16.0","dependencies":{"lodash":"^4.18.1","urlpattern-polyfill":"^10.1.0"},"typesVersions":{"*":{"msw":["./dist/interceptors/msw.d.ts"],"fetch":["./dist/interceptors/fetch.d.ts"],"playwright":["./dist/interceptors/playwright.d.ts"],"request-matcher":["./dist/request-matcher/index.d.ts"],"response-builder":["./dist/response-builder/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.6","knip":"^6.14.2","eslint":"^10.4.0","vitest":"^4.1.7","globals":"^17.6.0","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"6.0.3","@types/node":"20.19.39","lint-staged":"^17.0.5","@types/lodash":"^4.17.24","markdown-magic":"^4.8.0","@playwright/test":"^1.60.0","typescript-eslint":"8.60.0","eslint-plugin-visual-complexity":"0.1.4"},"_npmOperationalInternal":{"tmp":"tmp/request-mocking-protocol_0.4.0_1780419776100_0.9897453609376348","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"request-mocking-protocol","version":"0.5.0","keywords":["mocking","testing","e2e","network","requests"],"license":"MIT","_id":"request-mocking-protocol@0.5.0","maintainers":[{"name":"vitalets","email":"potapov.vitaliy@gmail.com"}],"homepage":"https://github.com/vitalets/request-mocking-protocol#readme","bugs":{"url":"https://github.com/vitalets/request-mocking-protocol/issues"},"dist":{"shasum":"15789f8c6f029834adff216f8617556ffd3cf196","tarball":"https://registry.npmjs.org/request-mocking-protocol/-/request-mocking-protocol-0.5.0.tgz","fileCount":153,"integrity":"sha512-uThqxBNy6u+/1n616Qldq5ZkAcOzIDKIyOhJSytNcH4OpRPMxHjOY9AwXOMcl82dMbc7BErYGZSWvNw3c0tr7g==","signatures":[{"sig":"MEQCIBxJMyEKTr4H3JgDHNHxc8F1u97AeE7FP6FY0VKYTC7TAiAmIAOuQj4z+4FFyn6XTP5hAf4O6TfUleIC4p8AxaEyVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/request-mocking-protocol@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":183558},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js","./msw":"./dist/interceptors/msw.js","./fetch":"./dist/interceptors/fetch.js","./playwright":"./dist/interceptors/playwright.js","./package.json":"./package.json","./request-matcher":"./dist/request-matcher/index.js","./response-builder":"./dist/response-builder/index.js"},"funding":"https://github.com/sponsors/vitalets","gitHead":"3e82d7fde3e560a58ac97d24da1240227d588018","scripts":{"toc":"md-magic --files README.md","tsc":"tsc","deps":"npx npm-check-updates -i --format group,dep,repo --cooldown 3","docs":"npm --prefix docs start","lint":"eslint .","test":"vitest run --no-cache --testTimeout 10000 --dir ./test","build":"./scripts/build.sh","prepare":"git config core.hooksPath scripts/git-hooks","prettier":"prettier --check --ignore-unknown .","docs:build":"npm --prefix docs run build","prettier:w":"prettier --write --ignore-unknown .","pw:install":"PLAYWRIGHT_SKIP_BROWSER_GC=1 npx playwright install chromium"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:df632825-1dc7-462e-9bc8-934a23daeadc"}},"prettier":{"semi":true,"useTabs":false,"tabWidth":2,"printWidth":100,"singleQuote":true,"trailingComma":"all","bracketSpacing":true},"repository":{"url":"git+https://github.com/vitalets/request-mocking-protocol.git","type":"git"},"_npmVersion":"11.16.0","description":"A protocol for declarative mocking of HTTP requests","directories":{},"_nodeVersion":"24.18.0","dependencies":{"lodash":"^4.18.1","urlpattern-polyfill":"^10.1.0"},"typesVersions":{"*":{"msw":["./dist/interceptors/msw.d.ts"],"fetch":["./dist/interceptors/fetch.d.ts"],"playwright":["./dist/interceptors/playwright.d.ts"],"request-matcher":["./dist/request-matcher/index.d.ts"],"response-builder":["./dist/response-builder/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.6","knip":"^6.23.0","eslint":"^10.6.0","vitest":"^4.1.9","globals":"^17.7.0","prettier":"^3.9.3","@eslint/js":"^10.0.1","typescript":"6.0.3","@types/node":"20.19.39","lint-staged":"^17.0.8","@types/lodash":"^4.17.24","markdown-magic":"^4.11.0","@playwright/test":"^1.61.1","typescript-eslint":"8.62.0","eslint-plugin-visual-complexity":"0.1.4"},"_npmOperationalInternal":{"tmp":"tmp/request-mocking-protocol_0.5.0_1783590972261_0.924828208459582","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"request-mocking-protocol","description":"A protocol for declarative mocking of HTTP requests","version":"0.6.0","type":"commonjs","repository":{"type":"git","url":"git+https://github.com/vitalets/request-mocking-protocol.git"},"main":"./dist/index.js","exports":{".":"./dist/index.js","./msw":"./dist/interceptors/msw.js","./fetch":"./dist/interceptors/fetch.js","./playwright":"./dist/interceptors/playwright.js","./request-matcher":"./dist/request-matcher/index.js","./response-builder":"./dist/response-builder/index.js","./package.json":"./package.json"},"typesVersions":{"*":{"fetch":["./dist/interceptors/fetch.d.ts"],"msw":["./dist/interceptors/msw.d.ts"],"playwright":["./dist/interceptors/playwright.d.ts"],"request-matcher":["./dist/request-matcher/index.d.ts"],"response-builder":["./dist/response-builder/index.d.ts"]}},"engines":{"node":">=20"},"scripts":{"prepare":"git config core.hooksPath scripts/git-hooks","lint":"eslint .","tsc":"tsc","prettier":"prettier --check --ignore-unknown .","prettier:w":"prettier --write --ignore-unknown .","test":"vitest run --no-cache --testTimeout 10000 --dir ./test","pw:install":"PLAYWRIGHT_SKIP_BROWSER_GC=1 npx playwright install chromium","toc":"md-magic --files README.md","deps":"npx npm-check-updates -i --format group,dep,repo --cooldown 3","build":"./scripts/build.sh","docs":"npm --prefix docs start","docs:build":"npm --prefix docs run build"},"dependencies":{"lodash":"^4.18.1","urlpattern-polyfill":"^10.1.0"},"devDependencies":{"@eslint/js":"^10.0.1","@playwright/test":"^1.61.1","@types/lodash":"^4.17.24","@types/node":"20.19.39","eslint":"^10.6.0","eslint-plugin-visual-complexity":"0.1.4","globals":"^17.7.0","knip":"^6.23.0","lint-staged":"^17.0.8","markdown-magic":"^4.11.0","msw":"^2.14.6","prettier":"^3.9.3","typescript":"6.0.3","typescript-eslint":"8.62.0","vitest":"^4.1.9"},"keywords":["mocking","testing","e2e","network","requests"],"prettier":{"tabWidth":2,"useTabs":false,"singleQuote":true,"printWidth":100,"semi":true,"trailingComma":"all","bracketSpacing":true},"funding":"https://github.com/sponsors/vitalets","license":"MIT","gitHead":"2d139bfbe742c7e5efff385b4b57442fc17a1c17","types":"./dist/index.d.ts","_id":"request-mocking-protocol@0.6.0","bugs":{"url":"https://github.com/vitalets/request-mocking-protocol/issues"},"homepage":"https://github.com/vitalets/request-mocking-protocol#readme","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-IZQ+ckSdqoNEo8Xw+ut6sAhdbyrzzBAc0r3QY7mAvQOz63jQCmrBfmYYM4gdpTCuvCpuAzxfLDEDBKy+7ia4pw==","shasum":"a3eddb71c8186e3e38232323c769346ecd38cf66","tarball":"https://registry.npmjs.org/request-mocking-protocol/-/request-mocking-protocol-0.6.0.tgz","fileCount":163,"unpackedSize":189478,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/request-mocking-protocol@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIA+YC2zC9GLPWc5V8/NKYiFoJcP6c3LsOlQsRvqx+mEZAiEAjfsV9xL03vCHk6qUIN4pQY0TIjTyVrZtD6QkK5ZSUWs="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:df632825-1dc7-462e-9bc8-934a23daeadc"}},"directories":{},"maintainers":[{"name":"vitalets","email":"potapov.vitaliy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/request-mocking-protocol_0.6.0_1784104711860_0.6417470931377223"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-07T10:06:56.176Z","modified":"2026-07-15T08:38:32.272Z","0.1.0":"2025-03-07T10:06:56.413Z","0.1.1":"2025-03-07T14:43:20.029Z","0.1.2":"2025-04-02T10:38:24.419Z","0.1.3":"2025-06-19T07:33:08.335Z","0.2.0":"2026-04-19T13:40:06.728Z","0.2.1":"2026-04-29T12:00:56.704Z","0.3.0":"2026-05-01T16:18:15.955Z","0.4.0":"2026-06-02T17:02:56.284Z","0.5.0":"2026-07-09T09:56:12.472Z","0.6.0":"2026-07-15T08:38:32.004Z"},"bugs":{"url":"https://github.com/vitalets/request-mocking-protocol/issues"},"license":"MIT","homepage":"https://github.com/vitalets/request-mocking-protocol#readme","keywords":["mocking","testing","e2e","network","requests"],"repository":{"type":"git","url":"git+https://github.com/vitalets/request-mocking-protocol.git"},"description":"A protocol for declarative mocking of HTTP requests","maintainers":[{"name":"vitalets","email":"potapov.vitaliy@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/vitalets/request-mocking-protocol/main/docs/static/img/android-chrome-192x192.png\" alt=\"Request Mocking Protocol logo\" width=\"80\" height=\"80\" />\n</p>\n\n<h1 align=\"center\">Request Mocking Protocol</h1>\n\n<div align=\"center\">\n\n[![lint](https://github.com/vitalets/request-mocking-protocol/actions/workflows/lint.yaml/badge.svg)](https://github.com/vitalets/request-mocking-protocol/actions/workflows/lint.yaml)\n[![test](https://github.com/vitalets/request-mocking-protocol/actions/workflows/test.yaml/badge.svg)](https://github.com/vitalets/request-mocking-protocol/actions/workflows/test.yaml)\n[![npm version](https://img.shields.io/npm/v/request-mocking-protocol)](https://www.npmjs.com/package/request-mocking-protocol)\n[![license](https://img.shields.io/npm/l/request-mocking-protocol)](https://github.com/vitalets/request-mocking-protocol/blob/main/LICENSE)\n\n</div>\n\n**Request Mocking Protocol (RMP)** is a specification for HTTP requests mocking in end-to-end tests. It uses declarative JSON schemas to define mocked request and response. These schemas can be serialized and sent over the network, enabling both *client-side* and *server-side* mocking.\n\n## Server-Side Mocking\n\nRMP lets you mock API calls made by your application server. Here's how it works:\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/vitalets/request-mocking-protocol/main/docs/static/img/server-side-mocking.png\" alt=\"How server-side mocking works\" width=\"100%\" />\n</p>\n\n1. A test defines mock schemas and sends them to the app server in a custom HTTP header: `x-mock-request`.\n2. The server-side interceptor reads that header and applies the mocks to the outgoing API calls.\n3. The page is rendered with mocked data, and the test can assert the expected UI state.\n\nThis is ideal for server-side rendered pages, where data is fetched on the server before the page reaches the browser. Learn how to set it up in **[Server-Side Mocking →](https://vitalets.github.io/request-mocking-protocol/server-side-mocking/overview)**\n\n## Client-Side Mocking\n\nRMP also lets you mock requests made directly in the browser, using the same declarative schemas. It works with any framework, no special integration needed.\n\nThis is ideal for single-page apps and any data fetched on the client. Learn how to set it up in **[Client-Side Mocking →](https://vitalets.github.io/request-mocking-protocol/client-side-mocking/overview)**\n\n## 📖 Documentation\n\nFull documentation is available at **[vitalets.github.io/request-mocking-protocol](https://vitalets.github.io/request-mocking-protocol/)**.\n\n- [Introduction](https://vitalets.github.io/request-mocking-protocol/getting-started/introduction)\n- [Installation](https://vitalets.github.io/request-mocking-protocol/getting-started/installation)\n- [Next.js Integration](https://vitalets.github.io/request-mocking-protocol/server-side-mocking/frameworks/nextjs)\n- [Playwright Integration](https://vitalets.github.io/request-mocking-protocol/server-side-mocking/test-runners/playwright)\n- [API Reference](https://vitalets.github.io/request-mocking-protocol/api/mock-client)\n\n## License\n\n[MIT](https://github.com/vitalets/request-mocking-protocol/blob/main/LICENSE)\n","readmeFilename":"README.md"}