{"_id":"@chaos-maker/puppeteer","_rev":"8-587a001d1c38ccb55c44cfa12e33b209","name":"@chaos-maker/puppeteer","dist-tags":{"latest":"0.9.0"},"versions":{"0.3.0":{"name":"@chaos-maker/puppeteer","version":"0.3.0","keywords":["chaos-engineering","puppeteer","headless-chrome","testing","e2e-testing","resilience"],"license":"MIT","_id":"@chaos-maker/puppeteer@0.3.0","maintainers":[{"name":"jvjithin","email":"jvjithin2@gmail.com"}],"homepage":"https://github.com/jvjithin/chaos-maker","bugs":{"url":"https://github.com/jvjithin/chaos-maker/issues"},"dist":{"shasum":"699745037d8553f0e196bd05c55045a7dc2eb426","tarball":"https://registry.npmjs.org/@chaos-maker/puppeteer/-/puppeteer-0.3.0.tgz","fileCount":7,"integrity":"sha512-5Xs8PfueIrCPe/8VmBrM9c86tbUw30e5r4TJrCbdnO0m/HK4EqAu5w5omKjYp1Nc6xnM6D4D0czMPDCcoCCfQw==","signatures":[{"sig":"MEYCIQCraa/ExsCsO7HlN3gHU/kBBk8i8v6Bw8qVmD+1a0AZrgIhAKaQ2cvnPYa7i4clpqlcL6cTnlETe62S0qSCbwmZxs4I","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20083},"main":"./dist/index.cjs","type":"module","_from":"file:chaos-maker-puppeteer-0.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"scripts":{"test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"jvjithin","email":"jvjithin2@gmail.com"},"_resolved":"/tmp/193dccba75d7247143686738652cfd13/chaos-maker-puppeteer-0.3.0.tgz","_integrity":"sha512-5Xs8PfueIrCPe/8VmBrM9c86tbUw30e5r4TJrCbdnO0m/HK4EqAu5w5omKjYp1Nc6xnM6D4D0czMPDCcoCCfQw==","repository":{"url":"git+https://github.com/jvjithin/chaos-maker.git","type":"git","directory":"packages/puppeteer"},"_npmVersion":"11.9.0","description":"Puppeteer adapter for @chaos-maker/core — one-line chaos injection in Puppeteer tests","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@chaos-maker/core":"0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^3.2.4","puppeteer":"^22.0.0","typescript":"^5.4.5"},"peerDependencies":{"puppeteer":">=21.0.0","puppeteer-core":">=21.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true},"puppeteer-core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/puppeteer_0.3.0_1776942185871_0.03688289062903105","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@chaos-maker/puppeteer","version":"0.4.0","keywords":["chaos-engineering","puppeteer","headless-chrome","testing","e2e-testing","resilience"],"license":"MIT","_id":"@chaos-maker/puppeteer@0.4.0","maintainers":[{"name":"jvjithin","email":"jvjithin2@gmail.com"}],"homepage":"https://github.com/chaos-maker-dev/chaos-maker","bugs":{"url":"https://github.com/chaos-maker-dev/chaos-maker/issues"},"dist":{"shasum":"d0e9ca2383b36cd9384219b418cfd896d9d08c46","tarball":"https://registry.npmjs.org/@chaos-maker/puppeteer/-/puppeteer-0.4.0.tgz","fileCount":7,"integrity":"sha512-G6/JiPkI6ur60HvH0WHruWOBkDPAdE8Ag+2OAg2FKxJcGtmHtPJ+AVqAhd3T5BYuHfcR+uzpCtelDcqY1sMcNA==","signatures":[{"sig":"MEUCIBH84deKQ0YneIwV2jPlN5fXFpwruJV6wKl0sNScbnq3AiEAunWrhzFkuvlGMWzXcgw9xQXDCVC4F+1LIVOxMKLicPU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@chaos-maker%2fpuppeteer@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29625},"main":"./dist/index.cjs","type":"module","_from":"file:chaos-maker-puppeteer-0.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"scripts":{"test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4ce609ac-86b8-454e-8eab-459f27578ed7"}},"_resolved":"/tmp/170c0be4915ccf9fdf3e5795774e87fc/chaos-maker-puppeteer-0.4.0.tgz","_integrity":"sha512-G6/JiPkI6ur60HvH0WHruWOBkDPAdE8Ag+2OAg2FKxJcGtmHtPJ+AVqAhd3T5BYuHfcR+uzpCtelDcqY1sMcNA==","repository":{"url":"git+https://github.com/chaos-maker-dev/chaos-maker.git","type":"git","directory":"packages/puppeteer"},"_npmVersion":"11.9.0","description":"Puppeteer adapter for @chaos-maker/core — one-line chaos injection in Puppeteer tests","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@chaos-maker/core":"0.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^3.2.4","puppeteer":"^22.0.0","typescript":"^5.4.5"},"peerDependencies":{"puppeteer":">=21.0.0","puppeteer-core":">=21.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true},"puppeteer-core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/puppeteer_0.4.0_1777225284220_0.7288589294893677","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@chaos-maker/puppeteer","version":"0.5.0","keywords":["chaos-engineering","puppeteer","headless-chrome","testing","e2e-testing","resilience"],"license":"MIT","_id":"@chaos-maker/puppeteer@0.5.0","maintainers":[{"name":"jvjithin","email":"jvjithin2@gmail.com"}],"homepage":"https://github.com/chaos-maker-dev/chaos-maker","bugs":{"url":"https://github.com/chaos-maker-dev/chaos-maker/issues"},"dist":{"shasum":"24dd9e7c3a14b0e9907d3f42fc163df439a184ad","tarball":"https://registry.npmjs.org/@chaos-maker/puppeteer/-/puppeteer-0.5.0.tgz","fileCount":7,"integrity":"sha512-Bm02s8TGA/9EYB2v4oOAz6hsW5n27OXP+p0L428MYALqzrOhr7wUOW6h5DpPqd8b7bUaOjQV/fuoxCBTQBOOjQ==","signatures":[{"sig":"MEQCICMcgWR2iJ483t3jQ4pWfEBGNPGcZ50U6BUwsIr6P86YAiBBeSeRbVocofORURbT5Q+AeqV3fSwMvCT3WABk/Bxksw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@chaos-maker%2fpuppeteer@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":41914},"main":"./dist/index.cjs","type":"module","_from":"file:chaos-maker-puppeteer-0.5.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"scripts":{"test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4ce609ac-86b8-454e-8eab-459f27578ed7"}},"_resolved":"/tmp/12e4ca9c5c3351da0d5560d8d2178395/chaos-maker-puppeteer-0.5.0.tgz","_integrity":"sha512-Bm02s8TGA/9EYB2v4oOAz6hsW5n27OXP+p0L428MYALqzrOhr7wUOW6h5DpPqd8b7bUaOjQV/fuoxCBTQBOOjQ==","repository":{"url":"git+https://github.com/chaos-maker-dev/chaos-maker.git","type":"git","directory":"packages/puppeteer"},"_npmVersion":"11.9.0","description":"Puppeteer adapter for @chaos-maker/core — one-line chaos injection in Puppeteer tests","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@chaos-maker/core":"0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^3.2.4","puppeteer":"^22.0.0","typescript":"^5.4.5"},"peerDependencies":{"puppeteer":">=21.0.0","puppeteer-core":">=21.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true},"puppeteer-core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/puppeteer_0.5.0_1778321853908_0.04675892769341994","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@chaos-maker/puppeteer","version":"0.6.0","keywords":["chaos-engineering","puppeteer","headless-chrome","testing","e2e-testing","resilience"],"license":"MIT","_id":"@chaos-maker/puppeteer@0.6.0","maintainers":[{"name":"jvjithin","email":"jvjithin2@gmail.com"}],"homepage":"https://github.com/chaos-maker-dev/chaos-maker","bugs":{"url":"https://github.com/chaos-maker-dev/chaos-maker/issues"},"dist":{"shasum":"ae3344e77c8260cb47070fdbd74bc3ade2c3d3e5","tarball":"https://registry.npmjs.org/@chaos-maker/puppeteer/-/puppeteer-0.6.0.tgz","fileCount":7,"integrity":"sha512-GceMA1tUKV04zHsKjnKtT/d8e/s5x3XPAqQ00nUB4FpipGfsI8Zn70xuwXBQFC8TpqB/U3HS5hBVUk6zlfVBAg==","signatures":[{"sig":"MEUCIQC4ICPfJrRIog/ivEbbjSv+yKPZCCohb0RlUxViexhYTgIgKGo9j90zAs4CV00uNQ0LrIkfLtTuHS/NnJ8bc/xh7TU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@chaos-maker%2fpuppeteer@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":44024},"main":"./dist/index.cjs","type":"module","_from":"file:chaos-maker-puppeteer-0.6.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"scripts":{"test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4ce609ac-86b8-454e-8eab-459f27578ed7"}},"_resolved":"/tmp/c9fe7e5985dd94400b6e572a6eb12ff0/chaos-maker-puppeteer-0.6.0.tgz","_integrity":"sha512-GceMA1tUKV04zHsKjnKtT/d8e/s5x3XPAqQ00nUB4FpipGfsI8Zn70xuwXBQFC8TpqB/U3HS5hBVUk6zlfVBAg==","repository":{"url":"git+https://github.com/chaos-maker-dev/chaos-maker.git","type":"git","directory":"packages/puppeteer"},"_npmVersion":"11.9.0","description":"Puppeteer adapter for @chaos-maker/core - one-line chaos injection in Puppeteer tests","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@chaos-maker/core":"0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^3.2.4","puppeteer":"^22.0.0","typescript":"^5.4.5"},"peerDependencies":{"puppeteer":">=21.0.0","puppeteer-core":">=21.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true},"puppeteer-core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/puppeteer_0.6.0_1778940727140_0.4930584439748955","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@chaos-maker/puppeteer","version":"0.7.0","keywords":["chaos-engineering","puppeteer","headless-chrome","testing","e2e-testing","resilience"],"license":"MIT","_id":"@chaos-maker/puppeteer@0.7.0","maintainers":[{"name":"jvjithin","email":"jvjithin2@gmail.com"}],"homepage":"https://github.com/chaos-maker-dev/chaos-maker","bugs":{"url":"https://github.com/chaos-maker-dev/chaos-maker/issues"},"dist":{"shasum":"a77a4333a9b23e5ac0021e6988f9cb6ce7e77e0d","tarball":"https://registry.npmjs.org/@chaos-maker/puppeteer/-/puppeteer-0.7.0.tgz","fileCount":7,"integrity":"sha512-lR5oFuqxxqS97D5jKMqBHEBoo89JZwn4YLA6AvvTylhELSgxEY+yZyBhiOP0PokqDrqeFBAScYLB+HdPlZeibg==","signatures":[{"sig":"MEYCIQCg21lKUlAecAwF+lrP99TmC7qcfwpKI+BtmAA7leFcsQIhAIVcdeGCfD26genPEJ3yN0i1FSVYUgBrzCQp+UCAf+1x","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@chaos-maker%2fpuppeteer@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":45789},"main":"./dist/index.cjs","type":"module","_from":"file:chaos-maker-puppeteer-0.7.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"scripts":{"test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4ce609ac-86b8-454e-8eab-459f27578ed7"}},"_resolved":"/tmp/2ae6bc42eac251e6410f175f86d40b46/chaos-maker-puppeteer-0.7.0.tgz","_integrity":"sha512-lR5oFuqxxqS97D5jKMqBHEBoo89JZwn4YLA6AvvTylhELSgxEY+yZyBhiOP0PokqDrqeFBAScYLB+HdPlZeibg==","repository":{"url":"git+https://github.com/chaos-maker-dev/chaos-maker.git","type":"git","directory":"packages/puppeteer"},"_npmVersion":"11.9.0","description":"Puppeteer adapter for @chaos-maker/core - one-line chaos injection in Puppeteer tests","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@chaos-maker/core":"0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^3.2.4","puppeteer":"^22.0.0","typescript":"^5.4.5"},"peerDependencies":{"puppeteer":">=21.0.0","puppeteer-core":">=21.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true},"puppeteer-core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/puppeteer_0.7.0_1779184441016_0.919153783229937","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@chaos-maker/puppeteer","version":"0.7.1","keywords":["chaos-engineering","puppeteer","headless-chrome","testing","e2e-testing","resilience"],"license":"MIT","_id":"@chaos-maker/puppeteer@0.7.1","maintainers":[{"name":"jvjithin","email":"jvjithin2@gmail.com"}],"homepage":"https://github.com/chaos-maker-dev/chaos-maker","bugs":{"url":"https://github.com/chaos-maker-dev/chaos-maker/issues"},"dist":{"shasum":"025c2296cf7fb4e112a4d54dfa847c69c67d931d","tarball":"https://registry.npmjs.org/@chaos-maker/puppeteer/-/puppeteer-0.7.1.tgz","fileCount":7,"integrity":"sha512-9WCdClGILzJPt4QDcYIYmi39P6sActRo3TrKuGttgLd5bZ0XArQzwG9XjmhF7pavd7S3nDg3nNKcRaIKD89IWA==","signatures":[{"sig":"MEQCIFupM35mbV3+myxVDhIG4WOUITOMjIXMlrf2ip/gxLt2AiANJjpk8HOJFJ7VnJz3PNGQvrJSzz91MYhYsysuVF/ezQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@chaos-maker%2fpuppeteer@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":45789},"main":"./dist/index.cjs","type":"module","_from":"file:chaos-maker-puppeteer-0.7.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"scripts":{"test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4ce609ac-86b8-454e-8eab-459f27578ed7"}},"_resolved":"/tmp/2307274c679c5d8e6ca33d28359a41d0/chaos-maker-puppeteer-0.7.1.tgz","_integrity":"sha512-9WCdClGILzJPt4QDcYIYmi39P6sActRo3TrKuGttgLd5bZ0XArQzwG9XjmhF7pavd7S3nDg3nNKcRaIKD89IWA==","repository":{"url":"git+https://github.com/chaos-maker-dev/chaos-maker.git","type":"git","directory":"packages/puppeteer"},"_npmVersion":"11.9.0","description":"Puppeteer adapter for @chaos-maker/core - one-line chaos injection in Puppeteer tests","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@chaos-maker/core":"0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^3.2.4","puppeteer":"^22.0.0","typescript":"^5.4.5"},"peerDependencies":{"puppeteer":">=21.0.0","puppeteer-core":">=21.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true},"puppeteer-core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/puppeteer_0.7.1_1779186434921_0.9716063085370952","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@chaos-maker/puppeteer","version":"0.8.0","keywords":["chaos-engineering","puppeteer","headless-chrome","testing","e2e-testing","resilience"],"license":"MIT","_id":"@chaos-maker/puppeteer@0.8.0","maintainers":[{"name":"jvjithin","email":"jvjithin2@gmail.com"}],"homepage":"https://github.com/chaos-maker-dev/chaos-maker","bugs":{"url":"https://github.com/chaos-maker-dev/chaos-maker/issues"},"dist":{"shasum":"0c12d4bec3ef268171ea0ed604aefff20786ad9a","tarball":"https://registry.npmjs.org/@chaos-maker/puppeteer/-/puppeteer-0.8.0.tgz","fileCount":6,"integrity":"sha512-PwK9Q0rq0IbfWrZ3vAmTlWdA6UZizKuSEnoeDrxfXhrulkDFGulEcJIo8fQT+D3BCrgRBiVRePezaDwx8ySvKA==","signatures":[{"sig":"MEUCIBBeqINMBd+HrYm71cOOoqbzYnIvGRWBDnHgofWV2yFqAiEA4Undg68DYKxodQgObfAhsXiaRAPss3sxF/tPDOhf2ZM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@chaos-maker%2fpuppeteer@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":37132},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"21fa217f3f9a7f2894f3ace55a9be3bbe1be8601","scripts":{"test":"vitest run","build":"bun build src/index.ts --format=esm --target=node --external puppeteer --external puppeteer-core --external @chaos-maker/core --outfile=dist/index.js && bun build src/index.ts --format=cjs --target=node --external puppeteer --external puppeteer-core --external @chaos-maker/core --outfile=dist/index.cjs && tsc --emitDeclarationOnly --outDir dist","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4ce609ac-86b8-454e-8eab-459f27578ed7"}},"repository":{"url":"git+https://github.com/chaos-maker-dev/chaos-maker.git","type":"git","directory":"packages/puppeteer"},"_npmVersion":"11.9.0","description":"Puppeteer adapter for @chaos-maker/core - one-line chaos injection in Puppeteer tests","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@chaos-maker/core":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","puppeteer":"^22.0.0","typescript":"^5.4.5"},"peerDependencies":{"puppeteer":">=21.0.0","puppeteer-core":">=21.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true},"puppeteer-core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/puppeteer_0.8.0_1779909207466_0.8849471409290692","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@chaos-maker/puppeteer","version":"0.9.0","type":"module","description":"Puppeteer adapter for @chaos-maker/core - one-line chaos injection in Puppeteer tests","keywords":["chaos-engineering","puppeteer","headless-chrome","testing","e2e-testing","resilience"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/chaos-maker-dev/chaos-maker.git","directory":"packages/puppeteer"},"homepage":"https://github.com/chaos-maker-dev/chaos-maker","engines":{"node":">=18"},"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"scripts":{"build":"bun build src/index.ts --format=esm --target=node --external puppeteer --external puppeteer-core --external @chaos-maker/core --outfile=dist/index.js && bun build src/index.ts --format=cjs --target=node --external puppeteer --external puppeteer-core --external @chaos-maker/core --outfile=dist/index.cjs && tsc --emitDeclarationOnly --outDir dist","test":"vitest run","test:watch":"vitest"},"dependencies":{"@chaos-maker/core":"workspace:*"},"peerDependencies":{"puppeteer":">=21.0.0","puppeteer-core":">=21.0.0"},"peerDependenciesMeta":{"puppeteer":{"optional":true},"puppeteer-core":{"optional":true}},"devDependencies":{"puppeteer":"^22.0.0","typescript":"^5.4.5","vitest":"^4.1.8"},"gitHead":"110bf7efef6c081c17463371c63653f79df04f4f","_id":"@chaos-maker/puppeteer@0.9.0","bugs":{"url":"https://github.com/chaos-maker-dev/chaos-maker/issues"},"_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-3xnzQKDezIBe4wtuLkXA7I111QgsyVtJ73ZG/Oqe70J2WfNa8VlYuQluQuUyxPJCcJBKx84FoRCz55kiG/Cang==","shasum":"5bf3cd52f2a3c775867e91257972d70e324adb49","tarball":"https://registry.npmjs.org/@chaos-maker/puppeteer/-/puppeteer-0.9.0.tgz","fileCount":7,"unpackedSize":42682,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@chaos-maker%2fpuppeteer@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCID5hH7db5VB6OA7fvqPk32GgcYE5mJBEtgNy1qgrOuT0AiAOJXI+RypZlPpwA0qWCOlb1yMHVJaFHlS3KmWOQywg5g=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4ce609ac-86b8-454e-8eab-459f27578ed7"}},"directories":{},"maintainers":[{"name":"jvjithin","email":"jvjithin2@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/puppeteer_0.9.0_1783105275651_0.6673309536750771"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-23T11:03:05.799Z","modified":"2026-07-03T19:01:16.081Z","0.3.0":"2026-04-23T11:03:06.037Z","0.4.0":"2026-04-26T17:41:24.355Z","0.5.0":"2026-05-09T10:17:34.037Z","0.6.0":"2026-05-16T14:12:07.283Z","0.7.0":"2026-05-19T09:54:01.154Z","0.7.1":"2026-05-19T10:27:15.073Z","0.8.0":"2026-05-27T19:13:27.603Z","0.9.0":"2026-07-03T19:01:15.790Z"},"bugs":{"url":"https://github.com/chaos-maker-dev/chaos-maker/issues"},"license":"MIT","homepage":"https://github.com/chaos-maker-dev/chaos-maker","keywords":["chaos-engineering","puppeteer","headless-chrome","testing","e2e-testing","resilience"],"repository":{"type":"git","url":"git+https://github.com/chaos-maker-dev/chaos-maker.git","directory":"packages/puppeteer"},"description":"Puppeteer adapter for @chaos-maker/core - one-line chaos injection in Puppeteer tests","maintainers":[{"name":"jvjithin","email":"jvjithin2@gmail.com"}],"readme":"# @chaos-maker/puppeteer\n\nPuppeteer adapter for [`@chaos-maker/core`](https://github.com/chaos-maker-dev/chaos-maker). Inject network, UI, WebSocket, Service Worker, SSE, and GraphQL operation chaos into Puppeteer tests.\n\n## Install\n\n```bash\nnpm install --save-dev @chaos-maker/puppeteer puppeteer\n# or\nbun add -D @chaos-maker/puppeteer puppeteer\n```\n\n## Quick start\n\n```ts\nimport puppeteer from 'puppeteer';\nimport { injectChaos, getChaosLog } from '@chaos-maker/puppeteer';\n\nconst browser = await puppeteer.launch({ headless: true });\nconst page = await browser.newPage();\n\n// Inject BEFORE goto - uses evaluateOnNewDocument for full-lifecycle coverage\nawait injectChaos(page, {\n  network: {\n    failures: [{ urlPattern: '/api', statusCode: 503, probability: 1.0 }],\n  },\n});\n\nawait page.goto('http://localhost:3000');\n// ... drive the page ...\nconst log = await getChaosLog(page);\nconsole.log('Chaos events:', log);\n\nawait browser.close();\n```\n\n## API\n\n### `injectChaos(page, config)`\n\nInjects chaos into a Puppeteer page via `evaluateOnNewDocument`. Must be called before `page.goto()` so all network requests are intercepted from the start.\n\n### `removeChaos(page)`\n\nStops chaos and restores original `fetch`, `XMLHttpRequest`, `WebSocket`, and DOM behaviour. Safe to call after page close.\n\nWhen Puppeteer exposes init-script identifiers, cleanup also removes registered `evaluateOnNewDocument` scripts so a later reload on a reused page does not re-inject old chaos. Fresh pages per test are still the simplest isolation pattern.\n\n### `getChaosLog(page)`\n\nReturns the full event log (applied + skipped decisions) since `injectChaos` was called.\n\n### `getChaosSeed(page)`\n\nReturns the PRNG seed used by the active chaos instance. Log this on test failure to replay the exact sequence.\n\n### `enableGroup(page, name)` / `disableGroup(page, name)`\n\nEnable or disable a browser-side Rule Group at runtime. The promise resolves after the page evaluates the toggle.\n\n```ts\nimport { ChaosConfigBuilder } from '@chaos-maker/core';\nimport { injectChaos, enableGroup, disableGroup } from '@chaos-maker/puppeteer';\n\nconst config = new ChaosConfigBuilder()\n  .defineGroup('payments', { enabled: false })\n  .inGroup('payments')\n  .failRequests('/api/pay', 503, 1)\n  .build();\n\nawait injectChaos(page, config);\nawait page.goto('http://localhost:3000/checkout');\n\nawait enableGroup(page, 'payments');\nawait disableGroup(page, 'payments');\n```\n\n### `useChaos(page, config)`\n\nConvenience helper for `afterEach`-style cleanup - injects chaos and returns an async teardown:\n\n```ts\nlet teardown: () => Promise<void>;\nbeforeEach(async () => {\n  teardown = await useChaos(page, { network: { failures: [...] } });\n});\nafterEach(() => teardown());\n```\n\nUse `try` / `finally` around direct calls when a test may fail before cleanup:\n\n```ts\ntry {\n  await injectChaos(page, config);\n  await page.goto('http://localhost:3000');\n  // assertions\n} finally {\n  await removeChaos(page);\n}\n```\n\n## Validation\n\n`injectChaos` validates the config from Node before `evaluateOnNewDocument` runs. A malformed config throws `ChaosConfigError` synchronously from the test runner. `ChaosConfigError.issues` is a structured `ValidationIssue[]`. See the [Rule Validation concept page](https://chaos-maker-dev.github.io/chaos-maker/concepts/validation/).\n\n```ts\nawait injectChaos(page, config, {\n  validation: { unknownFields: 'warn' },\n});\n```\n\n## Presets\n\nDrop a built-in preset by name with the declarative `presets` field:\n\n```ts\nawait injectChaos(page, { presets: ['slow-api'] });\n```\n\nRegister your own bundle inline via `customPresets`:\n\n```ts\nawait injectChaos(page, {\n  customPresets: {\n    'team-flow': {\n      network: { failures: [{ urlPattern: '/checkout', statusCode: 503, probability: 1 }] },\n    },\n  },\n  presets: ['team-flow'],\n});\n```\n\nBuilt-in catalog and validation rules are documented in [`@chaos-maker/core`](../core/README.md#presets).\n\n## Leak diagnostics\n\nSet `debug: true` on the chaos config to surface leaked-runtime diagnostics in the event log. Filter `getChaosLog(page)` for `type === 'debug'` events with `detail.reason` covering double-patched globals, stale wrapper handles, orphaned observers, or active-instance conflicts. See [`@chaos-maker/core`](../core/README.md#leak-diagnostics) for the full reason list.\n\n```ts\nawait injectChaos(page, { debug: true, network: { /* ... */ } });\nawait page.goto('http://localhost:3000');\nconst issues = (await getChaosLog(page)).filter(\n  (e) => e.type === 'debug' && /already-patched|stale|orphaned|active-instance-conflict/.test(String(e.detail.reason ?? '')),\n);\n```\n\n## Service Worker chaos\n\n```ts\nimport {\n  injectSWChaos,\n  removeSWChaos,\n  getSWChaosLog,\n  getSWChaosLogFromSW,\n  enableSWGroup,\n  disableSWGroup,\n} from '@chaos-maker/puppeteer';\n\nawait page.goto('http://localhost:3000/app-with-sw/');\nawait page.waitForFunction(() => !!navigator.serviceWorker.controller);\nawait injectSWChaos(page, {\n  groups: [{ name: 'payments', enabled: false }],\n  network: {\n    failures: [{ urlPattern: '/api/data', statusCode: 503, probability: 1, group: 'payments' }],\n  },\n  seed: 1,\n});\nawait enableSWGroup(page, 'payments');\n// ...interact...\nconst log = await getSWChaosLog(page);\nawait disableSWGroup(page, 'payments');\nawait removeSWChaos(page);\n```\n\nUse `getSWChaosLog(page)` for the page-buffered event log. This is the default assertion surface because it reflects events broadcast from the Service Worker to the page. Use `getSWChaosLogFromSW(page)` when you need a direct pull from the Service Worker's in-memory log, such as debugging a missed page-side broadcast.\n\n`removeSWChaos(page)` stops the worker engine and clears both the page-buffered and worker-side logs. Unregister the app's Service Worker when you need a completely fresh registration between tests.\n\nUser's SW must `importScripts('/chaos-maker-sw.js')` (classic) or `import { installChaosSW } from '@chaos-maker/core/sw'` (module).\n\nBrowser-side `enableGroup` and `disableGroup` affect page rules from `injectChaos`. `enableSWGroup` and `disableSWGroup` affect Service Worker rules from `injectSWChaos`.\n\n## SSE and GraphQL\n\n```ts\nawait injectChaos(page, {\n  seed: 42,\n  sse: {\n    closes: [{ urlPattern: '/events', afterMs: 2000, probability: 0.02 }],\n  },\n  network: {\n    failures: [{\n      urlPattern: '/graphql',\n      graphqlOperation: 'GetUser',\n      statusCode: 503,\n      probability: 1,\n    }],\n  },\n});\nawait page.goto('http://localhost:3000/dashboard');\n```\n\nSSE chaos and GraphQL operation matching use the same pre-navigation `injectChaos()` timing as fetch, XHR, and WebSocket chaos.\n\n## Notes\n\n- **Headless Chromium only** (headless-new mode, Puppeteer 21+). Firefox via `puppeteer-core` is untested.\n- Trace viewer integration (surfacing chaos events in a trace timeline) is not available in this adapter - use `@chaos-maker/playwright` if you need traces.\n- Works with both `puppeteer` and `puppeteer-core` - the type is structural.\n","readmeFilename":"README.md"}