{"_id":"@storycap-testrun/node","_rev":"8-5e0aebbaa447bf652a28df59aab6630a","name":"@storycap-testrun/node","dist-tags":{"canary":"2.0.0-canary.0","latest":"3.1.1"},"versions":{"2.0.0-canary.0":{"name":"@storycap-testrun/node","version":"2.0.0-canary.0","keywords":["storybook","storybook-addon","storycap","addon","playwright","screenshot","visual-testing","testing","test"],"author":{"name":"wadackel"},"license":"MIT","_id":"@storycap-testrun/node@2.0.0-canary.0","maintainers":[{"name":"wadackel","email":"wadackel@gmail.com"}],"contributors":[{"name":"Yosuke Kurami"}],"homepage":"https://github.com/reg-viz/storycap-testrun","bugs":{"url":"https://github.com/reg-viz/storycap-testrun/issues"},"dist":{"shasum":"da564a58816167b4ac228640deb059b7ad32265b","tarball":"https://registry.npmjs.org/@storycap-testrun/node/-/node-2.0.0-canary.0.tgz","fileCount":10,"integrity":"sha512-90wgRi6ciDwzwh4TGeFNB2js6hqT8i9/TmrTypZx6ijs6xlyNsMU7I94mnS2KKMR+GtI7skU3FjyuaOJYvBQ6w==","signatures":[{"sig":"MEUCIQDpLySCgzY0ush+VyaZ0fOsiFmVDbZ43o+In6JQKdVN8AIgCA3Dw9P4TkIK4TlWItx7OTVXFrkWf1yQYcngCceAahg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31789},"main":"./dist/index.js","_from":"file:storycap-testrun-node-2.0.0-canary.0.tgz","types":"./dist/index.d.ts","tsdown":{"dts":true,"clean":true,"entry":["src/index.ts"],"format":["esm","cjs"],"minify":true,"sourcemap":false,"splitting":false},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown","clean":"rimraf dist","typecheck":"tsc","test:watch":"vitest"},"_npmUser":{"name":"wadackel","email":"wadackel@gmail.com"},"_resolved":"/private/var/folders/j6/2yds_hjd7j13wmsnjhbcbmjr0000gn/T/d185c45f4d41297be9c60a36e2af8076/storycap-testrun-node-2.0.0-canary.0.tgz","_integrity":"sha512-90wgRi6ciDwzwh4TGeFNB2js6hqT8i9/TmrTypZx6ijs6xlyNsMU7I94mnS2KKMR+GtI7skU3FjyuaOJYvBQ6w==","repository":{"url":"git+https://github.com/reg-viz/storycap-testrun.git","type":"git","directory":"packages/node"},"_npmVersion":"10.9.3","description":"Node.js screenshot capture for Storybook Test Runner - Provides stable screenshot functionality using Playwright for visual regression testing","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@storycap-testrun/internal":"2.0.0-canary.0"},"_hasShrinkwrap":false,"devDependencies":{"@storybook/test-runner":"^0.23.0"},"peerDependencies":{"playwright":"*","@storybook/test-runner":"*"},"_npmOperationalInternal":{"tmp":"tmp/node_2.0.0-canary.0_1758441646118_0.16948036969252112","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@storycap-testrun/node","version":"2.0.0","keywords":["storybook","storybook-addon","storycap","addon","playwright","screenshot","visual-testing","testing","test"],"author":{"name":"wadackel"},"license":"MIT","_id":"@storycap-testrun/node@2.0.0","maintainers":[{"name":"wadackel","email":"wadackel@gmail.com"}],"contributors":[{"name":"Yosuke Kurami"}],"homepage":"https://github.com/reg-viz/storycap-testrun","bugs":{"url":"https://github.com/reg-viz/storycap-testrun/issues"},"dist":{"shasum":"c6ffd0f696225a37b5ff8c549d9623847067115f","tarball":"https://registry.npmjs.org/@storycap-testrun/node/-/node-2.0.0.tgz","fileCount":10,"integrity":"sha512-rFGY9Tq72cLBmS9or+4Ujh2T6KYa8RVrDND+y2xCyLKEUWlQnjLwNBBCZOERrdUF/noec5rJrvSNEE7pP7jdTw==","signatures":[{"sig":"MEUCIEjn6zSgHGSBhcZDGrNZyZ/eAI9YqoAiDXPJrE9QsqjlAiEAjxkhWkqY3v7zPn6JmaTQDkZ+MBAoldxem0bzbU8BLek=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@storycap-testrun%2fnode@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31820},"main":"./dist/index.js","_from":"file:storycap-testrun-node-2.0.0.tgz","types":"./dist/index.d.ts","tsdown":{"dts":true,"clean":true,"entry":["src/index.ts"],"format":["esm","cjs"],"minify":true,"sourcemap":false,"splitting":false},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown","clean":"rimraf dist","typecheck":"tsc","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2c50bd55-c876-434e-b18b-d8f7b77b4ed6"}},"_resolved":"/tmp/77c3f402955b8f01ac0914121d86f642/storycap-testrun-node-2.0.0.tgz","_integrity":"sha512-rFGY9Tq72cLBmS9or+4Ujh2T6KYa8RVrDND+y2xCyLKEUWlQnjLwNBBCZOERrdUF/noec5rJrvSNEE7pP7jdTw==","repository":{"url":"git+https://github.com/reg-viz/storycap-testrun.git","type":"git","directory":"packages/node"},"_npmVersion":"11.6.0","description":"Node.js screenshot capture for Storybook Test Runner - Provides stable screenshot functionality using Playwright for visual regression testing","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@storycap-testrun/internal":"2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@storybook/test-runner":"^0.23.0"},"peerDependencies":{"playwright":"*","@storybook/test-runner":"*"},"_npmOperationalInternal":{"tmp":"tmp/node_2.0.0_1758443778200_0.7104427318774444","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@storycap-testrun/node","version":"2.1.0","keywords":["addon","playwright","screenshot","storybook","storybook-addon","storycap","test","testing","visual-testing"],"author":{"name":"wadackel"},"license":"MIT","_id":"@storycap-testrun/node@2.1.0","maintainers":[{"name":"wadackel","email":"wadackel@gmail.com"}],"contributors":[{"name":"Yosuke Kurami"}],"homepage":"https://github.com/reg-viz/storycap-testrun","bugs":{"url":"https://github.com/reg-viz/storycap-testrun/issues"},"dist":{"shasum":"57b93bdb0ad36a54c37023d276a7a7e87d834547","tarball":"https://registry.npmjs.org/@storycap-testrun/node/-/node-2.1.0.tgz","fileCount":10,"integrity":"sha512-Bv1/iej3hWstCDwsvZd/09Bxj3sdHtMxDiEMcAgfZ5ONbT/NPKaDK4qurtBnO2cyDSlawHFCOalDrX3Qpt8Zgw==","signatures":[{"sig":"MEUCIQCOScPpdQ2Qe53V03LGYqQCTatzrzylNwcstc3VcPTShwIgLxwoM1XJBXnU0xf7TRqPkKjBPWuJmtzOkJhvy8lV5mc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@storycap-testrun%2fnode@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31053},"main":"./dist/index.cjs","_from":"file:storycap-testrun-node-2.1.0.tgz","types":"./dist/index.d.cts","tsdown":{"dts":true,"clean":true,"entry":["src/index.ts"],"format":["esm","cjs"],"minify":true,"sourcemap":false,"splitting":false},"exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.cts"},"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown","clean":"rimraf dist","typecheck":"tsc","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2c50bd55-c876-434e-b18b-d8f7b77b4ed6"}},"_resolved":"/tmp/04945a9ab49e4bc50167bad3f348dc43/storycap-testrun-node-2.1.0.tgz","_integrity":"sha512-Bv1/iej3hWstCDwsvZd/09Bxj3sdHtMxDiEMcAgfZ5ONbT/NPKaDK4qurtBnO2cyDSlawHFCOalDrX3Qpt8Zgw==","repository":{"url":"git+https://github.com/reg-viz/storycap-testrun.git","type":"git","directory":"packages/node"},"_npmVersion":"11.12.0","description":"Node.js screenshot capture for Storybook Test Runner - Provides stable screenshot functionality using Playwright for visual regression testing","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@storycap-testrun/internal":"2.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@storybook/test-runner":"0.23.0"},"peerDependencies":{"playwright":"*","@storybook/test-runner":"*"},"_npmOperationalInternal":{"tmp":"tmp/node_2.1.0_1774107071807_0.9686584881823497","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@storycap-testrun/node","version":"2.1.1","keywords":["addon","playwright","screenshot","storybook","storybook-addon","storycap","test","testing","visual-testing"],"author":{"name":"wadackel"},"license":"MIT","_id":"@storycap-testrun/node@2.1.1","maintainers":[{"name":"wadackel","email":"wadackel@gmail.com"}],"contributors":[{"name":"Yosuke Kurami"}],"homepage":"https://github.com/reg-viz/storycap-testrun","bugs":{"url":"https://github.com/reg-viz/storycap-testrun/issues"},"dist":{"shasum":"d7a60867c3434fc444a3817f7b74561c121da7b5","tarball":"https://registry.npmjs.org/@storycap-testrun/node/-/node-2.1.1.tgz","fileCount":10,"integrity":"sha512-dd1DNvsF02E2PXd4kyp7Cj75lN5Oe+VRugqlbX04fwEy4mJTUmhzB+I0zGmnvCvpM0NPiAaSG52kx2TqMvP2Dw==","signatures":[{"sig":"MEQCICUJ4nB0KUN+2l5+4h7Gt1GnPWeqiCi/Skz6ILFHXIaVAiApxl0rzNEfCn8PN51/a/ky23OF3FKS+7+DsTrm1J/jtw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@storycap-testrun%2fnode@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31053},"main":"./dist/index.cjs","_from":"file:storycap-testrun-node-2.1.1.tgz","types":"./dist/index.d.cts","tsdown":{"dts":true,"clean":true,"entry":["src/index.ts"],"format":["esm","cjs"],"minify":true,"sourcemap":false,"splitting":false},"exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.cts"},"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown","clean":"rimraf dist","typecheck":"tsc","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2c50bd55-c876-434e-b18b-d8f7b77b4ed6"}},"_resolved":"/tmp/632cf09fd5e9525e9961c8c7c3591690/storycap-testrun-node-2.1.1.tgz","_integrity":"sha512-dd1DNvsF02E2PXd4kyp7Cj75lN5Oe+VRugqlbX04fwEy4mJTUmhzB+I0zGmnvCvpM0NPiAaSG52kx2TqMvP2Dw==","repository":{"url":"git+https://github.com/reg-viz/storycap-testrun.git","type":"git","directory":"packages/node"},"_npmVersion":"11.13.0","description":"Node.js screenshot capture for Storybook Test Runner - Provides stable screenshot functionality using Playwright for visual regression testing","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@storycap-testrun/internal":"2.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@storybook/test-runner":"0.23.0"},"peerDependencies":{"playwright":"*","@storybook/test-runner":"*"},"_npmOperationalInternal":{"tmp":"tmp/node_2.1.1_1777453983449_0.47419416584764407","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@storycap-testrun/node","version":"3.0.0","keywords":["addon","playwright","screenshot","storybook","storybook-addon","storycap","test","testing","visual-testing"],"author":"wadackel","license":"MIT","_id":"@storycap-testrun/node@3.0.0","maintainers":[{"name":"wadackel","email":"wadackel@gmail.com"}],"contributors":["Yosuke Kurami"],"homepage":"https://github.com/reg-viz/storycap-testrun","bugs":{"url":"https://github.com/reg-viz/storycap-testrun/issues"},"dist":{"shasum":"5829e7327d8410767aa58c50af878517a02e99e7","tarball":"https://registry.npmjs.org/@storycap-testrun/node/-/node-3.0.0.tgz","fileCount":10,"integrity":"sha512-K+dg51X0i1EjBPPYOHH2LTpX1gjtw7ekeg1xxdxPjE6pIJq9wRiVWoWI5c99dLKG9wHZT2BRC4ERzmt9BHDnbg==","signatures":[{"sig":"MEUCIGcKn2ZWdSyG5YldanD4gUjCbt1y9Opf2HMT6EJxRHeBAiEA175Fuzrd9MO5dbQKKg5C2HXqLy1Vtst19ZVhSLCMxaY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@storycap-testrun%2fnode@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31057},"main":"./dist/index.cjs","types":"./dist/index.d.cts","tsdown":{"dts":true,"clean":true,"entry":["src/index.ts"],"format":["esm","cjs"],"minify":true,"sourcemap":false,"splitting":false},"engines":{"node":">=22"},"exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.cts"},"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown","clean":"rimraf dist","typecheck":"tsc","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2c50bd55-c876-434e-b18b-d8f7b77b4ed6"}},"repository":{"url":"https://github.com/reg-viz/storycap-testrun.git","type":"git","directory":"packages/node"},"description":"Node.js screenshot capture for Storybook Test Runner - Provides stable screenshot functionality using Playwright for visual regression testing","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@storycap-testrun/internal":"3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@storybook/test-runner":"0.23.0"},"peerDependencies":{"playwright":"*","@storybook/test-runner":"*"},"_npmOperationalInternal":{"tmp":"tmp/node_3.0.0_1787995081654_0.8906943482335687","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@storycap-testrun/node","version":"3.0.1","keywords":["addon","playwright","screenshot","storybook","storybook-addon","storycap","test","testing","visual-testing"],"author":"wadackel","license":"MIT","_id":"@storycap-testrun/node@3.0.1","maintainers":[{"name":"wadackel","email":"wadackel@gmail.com"}],"contributors":["Yosuke Kurami"],"homepage":"https://github.com/reg-viz/storycap-testrun","bugs":{"url":"https://github.com/reg-viz/storycap-testrun/issues"},"dist":{"shasum":"18a7bb3f9bc559bedbc245a4ebe87569cc7dd795","tarball":"https://registry.npmjs.org/@storycap-testrun/node/-/node-3.0.1.tgz","fileCount":10,"integrity":"sha512-PeIfE7tq7uroLcg5lf/8Kp0HOv5dI8ZRswWYzmoIrpLWVYUxbrrEEvTR15UxdSmp1/1eAWsSp00cjrY6aeB3+w==","signatures":[{"sig":"MEUCIQDwTcfQFiiIr7+dgZF7cUlYUd5b20ZB+QtW4ezsfM/KbQIgEW8pLhpnK8KvE7c313XkNCTaHWUamgToSHJDDShlirI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@storycap-testrun%2fnode@3.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31057},"main":"./dist/index.cjs","types":"./dist/index.d.cts","tsdown":{"dts":true,"clean":true,"entry":["src/index.ts"],"format":["esm","cjs"],"minify":true,"sourcemap":false,"splitting":false},"engines":{"node":">=22"},"exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.cts"},"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown","clean":"rimraf dist","typecheck":"tsc","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2c50bd55-c876-434e-b18b-d8f7b77b4ed6"}},"repository":{"url":"https://github.com/reg-viz/storycap-testrun.git","type":"git","directory":"packages/node"},"description":"Node.js screenshot capture for Storybook Test Runner - Provides stable screenshot functionality using Playwright for visual regression testing","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@storycap-testrun/internal":"3.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@storybook/test-runner":"0.23.0"},"peerDependencies":{"playwright":"*","@storybook/test-runner":"*"},"_npmOperationalInternal":{"tmp":"tmp/node_3.0.1_1788365410116_0.8268181908981396","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@storycap-testrun/node","version":"3.1.0","keywords":["addon","playwright","screenshot","storybook","storybook-addon","storycap","test","testing","visual-testing"],"author":"wadackel","license":"MIT","_id":"@storycap-testrun/node@3.1.0","maintainers":[{"name":"wadackel","email":"wadackel@gmail.com"}],"contributors":["Yosuke Kurami"],"homepage":"https://github.com/reg-viz/storycap-testrun","bugs":{"url":"https://github.com/reg-viz/storycap-testrun/issues"},"dist":{"shasum":"20507f4a78b7c187f26660b01ae6d527d1bbe1ab","tarball":"https://registry.npmjs.org/@storycap-testrun/node/-/node-3.1.0.tgz","fileCount":10,"integrity":"sha512-HhwmIRnLR2LDVUc/F5Luydz6vCSg8CmwpwuXQYfh1U7ftbSquSnqIvgbnn922pfWg1bHsV0oECIdktqkwdDhog==","signatures":[{"sig":"MEUCIGhsV7zZsTGXs3rGOcwnaEalOPpXuPZ2ucPFBOyphJNYAiEA+g1iLrsaLzTQDHdD+8EX2+gmWw8xrpEU4kdtmrV+AIo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@storycap-testrun%2fnode@3.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31057},"main":"./dist/index.cjs","types":"./dist/index.d.cts","tsdown":{"dts":true,"clean":true,"entry":["src/index.ts"],"format":["esm","cjs"],"minify":true,"sourcemap":false,"splitting":false},"engines":{"node":">=22"},"exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.cts"},"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown","clean":"rimraf dist","typecheck":"tsc","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2c50bd55-c876-434e-b18b-d8f7b77b4ed6"}},"repository":{"url":"https://github.com/reg-viz/storycap-testrun.git","type":"git","directory":"packages/node"},"description":"Node.js screenshot capture for Storybook Test Runner - Provides stable screenshot functionality using Playwright for visual regression testing","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@storycap-testrun/internal":"3.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@storybook/test-runner":"0.23.0"},"peerDependencies":{"playwright":"*","@storybook/test-runner":"*"},"_npmOperationalInternal":{"tmp":"tmp/node_3.1.0_1788784176445_0.35594128148802007","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"_id":"@storycap-testrun/node@3.1.1","bugs":{"url":"https://github.com/reg-viz/storycap-testrun/issues"},"dist":{"shasum":"dc70554efbb59bad3fa32591678bf37cb0da51aa","tarball":"https://registry.npmjs.org/@storycap-testrun/node/-/node-3.1.1.tgz","fileCount":10,"integrity":"sha512-dCR820eUxukZsDGFy3/Nr9LrRo709YcvQLS8iFNKWPBNw4Yd+kFmFtGcsP14kQ/FSLZ2w0gl5hg7YDTL8Myu4Q==","signatures":[{"sig":"MEUCIQDbjdaJsJl746Imm6kFQW7DZC2Xi3YhiMQ2f4YA9Hj34QIgaxIETRca1XAi7HFWssbw40uudfCbtr537FeNon5XGF0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIESZCXvxTwnGr4/AEZQrWJM5/ahHKiRBmG6ABQfGlCAcAiEAvEw4/tpsEbADVMSjPRrr7vtXDw4PY38Fa0cmYxx1CbE="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@storycap-testrun%2fnode@3.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30911},"main":"./dist/index.cjs","name":"@storycap-testrun/node","types":"./dist/index.d.cts","author":"wadackel","tsdown":{"dts":true,"clean":true,"entry":["src/index.ts"],"format":["esm","cjs"],"minify":true,"sourcemap":false,"splitting":false},"engines":{"node":">=22"},"exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.cts"},"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json"},"license":"MIT","scripts":{"test":"vitest run","build":"tsdown","clean":"rimraf dist","typecheck":"tsc","test:watch":"vitest"},"version":"3.1.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2c50bd55-c876-434e-b18b-d8f7b77b4ed6"}},"homepage":"https://github.com/reg-viz/storycap-testrun","keywords":["addon","playwright","screenshot","storybook","storybook-addon","storycap","test","testing","visual-testing"],"repository":{"url":"https://github.com/reg-viz/storycap-testrun.git","type":"git","directory":"packages/node"},"description":"Node.js screenshot capture for Storybook Test Runner - Provides stable screenshot functionality using Playwright for visual regression testing","directories":{},"maintainers":[{"name":"wadackel","email":"wadackel@gmail.com"}],"contributors":["Yosuke Kurami"],"dependencies":{"@storycap-testrun/internal":"3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@storybook/test-runner":"0.23.0"},"peerDependencies":{"playwright":"*","@storybook/test-runner":"*"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/node_3.1.1_1789748305255_0.857557390876184"}}},"time":{"created":"2025-09-21T08:00:45.980Z","modified":"2026-09-18T16:18:25.690Z","2.0.0-canary.0":"2025-09-21T08:00:46.305Z","2.0.0":"2025-09-21T08:36:18.371Z","2.1.0":"2026-03-21T15:31:11.955Z","2.1.1":"2026-04-29T09:13:03.584Z","3.0.0":"2026-08-29T09:18:01.785Z","3.0.1":"2026-09-02T16:10:10.261Z","3.1.0":"2026-09-07T12:29:36.584Z","3.1.1":"2026-09-18T16:18:25.341Z"},"bugs":{"url":"https://github.com/reg-viz/storycap-testrun/issues"},"author":"wadackel","license":"MIT","homepage":"https://github.com/reg-viz/storycap-testrun","keywords":["addon","playwright","screenshot","storybook","storybook-addon","storycap","test","testing","visual-testing"],"repository":{"url":"https://github.com/reg-viz/storycap-testrun.git","type":"git","directory":"packages/node"},"description":"Node.js screenshot capture for Storybook Test Runner - Provides stable screenshot functionality using Playwright for visual regression testing","contributors":["Yosuke Kurami"],"maintainers":[{"name":"wadackel","email":"wadackel@gmail.com"}],"readme":"<h1 align=\"center\">@storycap-testrun/node</h1>\n<p align=\"center\">\n    <a href=\"https://github.com/reg-viz/storycap-testrun/actions/workflows/ci.yaml?query=branch%3Amain\"><img alt=\"GitHub Actions Workflow Status\" src=\"https://img.shields.io/github/actions/workflow/status/reg-viz/storycap-testrun/ci.yaml?branch=main&style=flat-square&logo=GitHub%20Actions&logoColor=white\"></a>\n    <a href=\"https://www.npmjs.com/package/@storycap-testrun/node\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/%40storycap-testrun%2Fnode?style=flat-square&logo=white\"></a>\n    <a href=\"https://github.com/reg-viz/storycap-testrun/blob/main/LICENSE\"><img src=\"https://img.shields.io/github/license/reg-viz/storycap-testrun?label=license&style=flat-square\" alt=\"MIT LICENSE\" /></a>\n</p>\n<p align=\"center\">Node.js screenshot capture for Storybook Test Runner - Provides stable screenshot functionality using Playwright for visual regression testing.</p>\n\n---\n\n`@storycap-testrun/node` implements stable screenshot capture for [`@storybook/test-runner`][storybook-test-runner] using the same reliability approach as [storycap][storycap] :camera:\n\n## Why `@storycap-testrun/node`?\n\nStandard `waitForPageReady` in [`@storybook/test-runner`][storybook-test-runner] provides only basic stability checks, often resulting in flaky visual tests.\n\n`@storycap-testrun/node` solves this by implementing [storycap][storycap]'s proven stability detection:\n\n- **Metrics monitoring** via [CDP][cdp] (Chrome DevTools Protocol) for rendering completion\n- **Hash verification** across multiple screenshot captures for content consistency\n- **Flaky test prevention** with masking and element removal capabilities\n\nThis ensures reliable visual regression testing without the common issues of timing-based approaches.\n\n### Features\n\n- High stability checks for rendering content\n- Accurate waiting for Play Function\n- Customization before and after screenshot capture using Hooks\n- Masking of unstable elements\n- Removal of unstable elements\n- Skipping of unstable elements\n- Integration with @storybook/test-runner\n- CDP-based metrics monitoring\n\n### Limitations\n\n- **Single viewport per test run**\n  - A limitation of [@storybook/test-runner](storybook-test-runner). It can be addressed by running tests in multiple Viewports as needed\n- **No pseudo-state variants** (`:hover`, `:focus`, etc.)\n  - Intentionally excluded to avoid conflicts with other `postVisit` hooks\n  - **Workaround**: Use Story play functions to set desired states before screenshot capture\n\n## Installation\n\nInstall via npm:\n\n```bash\n$ npm install --save-dev @storycap-testrun/node\n```\n\n## Getting Started\n\nPlease set up [`@storybook/test-runner`][storybook-test-runner] beforehand.\n\nYou can start using it immediately by calling the `screenshot` function in `postVisit`.\n\n```typescript\n// .storybook/test-runner.ts\nimport type { TestRunnerConfig } from '@storybook/test-runner';\nimport { screenshot } from '@storycap-testrun/node';\n\nconst config: TestRunnerConfig = {\n  async postVisit(page, context) {\n    await screenshot(page, context, {\n      // options...\n    });\n  },\n};\n\nexport default config;\n```\n\n> [!IMPORTANT]\n> Since the `screenshot` function automatically performs stability checks internally, waiting functions like `waitForPageReady` are unnecessary.\n\n```bash\n$ test-storybook\n```\n\nThen, run [`@storybook/test-runner`][storybook-test-runner].\n\nBy default, the screenshot images are saved in the `__screenshots__` directory.\n\n### TypeScript Setup\n\nEnable type checking for screenshot parameters by extending your Storybook framework's module declaration.\n\nAdd this to a `.d.ts` file in your project (e.g., `types/storybook.d.ts`):\n\n```typescript\nimport type { ScreenshotParameters } from '@storycap-testrun/node';\n\n// Replace it with the framework you are using.\ndeclare module '@storybook/react' {\n  interface Parameters {\n    screenshot?: ScreenshotParameters;\n  }\n}\n\n// For other frameworks, replace with your framework's module name\n```\n\nThis enables IntelliSense and type checking when defining screenshot parameters in your stories.\n\n## API\n\n### `screenshot(page, context, options)`\n\n- `page: Page`\n  - The Playwright page instance passed in `postVisit`.\n- `context: TestContext`\n  - The test context from [`@storybook/test-runner`][storybook-test-runner] passed in `postVisit`.\n- `options: NodeScreenshotOptions`\n  - See [Options Section](#options).\n- Returns: `Promise<void>`\n\n## Options\n\nOptions that can be specified as the third argument in the `screenshot` function.\n\n### `output.dir`\n\n**Type:** `string`  \n**Default:** `path.join(process.cwd(), '__screenshots__')`\n\nSpecifies the root directory for saving screenshot images.\n\n### `output.file`\n\n**Type:** `string | ((context: NodeScreenshotContext) => string)`  \n**Default:** `path.join('[title]', '[name].png')`\n\nSpecifies the file name for the screenshot image of each Story.\n\nWhen specifying a `string`, the following templates can be used:\n\n- `[id]`: Story ID\n- `[title]`: Story's title\n- `[name]`: Story's name\n\nWhen specifying a function, you can access the context object:\n\n```typescript\nscreenshot(page, context, {\n  output: {\n    file: (context) => path.join(context.title, `${context.name}.png`),\n  },\n});\n```\n\n### `flakiness.metrics.enabled`\n\n**Type:** `boolean`  \n**Default:** `true`\n\nWhen set to `true`, it monitors several metrics related to the rendering of the Story and performs stability checks.\n\n> [!WARNING]\n> As this process depends on [CDP][cdp], it works only in Chromium browsers. If enabled in browsers other than Chromium, a warning will be displayed.\n\n### `flakiness.metrics.retries`\n\n**Type:** `number`  \n**Default:** `1000`\n\nThe number of retries during metrics monitoring. It continues monitoring for the specified number of frames (1 frame = 16ms) and ensures that the metrics stabilize.\n\n### `flakiness.retake.enabled`\n\n**Type:** `boolean`  \n**Default:** `true`\n\nThis option calculates the hash value of the screenshot image and checks the stability of the rendering content by ensuring that there are no changes in the image.\n\n> [!TIP]\n> In the case of Chromium, `flakiness.metrics.enabled` alone is often sufficient. Enabling this option means capturing screenshots at least twice, so it's recommended to disable it if it leads to performance degradation.\n\n### `flakiness.retake.interval`\n\n**Type:** `number`  \n**Default:** `100`\n\nThe interval in milliseconds before attempting to capture the screenshot again. The second capture is performed immediately for hash checking.\n\n### `flakiness.retake.retries`\n\n**Type:** `number`  \n**Default:** `10`\n\nThe number of times to repeat capturing the screenshot until the hash values of the images are identical. A value of 3 or more is recommended to achieve the effect of retries.\n\n### `hooks`\n\n**Type:** `NodeScreenshotHook[]`  \n**Default:** `[]`\n\nHooks for interrupting processes before and after screenshot capture. Please specify an object that implements the following interface.\n\n```typescript\nexport type BrowserScreenshotHook = {\n  setup?: (page: Page, context: NodeScreenshotContext) => Promise<void>;\n  preCapture?: (page: Page, context: NodeScreenshotContext) => Promise<void>;\n  postCapture?: (\n    page: Page,\n    context: NodeScreenshotContext,\n    filepath: string,\n  ) => Promise<void>;\n};\n```\n\nEach is executed in the following lifecycle:\n\n| Method        | Description                                                 |\n| :------------ | :---------------------------------------------------------- |\n| `setup`       | Immediately after the `screenshot` function is executed     |\n| `preCapture`  | After `waitForPageReady` is executed                        |\n| `postCapture` | After the screenshot is captured, before the image is saved |\n\nThe built-in functions like Masking and Removal are implemented using Hooks.\n\n### `fullPage`\n\n**Type:** `boolean`  \n**Default:** `true`\n\nSee [Page | Playwright][playwright-screenshot].\n\n### `omitBackground`\n\n**Type:** `boolean`  \n**Default:** `false`\n\nSee [Page | Playwright][playwright-screenshot].\n\n### `scale`\n\n**Type:** `'css' | 'device'`  \n**Default:** `'device'`\n\nSee [Page | Playwright][playwright-screenshot].\n\n## Parameters\n\nThese are parameters that can be specified for each Story.\n\n```typescript\n// Button.stories.tsx\nconst meta: Meta<typeof Button> = {\n  component: Button,\n  parameters: {\n    screenshot: {/* parameters... */},\n  },\n};\n\nexport default meta;\n```\n\n### `skip`\n\n**Type:** `boolean`  \n**Default:** `false`\n\nSkips the screenshot capture. Useful in cases where you want to conduct tests with [`@storybook/test-runner`][storybook-test-runner] but disable screenshot capture.\n\n### `delay`\n\n**Type:** `number`  \n**Default:** None\n\nThe delay in milliseconds before capturing the screenshot. Waits after completing the basic stability checks.\n\n### `mask`\n\n**Type:** `string | { selector: string; color: string }`  \n**Default:** None\n\nMasks elements corresponding to the CSS selector with a rectangle. Useful for hiding elements that inevitably differ in content with each render.\n\n### `remove`\n\n**Type:** `string`  \n**Default:** None\n\nRemoves elements corresponding to the CSS selector.\n\n## CHANGELOG\n\nSee [CHANGELOG.md](./CHANGELOG.md).\n\n## License\n\n[MIT © reg-viz](../../LICENSE)\n\n![reg-viz](https://raw.githubusercontent.com/reg-viz/artwork/master/repository/footer.png)\n\n[storycap]: https://github.com/reg-viz/storycap\n[storybook-test-runner]: https://github.com/storybookjs/test-runner\n[cdp]: https://chromedevtools.github.io/devtools-protocol/\n[playwright-screenshot]: https://playwright.dev/docs/api/class-page#page-screenshot\n","readmeFilename":""}