{"_id":"kerfjs","_rev":"103-ffd666bad9b281dd613d21b48cb66475","name":"kerfjs","dist-tags":{"latest":"4.4.1","beta":"5.0.0-beta.50"},"versions":{"0.1.0":{"name":"kerfjs","version":"0.1.0","keywords":["reactive","signals","morphdom","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.1.0","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://github.com/brianwestphal/kerf","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"de118ae34f0c6ec957ce3492bedf77f9baeaeb55","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.1.0.tgz","fileCount":14,"integrity":"sha512-YFJ/7by1m/6ogC5yWRYQ83LV6S1N+/2Zz137UJf673RikFKxps0kD1bQQiB/+AGTBLjWTcvOAh4LFNXIdRNCDg==","signatures":[{"sig":"MEQCICNOXBlbPI+E+752GJ60O6+BMm7xJnyeGzBBi1nDONY4AiAtEb/uTfqGYKwe91hW7JBV84BAQ+ZztmwEwhdhjFg7OA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75487},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"gitHead":"f89c0fa50dc8be9790790ac5dcf9a596d7d5b4e5","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","clean":"rm -rf dist coverage node_modules/.cache","release":"bash scripts/release.sh","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","test:watch":"vitest","release:beta":"bash scripts/release.sh --beta","prepublishOnly":"npm run build","test:integration":"vitest run tests/integration --coverage","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"bwestphal","email":"brian.westphal@bleugris.com"},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.11.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"morphdom":"^2.7.8","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","happy-dom":"^15.11.0","typescript":"^5.7.0","@types/node":"^22.10.0","@types/jsdom":"^28.0.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.1.0_1778120815590_0.4931623036548918","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"kerfjs","version":"0.1.2","keywords":["reactive","signals","morphdom","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.1.2","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://github.com/brianwestphal/kerf","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"b1a34c4a801958544e692c7187e007dc52251fc0","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.1.2.tgz","fileCount":14,"integrity":"sha512-rb0dmc+cdAbwgJ7uImWKN+JUOVk1WsPq13PHISCRnimTJFh/4I3banzElVIi2rbQtfy0Zx+CVFMx6Qi03UZPJA==","signatures":[{"sig":"MEYCIQDQLDoNM3MkQ3ccBzO3rEPtCDEBb36Dn1NQ+S2MAK2BrgIhAL21FNSP7X6OUXK+ukaF4NQ0FU4geqQzI2JvBXN7/9k4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":75636},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"gitHead":"4f005a324efdc212c60b6fc9df638af16882ea04","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","clean":"rm -rf dist coverage node_modules/.cache","release":"bash scripts/release.sh","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","test:watch":"vitest","release:beta":"bash scripts/release.sh --beta","prepublishOnly":"npm run build","test:integration":"vitest run tests/integration --coverage","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.14.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"morphdom":"^2.7.8","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","happy-dom":"^15.11.0","typescript":"^5.7.0","@types/node":"^22.10.0","@types/jsdom":"^28.0.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.1.2_1778124235973_0.08924022017411093","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"kerfjs","version":"0.2.0","keywords":["reactive","signals","morphdom","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.2.0","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://github.com/brianwestphal/kerf","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"2d6a4a505c17bb6c366122d830fdb62a5cbda1e0","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.2.0.tgz","fileCount":18,"integrity":"sha512-vO3DFckI7/oSFKcS4syiaAFCgDSGvXw5TIhoe0lyQRxnYfnPW1r2r3dYvFiCter79+V1R0z8hOwtWkXEspLLmg==","signatures":[{"sig":"MEYCIQCh0Vp+pcLHGxey9mcj6IT09Jai9u+ncku7fUwqHp/E1gIhAMOLA+SZCFb6gJhvd/BDVxFUWMti9hKLfyAKx9JVCtQ/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":74585},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"gitHead":"b42a0789eca96563949b9fc3cf246feef0c60632","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","clean":"rm -rf dist coverage node_modules/.cache","release":"bash scripts/release.sh","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","test:watch":"vitest","release:beta":"bash scripts/release.sh --beta","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.14.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"morphdom":"^2.7.8","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","happy-dom":"^15.11.0","typescript":"^5.7.0","@types/node":"^22.10.0","@types/jsdom":"^28.0.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.2.0_1778137696930_0.7905428100766969","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"kerfjs","version":"0.2.1","keywords":["reactive","signals","morphdom","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.2.1","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://github.com/brianwestphal/kerf","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"2d59979c78ec97470b330ad3cac85e237330cf79","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.2.1.tgz","fileCount":18,"integrity":"sha512-8zJ7rsTfjpXuJw0u64Btur23GBUg9R/MytSw8fzMDEC1jlsBEXJPUgLTTHpHctRX4V8INwHQ4yTxOE9XcupxFA==","signatures":[{"sig":"MEQCIBlTkCXIWytHzSM0woD2GBCHo9odYJy8Fwhz0jsaHJbMAiAPO8LgULm1Kz6PBue5OXk5STI710gtIDJ/fgEWc7M9/w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":75577},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"gitHead":"dbc04e3e49b1c026f3edbcf379b4c48740531998","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","clean":"rm -rf dist coverage node_modules/.cache","release":"bash scripts/release.sh","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","test:watch":"vitest","release:beta":"bash scripts/release.sh --beta","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.14.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"morphdom":"^2.7.8","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","happy-dom":"^15.11.0","typescript":"^5.7.0","@types/node":"^22.10.0","@types/jsdom":"^28.0.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.2.1_1778140511849_0.5847931226993877","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"kerfjs","version":"0.3.0","keywords":["reactive","signals","morphdom","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.3.0","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://github.com/brianwestphal/kerf","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"769c7bfac8ac238667468fc5b66cf66371256bcf","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.3.0.tgz","fileCount":18,"integrity":"sha512-HqyLw4pfQbAToiA8SK6pC881Fndrz29BlQzNVq27ZLY4fHIiITc1NAOvSowXia/keu3zUBsWhSlu1RKkIFO8tw==","signatures":[{"sig":"MEUCIC9/PPV3DB37of52LbbIWWiPIXpOCgQQPmnfzHEVUXd7AiEAmd56oQwpUwhaA+MLOPECL0U6lUsZjoO0bx5l7HZqNlY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":134143},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"gitHead":"e204d8b3b6c17c70f41774a8bfe01494317e3922","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","test:watch":"vitest","release:beta":"bash scripts/release.sh --beta","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.14.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","happy-dom":"^15.11.0","typescript":"^5.7.0","@types/node":"^22.10.0","@types/jsdom":"^28.0.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.3.0_1778192973164_0.8223408789183133","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"kerfjs","version":"0.3.1","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.3.1","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://github.com/brianwestphal/kerf","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"026f302b48b35ec5e76dc1e78534f2d764dd92ac","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.3.1.tgz","fileCount":18,"integrity":"sha512-IDQBT4y9Ir1eULdM7A6+d8HV78t+JfJPPW6j4vTOM9Uw35B0nzR7qP13QdH7Wa6zYE+NzvCXwU3l2AsRkFNdzQ==","signatures":[{"sig":"MEUCIDj+Uq/BJ7aC/09vxF8uQegIGJoZRJIQa+mQtILg+iEXAiEA8TLJuxr7R8nCb/06T21t5UMyis0M6Zx4T4BzhVeBomw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":137027},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"gitHead":"856fd7e876dc77f66a9232665bfaeb2a19bbfb76","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","test:watch":"vitest","release:beta":"bash scripts/release.sh --beta","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.14.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","happy-dom":"^15.11.0","typescript":"^5.7.0","@types/node":"^22.10.0","@types/jsdom":"^28.0.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.3.1_1778195718648_0.6309597808756502","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"kerfjs","version":"0.4.2","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.4.2","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://github.com/brianwestphal/kerf","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"b59ca863621cee8495fa51bb921f05734b913156","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.4.2.tgz","fileCount":18,"integrity":"sha512-2gy7RxNww1EMV1g4bWlFZFjuxsleLcewAky6pjlcjkOboO3b8G4h0t6/Zp2VEBPIVohB0CCJvNcgO5MCDqYxnQ==","signatures":[{"sig":"MEQCIHPCe6fJVQhsto/I2jlszARHd1EbMmzTx2aYkOfghL/NAiBvo6JsmCEFt2TVDZyIEBz+ZNNTPHFgO08oH9RPU5xR3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":149114},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"gitHead":"1e8e077c4bacab6a9727e04957910545e15d3dfe","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","site:build":"cd site && npm install && npm run build","test:watch":"vitest","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.14.1","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","@types/jsdom":"^28.0.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.4.2_1778298138294_0.889474296428808","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"kerfjs","version":"0.5.0","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.5.0","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://github.com/brianwestphal/kerf","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"ec68aed452d28f0c40bc7ff940cedf6fb1f1de40","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.5.0.tgz","fileCount":23,"integrity":"sha512-N+f+1f1IiFDzoP3wSUpT76xikF8fC+nJLlkrIhrYzfhUI6LmDCHqIz/0MerA4fcvNWWvjYwO8LdeBS2jfw6qMg==","signatures":[{"sig":"MEUCIQDSybM4bDnbEeTYLMdcEUA+HuYqT+QORS2s+i0yelB85AIgcsRI+fcnQwEauSVZErQq6fp//mfySAF7XY+OZYt1GVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":264319},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"gitHead":"ed2042ba2d9d0809008dfcf27ad1479a3d650d44","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","site:build":"cd site && npm install && npm run build","test:watch":"vitest","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.14.1","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.5.0_1778394231291_0.756390407098422","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"kerfjs","version":"0.5.1","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.5.1","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://github.com/brianwestphal/kerf","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"e25bacc0568b1d4a9920f9accc5c2b2fa705c343","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.5.1.tgz","fileCount":23,"integrity":"sha512-hZxOEINtTOx2E7hFED+V0C6zaMa3ZvQitPzyTdvLHaeVxfTVhBxARciwE6h613iRnGJsNfSU6JgXnjccNcDFuA==","signatures":[{"sig":"MEUCIEL+8FGlh10E2RcJfu1Az/Er2PHLD5MgrgQKyD5GBU9eAiEAxLp9aG8GkQi0DvXQdnf2nXIMiKWfrd0AGL8G2rFGpQI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":265320},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"gitHead":"4a3ce070f93be4f952ce1063bd4f0bbae11e7d72","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","site:build":"cd site && npm install && npm run build","test:watch":"vitest","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.14.1","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.5.1_1778452276019_0.10114492706954548","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"kerfjs","version":"0.6.0","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.6.0","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://github.com/brianwestphal/kerf","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"6102ccea9e962a8842b00455001becf1a1c58b90","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.6.0.tgz","fileCount":23,"integrity":"sha512-DDLCV9b6R6eUXMZYoAXem8ZuOn6QNrs2RDo9Gu5adnADsmZnZdK1lFjYfL1wEtbC7y8ot5p0+1SiTLwd3Cp46A==","signatures":[{"sig":"MEYCIQC2Q7QFYXzYnOzZe78QxXdgAFjI4G0g9/nSzZow2HQGjwIhAIWFq5vbj0L7+LpJrNVIf2ExZiSZ1iIA/bh50GHUMOFV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":277080},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"gitHead":"9593dcfbb9d10b0792b2541a8bcf6ae7815c49a6","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","site:build":"cd site && npm install && npm run build","test:watch":"vitest","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.14.1","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.6.0_1778484613753_0.663241717845251","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"kerfjs","version":"0.7.0","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.7.0","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://github.com/brianwestphal/kerf","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"ba8d337bb12387745231d7481c75a92cc7f63b92","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.7.0.tgz","fileCount":23,"integrity":"sha512-S/9tXZpjcxN83tOcKlo+HdwqcSyti4ZoK6DWSTKedaf74ZceSyaZ0+F3jfwFf6V4J54DOny+wxWOVK8eeFhN8A==","signatures":[{"sig":"MEQCIDCwyt6k7HraQRz6F8+yLarSJCoYTC++rtLqlS3hFHwqAiAHoDw5uMZ4zEWy6RJCbNaWHxBAZLvzjGP/9S/epHICAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":363160},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"gitHead":"dcfe50c853c1f2a35c12b9db72ee4692bb19f27e","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.14.1","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.7.0_1779085793044_0.0836791887610897","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"kerfjs","version":"0.8.0","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.8.0","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://github.com/brianwestphal/kerf","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"c9ec31bfe222f44f02a54aa472956933cf070b37","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.8.0.tgz","fileCount":23,"integrity":"sha512-jjYFD/AGgdLsRqja0dPypSyLYomJKAgftg1nk6TEJkXPI+LyTlmTci1iCAyyIm3230IuwQzn2XW7EiIk25BJ+A==","signatures":[{"sig":"MEUCIQCQJb6/MdZXTrPGoOaje20FFgW4SUDLP1SAjvoPoO2XSQIgLpaPBVonit4W1Qzp/6SjfbFnspbtLkOnM0VNtxN2c20=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":378170},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"gitHead":"5a3c8c3a0ff1017249402c46c9cba931cd269070","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.14.1","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.8.0_1779110598345_0.3232540046212071","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"kerfjs","version":"0.8.1","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.8.1","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://github.com/brianwestphal/kerf","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"6636c19176f8082b6feef6cf35aa876e05075473","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.8.1.tgz","fileCount":23,"integrity":"sha512-o9YMIX9r3EI4TbFiaX6YUpdG0mBuUamUtToAwST0ODPfLB0+piZhkL4I7cXA29nyPURxiiU8cLGZxgQo+gETJA==","signatures":[{"sig":"MEUCIHNCSZeOPUHtSPMxLEGM+d7JWJ5Zsi1wC8UX0fgz5D0CAiEAi+EJmUdBuLEn3exmqRPBMhoWHjJkrTTTUmCchK0to6A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":379073},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"gitHead":"766caecf08504361bc2d38afacfa017300dab2e6","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.14.1","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.8.1_1779163806819_0.5392246902394624","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"kerfjs","version":"0.8.2","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.8.2","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"d597309dd907e7554e630b479f5997abfd395e99","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.8.2.tgz","fileCount":23,"integrity":"sha512-ssxICoC4TsOtFxXUbR6xw4d+0DrzFqC+JN9v9B0TV8Ex0rwmTqAuyudcn9XuCjwp50D7BXcFX68kAh1nbIJvDw==","signatures":[{"sig":"MEQCIGam9lWKJJqSPFe26JU5rgSdIKTxDTR3Is6Y2ce/0DzdAiB+CjQoL6tYvQTR7GPA5qBkv0HX0uMFpXPACAptBdfn2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":379425},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"gitHead":"98e433a13181f8bf660a1a743334efce1d08c1d9","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.14.1","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.8.2_1779164454735_0.15518617078814323","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"kerfjs","version":"0.9.1","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.9.1","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"01aaca113576ef857b87ea8ba3e7415fca51f809","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.9.1.tgz","fileCount":26,"integrity":"sha512-ynEp2Vn3AR/eeILmMqeFJ5VUNJGcrRZyBTTBpjUFdUhrD57+buRbXXGej64VCI8tE3IDN1kCqxrfzyxSza8tVQ==","signatures":[{"sig":"MEUCIHnV33X9F0b8/APDqfay/Wobl5TSMP8yiCXgxGLiWb7wAiEApoAvYmv1CbTphDLNMczCFhvjPf8WdCBenHPH36ug8aY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":404436},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"gitHead":"0995e59b9e4c2471f2ace5603761ce0dd751d14f","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.14.1","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.9.1_1779263551383_0.5946827380689905","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"kerfjs","version":"0.10.0","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.10.0","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"ac3effc59e138248e668327b8239f5c163ae0cdb","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.10.0.tgz","fileCount":26,"integrity":"sha512-f2vQLjxmUQW/bdn0Len6D/ik9V8V2fySB5MwRK+5w7MUIQmWjMZ+jI4tOccGvogovyQvMqhywFaEwrlBVqV5CQ==","signatures":[{"sig":"MEYCIQD7y7lqbF5QewdfWD1CMBGSV8zU3DZRnv5XS+TLlp/Q7AIhANyjAsHaudyDRH/rD6nsVSr/RCSAbdYWpTr8DXCi496L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":404757},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./ai/*":"./ai/*","./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"gitHead":"22095cd38d4ac22bd2ad17b4ae1ec0ed4df3b3f3","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.14.1","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.10.0_1779264384209_0.22907839440175337","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"kerfjs","version":"0.11.0","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.11.0","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"168131121a544afeb236ae46643ba127f5ca1c0c","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.11.0.tgz","fileCount":26,"integrity":"sha512-kj+tDjiMEMH0S0tCof97s+288jv134c31EmQzHjnoCP8pAI7jqpxh8s8/wD5NRC/YCJAXfwibOw4S6a34KjtxA==","signatures":[{"sig":"MEUCIQDaiGGdzqkw4ihtztx/F83Q7iygk0XejNTWk1ImlmADFgIgCoR4jHCsuwnbOKO31Ncuw/ewL/DlQ+nEnT01/x9EQg4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":434644},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./ai/*":"./ai/*","./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"gitHead":"3ed80f4b76759ff40b5609bd709933a94455bab2","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.15.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.11.0_1779339729066_0.011928983973024332","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"kerfjs","version":"0.11.1","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.11.1","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"9c713077a520dd899b90e4c1da246c7851807c10","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.11.1.tgz","fileCount":26,"integrity":"sha512-jNFdReHXlBBnG8nkf7gqVd/jxhmC2luEq0L/8jdzr/lwXrW/X82vVPrPcFsULacOBYxjZ/0ddoFFnV5OI/g4og==","signatures":[{"sig":"MEUCIFGamoNehBBMOdGLFK3qKPpdB9ClrNDeMWte21T5MgEQAiEAykLQ2c8QYp+NBe+Hz1BbneCbGa+ZEbjyuO5keN05LXU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":436103},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./ai/*":"./ai/*","./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"gitHead":"9ec0a992db03bc2981fccf731dbe493a40d62652","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.15.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.11.1_1779350011105_0.054019080578109335","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"kerfjs","version":"0.12.0","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.12.0","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"0aac77b46fd95a3e0aa87f5a081f325c57d523c1","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.12.0.tgz","fileCount":26,"integrity":"sha512-VddSC239NH1F5tuLLrfF50Po9PHbSolzMmldKmCiQKEOHjx49MegdwvzrPn/g60guBwdzb60XsazbPrlQlzKQQ==","signatures":[{"sig":"MEUCIQCpQ2j6V1mH9nYIYqKEdwP+PYPP7a00F2ycpZybqr6OaQIgKIMFHzjT7rY23yidKT0Ug3LvSXZAAPIM/vsvakV/lEg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":441798},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./ai/*":"./ai/*","./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"gitHead":"270e93b08ca5005d84aba5e87fba365161a2eef9","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.15.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.12.0_1779433630488_0.6009722448257231","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"kerfjs","version":"0.12.1","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.12.1","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"7ff7e3d9b9e72fff8da22dfeddf36b919d1397d4","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.12.1.tgz","fileCount":26,"integrity":"sha512-/KYyvJpL8gSzmX4uvmlUxWXfL9ARlYi7BqGvU2Q6Etb5/EzWh6ka1KcSfQ4L3cMNUW36dxrefEC0oibCZCal/Q==","signatures":[{"sig":"MEQCIDBmicNa8T5TDSt5bqKqq4YGjzpQccHs/aXCnfffRK/4AiBPHPvsSn1HpvmnIWl+5bM6L27QEdtTbUjVM53ghQ4r7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.12.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":442177},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./ai/*":"./ai/*","./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"b78fa44c706515c46df24e59c095dc40a83cf05f","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.15.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.12.1_1779434972586_0.4095339811672083","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"kerfjs","version":"0.13.0","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.13.0","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"aaaaf68d7277d62efecf7aa9bf7f0074c3bdba59","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.13.0.tgz","fileCount":26,"integrity":"sha512-WfOjfOSZBJSLXvTdCeBmeNrO2E/9fgbU2sM7lGtEN7nDXT43iAVA8Pf4gq3sCYanCJ8aKsyosibzdLiUu1Uyfg==","signatures":[{"sig":"MEUCICmpfnyez+jb/8k5WLr9/0fafUkE57Zq8IixZ9zfsNtSAiEAySp5r7qVXTmyte1Un55VM9VpofoVnA9n+20Bd0VDWCo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":455522},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./ai/*":"./ai/*","./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"52d24e8225f437f4d7c450a9bfa0a04841d10448","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.15.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.13.0_1779496351027_0.9486958674502892","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"kerfjs","version":"0.14.0","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.14.0","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"b177e57a318bb21f7345daf3f9cbc5da9c3f58b4","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.14.0.tgz","fileCount":26,"integrity":"sha512-i9ckshmyLvM7XsO63IeCbV2onZ4u38Sch6uKTURQFAnZesxuBmpg/XtKszOzji2zCLvknB1kSRuEb6Y/8UhGlQ==","signatures":[{"sig":"MEUCIQD78CQdn2xekpH7EVkuuaBcuC4z5P1bp1knFem19l3WgAIgXmPbrPUeMgg3k1t8VyJg1c1WhiPYoOBWl1j3Y+D7g7g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":461990},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./ai/*":"./ai/*","./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"84ba36917356c23afdf6caa1b9b28de34882d5e8","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.15.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.14.0_1779842417108_0.9234381697723137","host":"s3://npm-registry-packages-npm-production"}},"0.15.0-beta.1":{"name":"kerfjs","version":"0.15.0-beta.1","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.15.0-beta.1","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"2a7e66a40cdf70a6e6183628a45e3ae52a0119fb","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.15.0-beta.1.tgz","fileCount":26,"integrity":"sha512-OYbEmoTrLepw+XBuOaCVeD0Qjvz4KI0V6rc1rCPmNvEQZNKmME8z9kS2+jmM+id0GRAZDS2sqBX35tZek1dXWg==","signatures":[{"sig":"MEQCIHF6RANIsCHrDg86wOp8MIUFoe4vK/rPDksK7cU7MwPOAiBJ4+p3UOcRGYhz8W2bRuDaPk6SrOtgst28tyTjohZ13g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.15.0-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":471880},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./ai/*":"./ai/*","./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"2ce9718100d4a2f9e49efae5e4c6a08903c9371a","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.17.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","gitgist":"^1.0.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.15.0-beta.1_1782180179349_0.6747885820120072","host":"s3://npm-registry-packages-npm-production"}},"0.15.0-beta.2":{"name":"kerfjs","version":"0.15.0-beta.2","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.15.0-beta.2","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"77d63aebd8410366b8f36e469ac40fb83ded15b1","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.15.0-beta.2.tgz","fileCount":26,"integrity":"sha512-0dfup8WDsgP6PkOGx3sIAW993mLQsXOnX8Q56yPjuUYEjYYB/EYeNmEbQa1suWL+YL6GLluMaB283JaXJzaZPA==","signatures":[{"sig":"MEQCICS7qu9KtZSE0sqfXSPpDAElmajfPliuAf0V4q/u+qIGAiBtm+MuqJwllBJMAAKVClhnalDLfY/dGuBel+/iM/551Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.15.0-beta.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":473151},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./ai/*":"./ai/*","./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"2f998b79f1319964cbbedd1a9dcd7e9e9bbab189","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.17.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","gitgist":"^1.0.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.15.0-beta.2_1782181387471_0.958666855798268","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"kerfjs","version":"0.15.0","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.15.0","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"4fc9042429c11f8b97c9ea4f123b21b7b616c31b","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.15.0.tgz","fileCount":26,"integrity":"sha512-mjPDY5YylTnlTVA6IykS/FmQLfOTQs/su3Sf81aoQhaGSwbM4XgKu/h6XjsKn1Os+ttZvrpxkCh6CwjX/x7AWw==","signatures":[{"sig":"MEUCIQCW0mNsFw0yFOQaZBRfVzLefOCjC+3eWBcm7MFFSKVYowIgRvKM8XIxru5FfQoLNcTb6GW9yz28cqy4N3zIs+y3k8M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":473830},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./ai/*":"./ai/*","./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"3c15526b6758e10b43cca52117fc462324c4fa50","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.18.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","gitgist":"^1.1.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.15.0_1782776365574_0.9230081052447443","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"kerfjs","version":"0.15.1","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.15.1","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"10f16a6c20fef15623b35dc0f1691c76793e1938","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.15.1.tgz","fileCount":26,"integrity":"sha512-YjrfsBUKepaAongFtORXodgM23MJOZwPq//XP5uejJHgZZCzgqQNndmcpZ/+vBgtvJsrA8ahHdkMV3i3jgrNbQ==","signatures":[{"sig":"MEUCIHcm8F0Do5TdLJjlXRtWFU1tVtMiPAfxF05h+fBWxxvvAiEAxHjvWTh9LGNJ1Yw81DVf9gNpBCsu5Zpkucnc8dK/p/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.15.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":422258},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./ai/*":"./ai/*","./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"d61eff8bc15557ef129e6d6e6ee89714d6f3ee70","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.18.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","gitgist":"^1.1.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.15.1_1782778130249_0.9892172028017163","host":"s3://npm-registry-packages-npm-production"}},"0.15.2":{"name":"kerfjs","version":"0.15.2","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.15.2","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"8e998711b78d9696e13fd2c585d4b6cb9acec863","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.15.2.tgz","fileCount":26,"integrity":"sha512-RH0hIHf7uxEDEmS/2BmUJkSMNepSd8HsakCMqs6ORCeN+XHfuW08yKFZihRIrTUlBCMNXYlLyjy1fRjLsvAkTg==","signatures":[{"sig":"MEUCIQDx5nvouWTuLS4Zh+BOJc8zVENID/qEhDeLNS76YIV8QAIgF9GBvzp48s91X1DiSaO+qp13UQtafIK22B9dccVbLv8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.15.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":423920},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./ai/*":"./ai/*","./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"a2d90affa8f8d208fc40661272bb336ced87beac","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.18.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","gitgist":"^1.1.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","domotion-svg":"^0.17.0","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.15.2_1782805432111_0.937161684476489","host":"s3://npm-registry-packages-npm-production"}},"0.15.3":{"name":"kerfjs","version":"0.15.3","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.15.3","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"9ac2b200cf020e4630c4ba0634a05a56dda06ed2","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.15.3.tgz","fileCount":26,"integrity":"sha512-LYBDB7pI1OpJ7/qD7nBSmwc83Lj1ZEuZRcrqY+s100zRBQjfaC25n6bHHwMkIbiFZIh6jzF//NatJmrz+PhWkQ==","signatures":[{"sig":"MEUCIAibfoQ/5pK8O407mkEMXyrSYvBedax24Utu9vtrUl4zAiEA/enNbCc3dFmz6cNm/5ma0102Ro7qWmV9pGre1MLdAso=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.15.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":424180},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./ai/*":"./ai/*","./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"66c950a6b9cd801a990787d4fda73b8ca3d47409","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.18.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","gitgist":"^1.1.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","domotion-svg":"^0.17.0","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.15.3_1782806798536_0.09952488652228864","host":"s3://npm-registry-packages-npm-production"}},"0.15.4":{"name":"kerfjs","version":"0.15.4","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.15.4","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"0f5e4bfa8ed9ac9cdb5766cd34dc64610235706d","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.15.4.tgz","fileCount":27,"integrity":"sha512-c2fIUaUGMXeerVfxYujGgmr6Uel6nC4zlDgGPAy0r7STUrjiPRW5SWinEx+l6TeGHpAV2vMHtC1fTBZwo8IrFg==","signatures":[{"sig":"MEYCIQC82OuUYajuV6DTuhGpEyGsUk6AxquKNU9EGubycU51NAIhANZGDRhp/dtZ3QX/HZdJS2IEfwBstdesvh36W/kwurUz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.15.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":430836},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./ai/*":"./ai/*","./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"41deaae4f88ed1f303696631028583453f10b2e6","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.18.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","gitgist":"^1.1.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","domotion-svg":"^0.17.0","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.15.4_1782810099382_0.005279122720807772","host":"s3://npm-registry-packages-npm-production"}},"0.15.5":{"name":"kerfjs","version":"0.15.5","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.15.5","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"7c48380193afca7b1e22e3af5e027fd59e897762","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.15.5.tgz","fileCount":27,"integrity":"sha512-KYZbJeUVreL0pv0qn8n96EF+v5WlWHPmzk6yTXrm6OlJDehBr0ZSc6gpGMQmd2XilOqxjTOtDUM0QOISLTheZw==","signatures":[{"sig":"MEQCIEqi0Gib4vuHHWoraFJocFMtyK8OXZEpFG835A2uMOAkAiBpdjDfKc02l28iaLuHSwhQRkiTjB3+Cb4UFe0ExxRVYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.15.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":431132},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./ai/*":"./ai/*","./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"137cc46ddd7eaba817ae557063d9e110fc66f243","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.18.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","gitgist":"^1.1.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","domotion-svg":"^0.17.0","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.15.5_1782810650150_0.6234022167692785","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"kerfjs","version":"0.16.0","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@0.16.0","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"a84abb0a8b3388b58737c849164749f08a4cc071","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-0.16.0.tgz","fileCount":27,"integrity":"sha512-UAvXBSM7ckwSl6pEnds6PkKbBRol7IZutCu+yI1XjJo6O4BNujl2Q2eqg/OhfmX1zz1yfEGSYX/nT/IV+c68hA==","signatures":[{"sig":"MEQCIEJ1062A7f3x7NLc17+oQD3rq/T4QdOoWO79l+Di0HILAiAB1Vr/sPp+mCxLndFx9OmQruhYhqinnwQMHhNjhMapEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":438753},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./ai/*":"./ai/*","./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"2749f9568bc8b301c58be7e42e2bdab22d056b21","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.18.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","gitgist":"^1.1.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","domotion-svg":"^0.18.0","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_0.16.0_1782877003108_0.8535083447212117","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"kerfjs","version":"1.0.1","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@1.0.1","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"f36d9875bbcc6a54d03a50e6b4fb4a08b84a9962","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-1.0.1.tgz","fileCount":27,"integrity":"sha512-LjKreVwBXh9lHLROAdM8Y6VX+ld9TNx9ZxjyhlF8fgV4UBHVeUEPAZgwtquIWD4tW9mFWbi9x/iR1xpmGLDEeg==","signatures":[{"sig":"MEUCIQDt9lpw8DkvquLF/m6oFCYu6d4gsOCd3pcXQMZwX1VPOQIgRPAo/gqbY9soCMAngYqEo3Go21ePa5tZUL2Kj3GhUfc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":514088},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./ai/*":"./ai/*","./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"899e3f1d4e7d014058cdb8c3844d155d37815dbb","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.18.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","gitgist":"^1.1.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","domotion-svg":"^0.21.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_1.0.1_1784693104651_0.6061417123209156","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"kerfjs","version":"1.0.2","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@1.0.2","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"082cc2b4508ddc8a72380f0a241445dce1cf012f","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-1.0.2.tgz","fileCount":27,"integrity":"sha512-m1M29pN1eFqC8ragPaOOJiSBEbMl45KQI/ukXh3ab/bE/NhTq2uGiJbVmdrVYm9EEecydFJpaUGO4rCTnn2BjA==","signatures":[{"sig":"MEQCIDnVenK9ZNRMTBu4tPkayIRqYnlYzJVOud3CMxFkqXjPAiA70lhMKajrWM3gy6AnmKLbL51JEXRX4qC6QZyXO4Thwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":514245},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./ai/*":"./ai/*","./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"9a69334ace6691e5c24a4b0a1b1dc6a5ae5945a2","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.18.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","gitgist":"^1.1.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","domotion-svg":"^0.21.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_1.0.2_1784694984470_0.8334433619234012","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"kerfjs","version":"2.0.0","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@2.0.0","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"f6475f81dd7eb2e12a042846db4c0b869bf07d18","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-2.0.0.tgz","fileCount":30,"integrity":"sha512-zmuZRYu9aqzJV60ueodHgUDnxOZCn84S1DlPwJlryknjN3ygEER81BfGzlKsLisQQ64cdp3qs+AgFbyAJgLxvA==","signatures":[{"sig":"MEYCIQCobkGo9lK6rn3maAaGwcDwMX5AcS0Jq2IRb/m2e+UncAIhAPDeFDXlT9Tu4XcjNzHYs7ajA+VKBEP/PLcAUgcTtsyr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":615899},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"4169724426bbbe9792ff924501ff51069cde6b92","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.18.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","gitgist":"^1.1.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","domotion-svg":"^0.21.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_2.0.0_1784770291341_0.28051143182618743","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"kerfjs","version":"2.0.1","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@2.0.1","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"f98ff0be0d5e56608f5f3788d48d91ef2ed57aeb","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-2.0.1.tgz","fileCount":30,"integrity":"sha512-V1gQVlA+fb40tJor9JMaOPdkKBt1kGEXfXd9Tp+ydKD+BtJAbaUB/YJOYZTaqeYIIKXhQFeIb9yXNGF4bfVDzg==","signatures":[{"sig":"MEUCIA8FY4IKc3PhkRNRewDq87JopQAn+uWAPag2HowHshnKAiEAjTHJLbVWd1rEZAkr+/M+r40UjEkWtjSd6o0xcpJtNZw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":620390},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"19f4be89ebbde25b6f6935c5f2aaca0cf3101651","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && tsc -p tests/dist/jsx-typing/tsconfig.json && tsc -p site/src/examples/complete/tsconfig.json && tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"tsc --noEmit","check:full":"npm run check && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","test:dist:examples":"npm run build && tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.18.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","gitgist":"^1.1.0","happy-dom":"^20.9.0","typescript":"^5.7.0","@types/node":"^22.10.0","http-server":"^14.1.1","@types/jsdom":"^28.0.1","domotion-svg":"^0.21.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.18.0","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_2.0.1_1784790042820_0.886430510717283","host":"s3://npm-registry-packages-npm-production"}},"3.0.0-beta.1":{"name":"kerfjs","version":"3.0.0-beta.1","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@3.0.0-beta.1","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"5d61849b0a7d2d7c15995e168b6e3520fbd70cbc","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-3.0.0-beta.1.tgz","fileCount":42,"integrity":"sha512-ebV4IAUMKlK4RZpf1paW5KCQ3Al2MhN2msrV63DZhgUGMwi4c0NkkfeQnjT4QnNHPdp1FlltWskyXYLOlXILSQ==","signatures":[{"sig":"MEQCIFbxRRH3Ahhr+QlF2jLmNkqvmzicuOKh3cb21aZ1PR3EAiB9WEDfA46R9kat/zLW0MFbPVBXrnLB4tOn1aYLCc74MQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@3.0.0-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":809976},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"6d8912655e700b6363a621073daf88cc3bdc16ba","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.18.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","gitgist":"^1.1.0","happy-dom":"^20.9.0","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.21.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_3.0.0-beta.1_1785141922403_0.8507562580472441","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"kerfjs","version":"3.0.0","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@3.0.0","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"7b3458567c0928e1a224029e41b93f0ec3acc65c","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-3.0.0.tgz","fileCount":42,"integrity":"sha512-N6yWP+Mn2RkGUVrQwpU1jgDb0dRW0jwVJBNFNBjOs0EEJUTq/c2zzKGdD80aUanv4NrfgC9Kd20cWXBIjyZcuA==","signatures":[{"sig":"MEUCIQCG46EOY7h4meSRUzPlXurr5rBPoFhVGoH6TcgqvS1YyQIgHd6iolzYnA5UFdZxrlX4QMGi1+EAOHkpS2bXN9BbNso=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":809942},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"ee8fb18aa16e4cfb790a81c8048a9f617f215d20","scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:docs:examples":"node scripts/check-docs-examples.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.18.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","gitgist":"^1.1.0","happy-dom":"^20.9.0","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.21.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_3.0.0_1785146734790_0.9342376649963011","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"kerfjs","version":"4.0.0","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@4.0.0","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"a9a7d014290ce86ac6173f4def018034021a6205","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-4.0.0.tgz","fileCount":42,"integrity":"sha512-nvRfT3pMwAyNaXqQwaZFS/Im2cx0Hloq1QVnzKugEBBKgtK0Z4XZAq+bzQoZ50AYvGfAHPhOa6/Zbpg/tF9XCA==","signatures":[{"sig":"MEQCIDG56pYfwhtFFeZz2GKCCtkqKQRGUkuVR8p4lyGsQa2bAiBeFjxXZGoqQ0CJsjluTAqgbTwrL4Ia/RO+pVf027pKoQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@4.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":838089},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"d50eeaae4841bd64b4a518cf81a3589dad1006e8","gitgist":{"exclude":["site/public/demos/*.svg","site/src/content/docs/docs/*","site/src/content/docs/api.md","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.18.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^9.16.0","vitest":"^3.0.0","gitgist":"^1.1.0","happy-dom":"^20.9.0","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.21.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^3.0.0","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_4.0.0_1785214943829_0.7512238038366141","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"kerfjs","version":"4.1.0","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@4.1.0","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"754c9a208e35844bb9ae1548ec8f9dfd8ebaa11d","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-4.1.0.tgz","fileCount":42,"integrity":"sha512-Gftw5naQ5HyE6abwTXZ0HhsW6o9V3veWwXUaviPE5jSoC2CxjmKr1xtSImqP5lfH5Hj16oGAJAKNn+mcIi1pmA==","signatures":[{"sig":"MEYCIQDhC4No+ZDLeETXqDgGHd5Y152+tSyjFqKUl77SwsVUuQIhAIab2KRZwOZc5k6SSevBGbC3nnpUazs41yZt8kqswZcm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@4.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":839918},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"f09d52b8cf19c5a757688d1fd1397b3a8c66a9d8","gitgist":{"exclude":["site/public/demos/*.svg","site/src/content/docs/docs/*","site/src/content/docs/api.md","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.19.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.10","gitgist":"^1.1.0","happy-dom":"^20.9.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.21.1","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^4.1.10","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_4.1.0_1785484649084_0.8092866684422928","host":"s3://npm-registry-packages-npm-production"}},"4.1.1":{"name":"kerfjs","version":"4.1.1","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@4.1.1","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"f4509d1644f0d9b98a02274146568b0326eb8ada","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-4.1.1.tgz","fileCount":42,"integrity":"sha512-0VO4oL2lGLP0PSXV+WtRo/QHBAdIKvPQdGMPb4LOWQ6RGLYvwZZOwMLSIduxM4YuHKLg5Ks75dpw0J1xwdDbxQ==","signatures":[{"sig":"MEQCIHqBqHwmJSB6eLGNZZ7QC/5gTwp+XX2wlOr+In3i83GFAiADEl6vUxpZR3iEKI0ABSCkowS46UHqqXAGlFS97+9MTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@4.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":841028},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"1a86fac957c0d14c8b0cef98b63dd18e5d0fb267","gitgist":{"exclude":["site/public/demos/*.svg","site/src/content/docs/docs/*","site/src/content/docs/api.md","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.19.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.10","gitgist":"^1.1.0","happy-dom":"^20.9.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.22.2","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^4.1.10","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_4.1.1_1786667882449_0.30427490353346887","host":"s3://npm-registry-packages-npm-production"}},"4.2.0-beta.1":{"name":"kerfjs","version":"4.2.0-beta.1","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@4.2.0-beta.1","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"3d2276398f5e6bf250354e9d8ed791a56d92e993","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-4.2.0-beta.1.tgz","fileCount":68,"integrity":"sha512-4PDW4EzmvML7vwRM6Ako9MzHavYALhbIC1fyoX/yodab/nez4Ubaih3FMbD8cJlZMnmKpRxoQk9mc9tlCx61OA==","signatures":[{"sig":"MEUCIQCkRyZxylMH0o2wFrZX2eeVQh7Qp14zc0rzyhdef3VIdwIgUMHdF7v6uwYe5p0dy9LcvJFDN+LL5Ooh6lMFy42kHso=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@4.2.0-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":935125},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"a1bba9ce1cd626593a9cafa15695c3e922940541","gitgist":{"exclude":["site/public/demos/*.svg","site/src/content/docs/docs/*","site/src/content/docs/api.md","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.19.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.10","gitgist":"^1.1.0","happy-dom":"^20.9.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.22.2","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^4.1.10","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_4.2.0-beta.1_1787095348321_0.9787069619552753","host":"s3://npm-registry-packages-npm-production"}},"4.2.0-beta.2":{"name":"kerfjs","version":"4.2.0-beta.2","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@4.2.0-beta.2","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"55da2ee8a3bf9e2dcdc787f648a65ab957a50e7e","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-4.2.0-beta.2.tgz","fileCount":77,"integrity":"sha512-VhTHgbBJYt6qKp7v+NU38hN7oLz1SuWip6ESp81+0TQMNtpdL3muyj09Uf3lvpPZm3wwyKoROYjcyh7tTyiWiw==","signatures":[{"sig":"MEQCIDQZ0lQpDtzC9rsx+VC0FtIx+8O2M4T5coA7erMhuMkDAiAhetmO+GZrIca/sbjn1mx3sBzke4lrIhpVDRJYnIBSXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@4.2.0-beta.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1001186},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./imperative":{"types":"./dist/imperative.d.ts","import":"./dist/imperative.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"e6548767c57e2f22401e0e223294644055b19add","gitgist":{"exclude":["site/public/demos/*.svg","site/src/content/docs/docs/*","site/src/content/docs/api.md","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.19.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.10","gitgist":"^1.1.0","happy-dom":"^20.9.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.22.2","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^4.1.10","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_4.2.0-beta.2_1787114135285_0.26003444554364497","host":"s3://npm-registry-packages-npm-production"}},"4.2.0-beta.3":{"name":"kerfjs","version":"4.2.0-beta.3","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@4.2.0-beta.3","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"9e77d06352e769dff324c74d4945e58f19888f74","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-4.2.0-beta.3.tgz","fileCount":77,"integrity":"sha512-Jy/tnG2UrRMwHSvHt7cPolcjVN2HN6FKYGhatmLS2hqbAc5P7hhpH2I0xqwkJkU9nOT+9aZ+L7PdL9os5f3waw==","signatures":[{"sig":"MEYCIQDdy6e1f6iV/bNc8VJ2nBIYQeYosr5DsdYJ10MCUTgwhQIhAI096fIlzulNJsmWoHyW2A6ZYlo92pvInOKv7ilBtgDh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@4.2.0-beta.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1042904},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./imperative":{"types":"./dist/imperative.d.ts","import":"./dist/imperative.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"645fe3a9127755fcce8331d37e820dd9b64b5bef","gitgist":{"exclude":["site/public/demos/*.svg","site/src/content/docs/docs/*","site/src/content/docs/api.md","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.19.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.10","gitgist":"^1.1.0","happy-dom":"^20.9.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.22.2","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^4.1.10","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_4.2.0-beta.3_1787131539105_0.7030422742005873","host":"s3://npm-registry-packages-npm-production"}},"4.2.0-beta.4":{"name":"kerfjs","version":"4.2.0-beta.4","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@4.2.0-beta.4","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"fd6182537e51d568c0e882ac408f169dc640bd24","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-4.2.0-beta.4.tgz","fileCount":77,"integrity":"sha512-sA86a1peM9WmKpfu7yTpA6bZ10CJjnOs4qKwz8caQ0TJILHMsFoytB+OEv7i9fckMcdiw1WOMpXy07VeiBubNA==","signatures":[{"sig":"MEUCIQD0VEGN+HI+hB/fSdAsgpn7NSs04uP6Mi/mciMqdARoQQIgOkI0iJHuSUHEJ3CNxcxVGz6+IB++cUtT/XCKTCFI4EU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@4.2.0-beta.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1062564},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./imperative":{"types":"./dist/imperative.d.ts","import":"./dist/imperative.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"6f3bb35a73c21ed4ccc7e62651a8155d71735095","gitgist":{"exclude":["site/public/demos/*.svg","site/src/content/docs/docs/*","site/src/content/docs/api.md","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.19.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.10","gitgist":"^1.1.0","happy-dom":"^20.9.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.22.2","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^4.1.10","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_4.2.0-beta.4_1787139937194_0.7981105884811548","host":"s3://npm-registry-packages-npm-production"}},"4.2.0-beta.5":{"name":"kerfjs","version":"4.2.0-beta.5","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@4.2.0-beta.5","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"dc817e8954e95ece2577a67bd809e9d3c906d2ee","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-4.2.0-beta.5.tgz","fileCount":77,"integrity":"sha512-YUeHqaTJMt2iJb/LqGLf0yTat7V7LBogEZquI9QtyDzD47K8vd0I3Mm0lXy2CdiNLCNTLJpcPwlUCL83h/GEzQ==","signatures":[{"sig":"MEUCIQD9Z/psLbicWTTPfTWPoPthDYXeo3JEEJZbeHQ4uNnANAIgVPbxaDUf4kMU1A1oilVgPRd8uXEg8t66ZQiyCJNiFCY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@4.2.0-beta.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1094690},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"6aef66a472cabbbb00a5f631ec36fefa2d43a3cc","gitgist":{"exclude":["site/public/demos/*.svg","site/src/content/docs/docs/*","site/src/content/docs/api.md","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.19.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.10","gitgist":"^1.1.0","happy-dom":"^20.9.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.22.2","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^4.1.10","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_4.2.0-beta.5_1787190964007_0.1933308124355937","host":"s3://npm-registry-packages-npm-production"}},"4.2.0-beta.6":{"name":"kerfjs","version":"4.2.0-beta.6","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@4.2.0-beta.6","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"3506451a573b8d1c7219992c4129c4cb56e6a6e9","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-4.2.0-beta.6.tgz","fileCount":77,"integrity":"sha512-qFQzVH0VtYtZkw7xE9QV3dyr9pKSxtd/uV6KNRXm8kgI+7QhHB/0PlGxf0fvWCZNyzHCVucVgJmTQp0SAgjX5A==","signatures":[{"sig":"MEUCIGkNNG6F8Ssy948jsl1eC8yZDTdiX3F8ilLomLI2rwH0AiEA1NcsRltR5f/kkrjSK8p3KkDQ61NMrDGwclMxmAJKEAE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@4.2.0-beta.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1101317},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"4158fa215da0ba0e052a3df9a4dfb2e150e40709","gitgist":{"exclude":["site/public/demos/*.svg","site/src/content/docs/docs/*","site/src/content/docs/api.md","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.19.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.10","gitgist":"^1.1.0","happy-dom":"^20.9.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.22.2","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^4.1.10","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_4.2.0-beta.6_1787197876495_0.0012009246022153253","host":"s3://npm-registry-packages-npm-production"}},"4.2.0-beta.7":{"name":"kerfjs","version":"4.2.0-beta.7","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@4.2.0-beta.7","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"1ea2d9c21ab043658f0b07ceef80d16498f99227","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-4.2.0-beta.7.tgz","fileCount":77,"integrity":"sha512-fdPU/P3uBzOlC8qD//HAhL7hC8teyZ/izJ39qp3j/wQ9nX8RiUPe08tyf4etsvZnKfgJXveF8I6lj02SU7pQ7A==","signatures":[{"sig":"MEYCIQDZ44Y0r39PtSLz4dGGenjxIVgCb5IkhL7FnpMjTxIPhgIhAOeyqouqiCg0YXQ2b/8iIpLkE355TUfixNsgiDOx+iMx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@4.2.0-beta.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1102096},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"0c8d06dd0b659cb6b249b935b06f27a529c47d7c","gitgist":{"exclude":["site/public/demos/*.svg","site/src/content/docs/docs/*","site/src/content/docs/api.md","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.19.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.10","gitgist":"^1.1.0","happy-dom":"^20.9.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.22.2","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^4.1.10","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_4.2.0-beta.7_1787199221156_0.4606264449167947","host":"s3://npm-registry-packages-npm-production"}},"4.2.0-beta.8":{"name":"kerfjs","version":"4.2.0-beta.8","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@4.2.0-beta.8","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"7de2a997badc5829512d017a04cbe11b35b6341e","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-4.2.0-beta.8.tgz","fileCount":77,"integrity":"sha512-JDlKg2g2zuF8ditcxVj/4cKUfc8owhe6aKQ+kkMpcaaak4v57O5DwnQyCufGUbEKCi/eZhfTVTHxa+qn4vP9JQ==","signatures":[{"sig":"MEUCIBH3/koNDcMx8iesfCdRLjcE5bUWbPtHg7DTpBeeAaMiAiEAhLMdOKxt62SXhxH2tE6iVjD8OwCGUsUxohbXgrv42bI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@4.2.0-beta.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1107793},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"d11f116b60454a933432ecb140c68c8d1cd91ed9","gitgist":{"exclude":["site/public/demos/*.svg","site/src/content/docs/docs/*","site/src/content/docs/api.md","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.19.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.10","gitgist":"^1.1.0","happy-dom":"^20.9.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.22.2","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^4.1.10","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_4.2.0-beta.8_1787208501248_0.2203927957192895","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"kerfjs","version":"4.2.0","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@4.2.0","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"68731b25d8af3f9a867bc594feb179a4dd23599f","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-4.2.0.tgz","fileCount":77,"integrity":"sha512-AHWu5h8ExysqM0rycr6e4xkbTDEE0xNZofQx9sinjzZaCWnfkJHfKYogUZmL4cECvXvvCylGYzZ5hFaZXQaDxA==","signatures":[{"sig":"MEQCIAGpOWhP+2NCmDL1pqmCDqdkWgCsWiVmCPoDcRu64i3YAiA0o6ehOb12Ekz0fUkk54eS8XNXicuVwZYcd4cba7VPqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@4.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1110743},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"44a2baa7b032cb6705890fc757890c3db74369dd","gitgist":{"exclude":["site/public/demos/*.svg","site/src/content/docs/docs/*","site/src/content/docs/api.md","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.19.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.10","gitgist":"^1.1.0","happy-dom":"^20.9.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.24.0","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^4.1.10","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_4.2.0_1787222475202_0.7908507052106435","host":"s3://npm-registry-packages-npm-production"}},"4.3.0-beta.1":{"name":"kerfjs","version":"4.3.0-beta.1","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@4.3.0-beta.1","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"509e211246081ee1e406b86aceb0303e1d882cce","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-4.3.0-beta.1.tgz","fileCount":77,"integrity":"sha512-tA4m37b5xiW5tTfB0FuhLXDUaArorggHiu6ZU85CAU7fmZw1u4mNuUugap4Da3OGZrpqQhmLhpvE/aQNbXEXsg==","signatures":[{"sig":"MEYCIQCUF5xFWfiNED7tiuapu4ZMt/+cl4s9opH+EROBYoHCdQIhANzY+ZrA4dX5asFoIPongM6pXCHTnCcyQq6MpzvH7jS2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@4.3.0-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1139472},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"6562496908c9000d875020175422a5829ced0fdc","gitgist":{"exclude":["site/public/demos/*.svg","site/src/content/docs/docs/*","site/src/content/docs/api.md","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.19.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.10","gitgist":"^1.1.0","happy-dom":"^20.9.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.24.0","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^4.1.10","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_4.3.0-beta.1_1787288522813_0.6417787258865684","host":"s3://npm-registry-packages-npm-production"}},"4.3.0":{"name":"kerfjs","version":"4.3.0","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@4.3.0","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"a01aaf0dd1cf8faeec1eb8c4cbbb7acfa20deaab","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-4.3.0.tgz","fileCount":77,"integrity":"sha512-QQ79J/If5Yo+TVToBmXPokzO7k4KCCNOWul/Bubjw15x6rvJNKmElKQpjZetpOmcCYhGou2Iqsznv9j6uj3qJQ==","signatures":[{"sig":"MEYCIQDTDnHXxq0vDghWEMlTuEiJZn4Wa9iXU55EnHM5J+AdTwIhAMclzS59L71YqX6AMPFHpJOPYExXuVlv1wNQzGxoz25/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@4.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1143364},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"453d040b176c10f569336f161187080e548e2356","gitgist":{"exclude":["site/public/demos/*.svg","site/src/content/docs/docs/*","site/src/content/docs/api.md","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.19.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.10","gitgist":"^1.1.0","happy-dom":"^20.9.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.24.0","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^4.1.10","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_4.3.0_1787352326645_0.43279645322997196","host":"s3://npm-registry-packages-npm-production"}},"4.4.0-beta.1":{"name":"kerfjs","version":"4.4.0-beta.1","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@4.4.0-beta.1","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"52892142afc3cc5c946bf774d36a0c32a4715c92","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-4.4.0-beta.1.tgz","fileCount":80,"integrity":"sha512-FVskbtQwwVzyJ4N2qBRkMfc5kB1OpoHTV5wOjYprd0ycM4nnBQNCUiIsTlmJSt8E0rMsWWGv5t0DIKb3eY+y2Q==","signatures":[{"sig":"MEUCIQCzxEy9jBqT0DOlAunEPtp1VDqm7jxPmJeQEtrV4Q+Q0QIgUsFlb+I32/0cSuk5/7An/fOQwQAf5tMm5FTsgG5Uwg8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@4.4.0-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1175688},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"d88a0b25907040933aeb354b63c6e328c9ad6996","gitgist":{"exclude":["site/public/demos/*.svg","site/src/content/docs/docs/*","site/src/content/docs/api.md","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.19.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.10","gitgist":"^1.1.0","happy-dom":"^20.9.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.24.0","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^4.1.10","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_4.4.0-beta.1_1787439836509_0.9221100800345281","host":"s3://npm-registry-packages-npm-production"}},"4.4.0":{"name":"kerfjs","version":"4.4.0","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@4.4.0","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"e1611fad4f7d4aa48e5f14b1e6983489b27942a5","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-4.4.0.tgz","fileCount":80,"integrity":"sha512-+iVWN3gJ21aXniUu8eL0NvfFjeJK1HxAsKqw59TjTO3SiN+ekzzIVOHAuG3S8oQQq/reKo3DYgz5eOwlrDHb8A==","signatures":[{"sig":"MEYCIQCCafxMFPx6KW7rx1M5rdaXscJgyb2LWTF3+bk+OmC7GAIhAPZTipR/8h0P5WjcaDAtD3Ic80FIIoaD7IpDY4L1qfHX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@4.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1176027},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"279d80a01a416c8c1b9ddaa8cc684ce9c92bdd98","gitgist":{"exclude":["site/public/demos/*.svg","site/src/content/docs/docs/*","site/src/content/docs/api.md","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.19.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.10","gitgist":"^1.1.0","happy-dom":"^20.9.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.24.0","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^4.1.10","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_4.4.0_1787443661034_0.8883428376845537","host":"s3://npm-registry-packages-npm-production"}},"4.4.1":{"name":"kerfjs","version":"4.4.1","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@4.4.1","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"a8777a2550c8ee37a2b4d836df448754dd708a86","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-4.4.1.tgz","fileCount":80,"integrity":"sha512-AkU8uUcqwQpnJN6fahS+n5YeyuqbNNSr4ynUnyhy2gPf5FuRzpwDqWYoDy10WXUv913+yvSX8rD7VkMQsEbCEg==","signatures":[{"sig":"MEUCIQCX2sOq8TihPqJPfUuO+VLcFv7jZKhiBlLWHYoAgYUlCQIgZg5vODPdGoxENlLgFanOZ2bSWemEWySB5Vs55xsyp38=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@4.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1175683},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitHead":"8e646bd97863fd7ab94e4408671b46f350f7bfca","gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.19.0","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"22.21.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.10","gitgist":"^1.1.0","happy-dom":"^20.9.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.24.0","@playwright/test":"^1.59.1","@vitest/coverage-v8":"^4.1.10","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_4.4.1_1787720437039_0.3505250436819951","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.3":{"name":"kerfjs","version":"5.0.0-beta.3","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.3","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"3742d6177b4700d5cb3e63eb8f587cc8abdd04f9","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.3.tgz","fileCount":80,"integrity":"sha512-qTeZJGnmpQ7cKFtQzf5HvnFZ5FYt1ptrBLyf/7Kqg1xKz/m8IUBNNt+DCs4Z1CSB/qznJdTAZInQnfl7f8Z/hg==","signatures":[{"sig":"MEQCIE5S0ZHzdLTtaP/Zf67p9Wka1GLynvgLrMOS5RsW5uUMAiBHH61oTxtW+igD9atNt5VJdwLTGZ5ogbdoa2S+xmSycQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1215912},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.3.tgz","_integrity":"sha512-qTeZJGnmpQ7cKFtQzf5HvnFZ5FYt1ptrBLyf/7Kqg1xKz/m8IUBNNt+DCs4Z1CSB/qznJdTAZInQnfl7f8Z/hg==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.28.2","@playwright/test":"^1.63.0","@vitest/coverage-v8":"^4.1.11","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.3_1789456639521_0.8233838366777131","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.4":{"name":"kerfjs","version":"5.0.0-beta.4","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.4","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"c7c639317e671ec98ffcf657d00ec12db07cc7e6","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.4.tgz","fileCount":80,"integrity":"sha512-fBct7cQLQ6FCTEx4k7CkBACNRBiszNznan0+jOo9x/258uEX+aem7NepjOkGKFTQoj7hGTl1BguO+TtJZXSEtQ==","signatures":[{"sig":"MEUCIQDmzhdAtxozesnIPoUxN/EXY8+4CAW6YcP49JY+5iHlTwIgKnuCDMfE0G3r1iTeSLerh5g6CiMKk5cFQc5oqQwSUI0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1218190},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.4.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.4.tgz","_integrity":"sha512-fBct7cQLQ6FCTEx4k7CkBACNRBiszNznan0+jOo9x/258uEX+aem7NepjOkGKFTQoj7hGTl1BguO+TtJZXSEtQ==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.28.2","@playwright/test":"^1.63.0","@vitest/coverage-v8":"^4.1.11","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.4_1789515424054_0.8856100467778276","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.5":{"name":"kerfjs","version":"5.0.0-beta.5","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.5","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"e313fdb87764d26dd6d7391a433a88c8dd32db71","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.5.tgz","fileCount":80,"integrity":"sha512-/Q6mc2B/wxPU2Eept/v3KvDq3VBOrmLNhLnxejgSyztJiscvML17pcJgp8THLe3SRtj69GDXOecKnDXvz/yvaA==","signatures":[{"sig":"MEQCIBImqQwSa05KKnNLvQ1a2+hIVjBOS5n4cVUQcvNu6iznAiBtcsk4j0BV9AhXcZMGpYBRcS6c5G72MTINtu+QU0Vs0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1218190},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.5.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.5.tgz","_integrity":"sha512-/Q6mc2B/wxPU2Eept/v3KvDq3VBOrmLNhLnxejgSyztJiscvML17pcJgp8THLe3SRtj69GDXOecKnDXvz/yvaA==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.28.2","@playwright/test":"^1.63.0","@vitest/coverage-v8":"^4.1.11","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.5_1789540142792_0.3789955733562369","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.6":{"name":"kerfjs","version":"5.0.0-beta.6","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.6","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"91a730c24b5df5f9dcd16b6e0676155deec67555","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.6.tgz","fileCount":80,"integrity":"sha512-shfAhCX5oZUjgNbbbBVIh41S/dapeeSAlFZ5bUYqtvK/xG9jh4lJX23+g7g1O19wAUxFYTsCeSqq3AfvWO48MQ==","signatures":[{"sig":"MEUCIQChW6rHhchhNQVew8Cd9asXdHjQbwlyqXKwtSXDRkqIigIgDZe7DK6uFIgWd+8rM+qd35OysoZLDjmwIimIfCwonss=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1218825},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.6.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.6.tgz","_integrity":"sha512-shfAhCX5oZUjgNbbbBVIh41S/dapeeSAlFZ5bUYqtvK/xG9jh4lJX23+g7g1O19wAUxFYTsCeSqq3AfvWO48MQ==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.28.2","@playwright/test":"^1.63.0","@vitest/coverage-v8":"^4.1.11","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.6_1789544548461_0.8583721183088315","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.7":{"name":"kerfjs","version":"5.0.0-beta.7","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.7","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"3b48dd3df2845ef633576335f5df9458ccdaea8d","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.7.tgz","fileCount":80,"integrity":"sha512-7DROMOTxs9zIGEUOcHOHvTPyvk31/ZhuAgIa1z3HgeLRvk0GD8KMWYUYlCWS0xT4S5OxJicCvjhScNgsuwucLQ==","signatures":[{"sig":"MEQCIAZcI8T7mvchdkj/PAEuOEOHk31r8BJtxN5q9ptOWyBqAiA/kMu3MslFv/axb+cgXkdRfj3CZA7YAhRbdeI2JcQ4oA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1219701},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.7.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.7.tgz","_integrity":"sha512-7DROMOTxs9zIGEUOcHOHvTPyvk31/ZhuAgIa1z3HgeLRvk0GD8KMWYUYlCWS0xT4S5OxJicCvjhScNgsuwucLQ==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.28.2","@playwright/test":"^1.63.0","@vitest/coverage-v8":"^4.1.11","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.7_1789547858922_0.3941191103815209","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.8":{"name":"kerfjs","version":"5.0.0-beta.8","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.8","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"b130059a4dfad00578c919a5eb1072dec0ea6eae","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.8.tgz","fileCount":80,"integrity":"sha512-3KmaWxZfyxw8Q8FlL64iq4r5hsygBtx1+CuwrOaQlobavAHXH2ERPafNU8umZjtHVz5mur2RlcyTHDJV65G65Q==","signatures":[{"sig":"MEUCIFgN5FM9k1R4cRZha7xwYZCswpyLy2pV/XYY7QGiFgGKAiEAs/wsPKTGu0GyUKE1AgbiiiEdPuJOrqo4/pm7kGBgl9c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1220183},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.8.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.8.tgz","_integrity":"sha512-3KmaWxZfyxw8Q8FlL64iq4r5hsygBtx1+CuwrOaQlobavAHXH2ERPafNU8umZjtHVz5mur2RlcyTHDJV65G65Q==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.28.2","@playwright/test":"^1.63.0","@vitest/coverage-v8":"^4.1.11","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.8_1789552081012_0.1431107446144113","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.9":{"name":"kerfjs","version":"5.0.0-beta.9","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.9","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"3db872a147938ed5f95ff42d575e5a32cdd647d9","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.9.tgz","fileCount":80,"integrity":"sha512-+vYu3Tj3fttxTfb0vK6Cy5plPkUaJmRDJ9EvE0Czzhu2tFUSR0b1cuPMcnJyiV6ZmeVjR15OhVWv95d72q7q5w==","signatures":[{"sig":"MEQCIAcRhJ4mVBNIsUc5eSMkDCQbZjU1TCuorBhp11ab3wfzAiA6uqnbsGzRNEzg++DRoW6erdBpVUctwevoNsAjLvLPPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1223021},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.9.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.9.tgz","_integrity":"sha512-+vYu3Tj3fttxTfb0vK6Cy5plPkUaJmRDJ9EvE0Czzhu2tFUSR0b1cuPMcnJyiV6ZmeVjR15OhVWv95d72q7q5w==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.28.2","@playwright/test":"^1.63.0","@vitest/coverage-v8":"^4.1.11","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.9_1789608319169_0.4339208609220484","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.10":{"name":"kerfjs","version":"5.0.0-beta.10","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.10","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"8234adf1f60349ab0f389b99b35cbb4fb3b4e5b2","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.10.tgz","fileCount":80,"integrity":"sha512-ExKbkjA2ce5jgSDzC0CTWKr42fkKCF7+QXmSKDgJLmJt+FYdmEoFkD/gY14i07fYrZcNSrmIfA5FcMATDcLIiA==","signatures":[{"sig":"MEQCIDINwywEv3gLlA9zjVDx2CENVWKKiEs7S39AJc/9Ou4+AiBYhbo8H/EeWnwn9fFiod5oi+USuiArXggyB1Yg28P1YA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1225299},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.10.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.10.tgz","_integrity":"sha512-ExKbkjA2ce5jgSDzC0CTWKr42fkKCF7+QXmSKDgJLmJt+FYdmEoFkD/gY14i07fYrZcNSrmIfA5FcMATDcLIiA==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.28.2","@playwright/test":"^1.63.0","@vitest/coverage-v8":"^4.1.11","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.10_1789628590636_0.10035896315115722","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.11":{"name":"kerfjs","version":"5.0.0-beta.11","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.11","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"633a3d20e31ab9b4e59ff63dc1acf6f078f73a7b","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.11.tgz","fileCount":80,"integrity":"sha512-shQ1QH/+mPxI7udpU/Iv6LwwHs9oNRKn9/OQyjVVTINy1hFTriaNNAb32LeW+MdXWz5TNPqgWbJzaZAQaJtIdg==","signatures":[{"sig":"MEUCIQDZhB7YXPWuIrStPwGBtmRtA9pk+rOhP4zROVmfJipMVQIgNSrWdDYUJiYWwjfFCUZEN0kgFQEMitb5DmPWdycLCX0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1229282},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.11.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.11.tgz","_integrity":"sha512-shQ1QH/+mPxI7udpU/Iv6LwwHs9oNRKn9/OQyjVVTINy1hFTriaNNAb32LeW+MdXWz5TNPqgWbJzaZAQaJtIdg==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.28.2","@playwright/test":"^1.63.0","@vitest/coverage-v8":"^4.1.11","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.11_1789635772984_0.14675414578480295","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.12":{"name":"kerfjs","version":"5.0.0-beta.12","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.12","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"8cd5ebff2f771736db6e3b9d4ae613d21f3e5041","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.12.tgz","fileCount":80,"integrity":"sha512-eGahj+39UYSEl9xYWSCDqPwBdD1SOBVYYIOMr+a5/xCfi280mhmXxu4SD0461aNLqtFr3fla8N7q4yVzalX5Og==","signatures":[{"sig":"MEUCIHvrnK8Lt8wAhyr7EdNWQTrOE455QLFWPa8v9XiBEcv9AiEAv7vCIv6/cd1waI7N42tlfb67ijhfL3zsmRgljMLxtt4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1230069},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.12.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.12.tgz","_integrity":"sha512-eGahj+39UYSEl9xYWSCDqPwBdD1SOBVYYIOMr+a5/xCfi280mhmXxu4SD0461aNLqtFr3fla8N7q4yVzalX5Og==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.28.2","@playwright/test":"^1.63.0","@vitest/coverage-v8":"^4.1.11","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.12_1789649586140_0.8103286476313987","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.13":{"name":"kerfjs","version":"5.0.0-beta.13","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.13","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"08f01ae5ab8acb29395c81901f15d439e9893314","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.13.tgz","fileCount":80,"integrity":"sha512-r1ph1UxdRQVXpbTJmu7wG/Xj6QA01hfPmKdNHrClQweBt650jdKEn7H/yGRXYxE37piX3frhW7KlJLFnXhMhKg==","signatures":[{"sig":"MEUCIQC5xtF6Od7O7QDmUE5jeyaxhesuyZC6Ha5a3CJBN8+inwIgQHNBa4AkRNFsq9/yVn7ePztj5sMJvHXmTPwCkmtdL/A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIERAsMNtYyZeuz/6xAUXU7r4ZQgi1H7jGpLzcDwNHDQmAiEA5vU1fDG94wiW8oihFRvw+7u9DfUS0boHA3m3mO3zv8I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1230859},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.13.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.13.tgz","_integrity":"sha512-r1ph1UxdRQVXpbTJmu7wG/Xj6QA01hfPmKdNHrClQweBt650jdKEn7H/yGRXYxE37piX3frhW7KlJLFnXhMhKg==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.28.2","@playwright/test":"^1.63.0","@vitest/coverage-v8":"^4.1.11","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.13_1789687398064_0.7611018725085033","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.14":{"name":"kerfjs","version":"5.0.0-beta.14","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.14","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"835bb8fa451152f4c04890d7ac98662679ac6ca3","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.14.tgz","fileCount":80,"integrity":"sha512-k2s6Wcr1+aw9FkaXnkFcUy1cyvaxXZfV3A/qf48scQu4xJysYMqjGCgnn+Eme0shFVzq2Gx/5sOzynynkREVaA==","signatures":[{"sig":"MEUCIQC3eAhVbXy8+C5n6vs7IYsnAiBTb4+d/UPAUfPE9FiTggIgNgcRb91KBaQfCsnUKxZLo4kTxMdmHjTMvegbPArxFrc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEMCICFWhWClcXJML8IWZeNUtrznkGKxO8CIHAYYF7LxR58DAh8r5JL/rLiTD8AIGgSn7e69NmW5CFEEBg+qjG/33wkj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1231375},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.14.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.14.tgz","_integrity":"sha512-k2s6Wcr1+aw9FkaXnkFcUy1cyvaxXZfV3A/qf48scQu4xJysYMqjGCgnn+Eme0shFVzq2Gx/5sOzynynkREVaA==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.28.2","@playwright/test":"^1.63.0","@vitest/coverage-v8":"^4.1.11","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.14_1789705792317_0.06585636090942626","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.15":{"name":"kerfjs","version":"5.0.0-beta.15","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.15","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"33908251f6ded7a05932b8c89339206d4a44fa95","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.15.tgz","fileCount":80,"integrity":"sha512-gO2wh+FyCKD+bVP2uZf7LMe5PeDPdiTM6w5rqGZNR3IcNsspZB5z5J9ydeKMBkRVakeCJdo+aidn7YmHcjUnmw==","signatures":[{"sig":"MEUCIQC0yFVTdEMPAL0oFi5hWX5VQvEqDXD+Ad7rizfY6RfRRAIgErwiuY1oY8NxlTKbvlXUI0UUrTt/RiSamcQ5/rOeNO4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDYjncppuNJcpqhU6YTJLPRuLccG9795Sc2GIbENFjcjAiAf7QSn38/rV+7ybElVu+s/UIVUYiABByg0On6g6YS0Ww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1231823},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.15.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.15.tgz","_integrity":"sha512-gO2wh+FyCKD+bVP2uZf7LMe5PeDPdiTM6w5rqGZNR3IcNsspZB5z5J9ydeKMBkRVakeCJdo+aidn7YmHcjUnmw==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.28.2","@playwright/test":"^1.63.0","@vitest/coverage-v8":"^4.1.11","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.15_1789706548837_0.35853610894864896","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.16":{"name":"kerfjs","version":"5.0.0-beta.16","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.16","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"525f41d96ab8e75df45c50a1e1832d2f96179e81","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.16.tgz","fileCount":80,"integrity":"sha512-I2KjpYVClAlLeCAlkECVBoZne3KHermVeVS51exS6uoW7SXnJnYjIPInBHGaw9/2KbVUHufyF+yerVY3jkpbxQ==","signatures":[{"sig":"MEUCIFM1UULuCAoplwR/AIIehNlvFL9AoWEBqzb7D1WRUOxZAiEA+CkMHg+yRU6Klib8uqChpty/dahQfpl+/P9WufdQAMI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBTkrwaZbXxd4Z6dhBzhcf1zKqHZkVAF9amnwOY2h1/6AiEA1is699mV3YmNieE2xf76HRxvLY7tBWXKA5ip2Zg3a2Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1232329},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.16.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.16.tgz","_integrity":"sha512-I2KjpYVClAlLeCAlkECVBoZne3KHermVeVS51exS6uoW7SXnJnYjIPInBHGaw9/2KbVUHufyF+yerVY3jkpbxQ==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.28.2","@playwright/test":"^1.63.0","@vitest/coverage-v8":"^4.1.11","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.16_1789780192726_0.8549915499028695","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.17":{"name":"kerfjs","version":"5.0.0-beta.17","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.17","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"8220e34f9941d6463d26a27954593d208070444c","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.17.tgz","fileCount":80,"integrity":"sha512-0AbeoMCCM9CFAIaNHHthUak3MEm/O4lAXzQu5GvpAdlO974Z7DHKdfK4MngLJCovfqLUXpp2MGK6Ad5QEqozTQ==","signatures":[{"sig":"MEYCIQCZyl7F4SHt3JkhyaTB2ajz8GcFXY914F0V5GnBgw8j7AIhAK7G+EsM/8QQNaaGqNlCWAunUn4m2hJDoHESbguaT8+p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIH24VzVlHRX97xn3MqgXfK8TXYy7qwFabHGTJHkEqERcAiAWdCBwEh/c8UrDSEQuAkA2QsXSstjw7lTEOPHZuLA8bA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1236800},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.17.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"eslint src tests","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","check:skills":"node scripts/check-skill-freshness.mjs","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.17.tgz","_integrity":"sha512-0AbeoMCCM9CFAIaNHHthUak3MEm/O4lAXzQu5GvpAdlO974Z7DHKdfK4MngLJCovfqLUXpp2MGK6Ad5QEqozTQ==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.28.2","@playwright/test":"^1.63.0","@vitest/coverage-v8":"^4.1.11","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.17_1789905338887_0.47763625793492204","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.18":{"name":"kerfjs","version":"5.0.0-beta.18","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.18","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"f7bd1d624f32c2cd9428fb5197fa64f306228b72","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.18.tgz","fileCount":80,"integrity":"sha512-52tOvfzncTdv07Px1HlX8H8o8OSIwhLN9WXAJKvaKMJEkB7T6az+bQ0VdNQBUuEdV0XqazXjM8IRR3ujWfJecw==","signatures":[{"sig":"MEQCIH5uHiPxGc1jxK9PmZyHXoPvb1TfBLwFQDL452I9XPNkAiALMLrfcuNE2AFeSqkWw15nf5Bb72vVYCGmBgtfUAYucA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA5QUc7W6yNbYkw4NRj3InXkcETDu4/4yGyJMQqAeldvAiAWUlTNhKyItiDM2C+xUlttPhjFHrt5QKSer9T/nvsVlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1268991},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.18.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"}},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.18.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-52tOvfzncTdv07Px1HlX8H8o8OSIwhLN9WXAJKvaKMJEkB7T6az+bQ0VdNQBUuEdV0XqazXjM8IRR3ujWfJecw==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.28.2","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.18_1789953899628_0.6290447519749727","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.19":{"name":"kerfjs","version":"5.0.0-beta.19","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.19","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"eceee50fcff4fe9c9f451f2d268a5b1e9cb8db0b","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.19.tgz","fileCount":85,"integrity":"sha512-QNIGx+7ko76VdwdPu62j/nDevA5GP20jAjryI8JnHJ1APUMmMm4t9H60OnYuBaoHfmOFCmO0xTsExJn2iNX2vA==","signatures":[{"sig":"MEQCIEXM9WKT5S9wGtdiOl9RXvOMCXfZAS5AL9jtzHrCVr0AAiAoJ98+DSrvl/UzuHBzkGpM/OmhaDzpkNmqIPuLl1inBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD119lBVXVSRY+cpwHjczXTN+Lc4suZY2KDq+VInt/iZwIhAKbkxlRsT2cl6Y0PsGq2p4c7HSCCGGNgfuBhm2QYY3cs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1336341},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.19.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.19.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-QNIGx+7ko76VdwdPu62j/nDevA5GP20jAjryI8JnHJ1APUMmMm4t9H60OnYuBaoHfmOFCmO0xTsExJn2iNX2vA==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.8.1","minimatch":"^9.0.5","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.28.2","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.19_1789976027591_0.8470584969178854","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.20":{"name":"kerfjs","version":"5.0.0-beta.20","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.20","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"ae52d9ab2b15554b3eccfb14481b04f23ad9ca9f","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.20.tgz","fileCount":85,"integrity":"sha512-Vxck5ADPyZFnTk98LeDtS63ZxC4fyUwjn/fX1hiMpKfUJUxhYRDkfiemfdU2BJthaOB1bR+OzR/thhqFOeV+5Q==","signatures":[{"sig":"MEUCIBWaaFETBfpEnyxnu1LrBXmqvkqTMoaLjX12Q12CqOLbAiEA4Z2Xg3mLuFS0wKGXhisk7wKgHy7Hj++L0qMB6Iqh3HE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCyoAMGOh98IeAjOnXJ298IWPi2FRVE56ClOic3EP+iLgIgCaOPBZ6OA+BF4XwdUx9NNI2DH+e9dji7uRPdk12jW+k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1336341},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.20.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.20.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-Vxck5ADPyZFnTk98LeDtS63ZxC4fyUwjn/fX1hiMpKfUJUxhYRDkfiemfdU2BJthaOB1bR+OzR/thhqFOeV+5Q==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.8.1","minimatch":"^9.0.5","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.28.2","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.20_1789976795460_0.8370399599439258","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.21":{"name":"kerfjs","version":"5.0.0-beta.21","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.21","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"d114dbd80988dd3a2e2f76418df060ed21280df5","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.21.tgz","fileCount":85,"integrity":"sha512-dUSKfRQwYeDOL2A/6jPG2PBcMp9bAVNRnK7iMWxveX7/iT+AXHCp6DM9/2jMwPko2J/DIYwBHVsssJSec2mtBg==","signatures":[{"sig":"MEYCIQCSZrtQWvQIoTRbvtE1YdPLu3DvSXfSkXH1pVGjawimXgIhAOt10rggG8MIcFCEBbnKP4aUE/bc6KnBfPcI8ss7bmE2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDy/mNQ2CnnO6E9nvo446KkNUqm3ESgjM63VnPw/xUh5QIhAPUmZJvPd1bK+FUKkZawzuHbR5KQbDNWDAujm+sZbGCm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1336341},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.21.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.21.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-dUSKfRQwYeDOL2A/6jPG2PBcMp9bAVNRnK7iMWxveX7/iT+AXHCp6DM9/2jMwPko2J/DIYwBHVsssJSec2mtBg==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.8.1","minimatch":"^9.0.5","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.28.2","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.21_1789977264881_0.5352589744827989","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.22":{"name":"kerfjs","version":"5.0.0-beta.22","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.22","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"69630567f16a4b3b019d0bc98b8659d9be686229","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.22.tgz","fileCount":85,"integrity":"sha512-FcxyZeL59l0L71/STPi5zg10MU+/hsxzlbRydjN7P6sK0IyEnJDpQg0fHza2XPxM0SQqM36jlQdngQIrl9TPYw==","signatures":[{"sig":"MEUCIAI86eqh7ioQpEB43HiXfP92MqOLKuYkyIF7fr7H6ZqOAiEArnCbfpFhBxgaWK87Bymxkd6et6Yf1dcysd/HENqfiLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDIoSuppdbNf8xfu1vkIYDEU8uXYUbLUC3BP+vR6VT+4wIgMj6b9dkIdJ72YRgT3X/xd0KmuHMVGevGLb5oQ9KgBCc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1337452},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.22.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.22.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-FcxyZeL59l0L71/STPi5zg10MU+/hsxzlbRydjN7P6sK0IyEnJDpQg0fHza2XPxM0SQqM36jlQdngQIrl9TPYw==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.8.1","minimatch":"^9.0.5","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.28.2","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.22_1789986508328_0.6618685718638815","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.23":{"name":"kerfjs","version":"5.0.0-beta.23","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.23","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"417c77e866fbff39b0686e24d9aea46fa7f00f39","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.23.tgz","fileCount":85,"integrity":"sha512-Th2WLqAv1rGFSJxAQy5INhCwwzs1GjgtGJ8T4214o7qCsoVLlg00CymgArqz1wkaqsJlhltzzZWyMBQ1wOWmKg==","signatures":[{"sig":"MEUCIQCTUenphDsEqD8Bq04eVGfUV65g+a/mzrVodMI3YUD2MgIgXdepeZ9i/GHsc3dcczkTqVfH1IllPOfor67V5LufVhY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCA/Td2xsu8unEc4CxTgQCdMi8Jr1yvpFABsoWSme3k1gIgZqyt0J89YhiHn704M3/2NsK3hL+5vnJK8JT9GTSd/S4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1337646},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.23.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.23.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-Th2WLqAv1rGFSJxAQy5INhCwwzs1GjgtGJ8T4214o7qCsoVLlg00CymgArqz1wkaqsJlhltzzZWyMBQ1wOWmKg==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.8.1","minimatch":"^9.0.5","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.28.2","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.23_1789995646089_0.687993950569298","host":"s3://npm-registry-packages-npm-production"}},"4.5.0-beta.1":{"name":"kerfjs","version":"4.5.0-beta.1","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@4.5.0-beta.1","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"0989c1114f5531dc27351242daefb3c66c7bf26e","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-4.5.0-beta.1.tgz","fileCount":85,"integrity":"sha512-6vlebufA0LdfNIKRkhKvLlm+88YT6CLVN8eo5OUX5qQi0dNK16WYEXyCTXPc4BU9fBxNAN6wob0bQ4ESg9KqqQ==","signatures":[{"sig":"MEUCIQCMVjLWA2ht1c9f/Klx32Y5s5uwEDPDiSHZWM8Bxd9fbAIgfaQdYXpG9EbY1aGzwuF/j8kBQMPxsRf5LrI7+im//Xc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDvkZc2fC2VLWoGjZ8Z86Z9FDJCh96aC+USuZtP0z6pnwIgF5xHUS595o/BUyxIzC9+FHuaswp9uiBF5PaFTHDaLqE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@4.5.0-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1340384},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-4.5.0-beta.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-4.5.0-beta.1.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-6vlebufA0LdfNIKRkhKvLlm+88YT6CLVN8eo5OUX5qQi0dNK16WYEXyCTXPc4BU9fBxNAN6wob0bQ4ESg9KqqQ==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_4.5.0-beta.1_1790052948038_0.16102079099214506","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.24":{"name":"kerfjs","version":"5.0.0-beta.24","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.24","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"d33baf0da16ac93e33ab9ca4bd7d929b478f0d3a","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.24.tgz","fileCount":85,"integrity":"sha512-VrLGQ3u+uH8ulHCcmeouxBHAUH23thtVboi5ougTQdb50SXmvDOYufn99LmEpW6/wBdF6SI8XyfiemvTO0M+PA==","signatures":[{"sig":"MEQCIEYnRIjme1qfFVJmFQ4VstSyjKrcBdcHs70AF+A0mWx5AiA5GXHqQ8/K/UdouLxNsIICnath9usU1p0xYh8epB7OZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCHGRSKviAT/y4XRA8V22K4V+lWjMuwpGRxr+pkbngSmQIhAPi/nqtxB+TtMtYZkPe+smpirCvGr4X2N9DFn/ttFS17","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1340386},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.24.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.24.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-VrLGQ3u+uH8ulHCcmeouxBHAUH23thtVboi5ougTQdb50SXmvDOYufn99LmEpW6/wBdF6SI8XyfiemvTO0M+PA==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.24_1790053210544_0.09955124733556042","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.25":{"name":"kerfjs","version":"5.0.0-beta.25","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.25","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"1862fc81b546eeee1e01d89116041f0f02ba04c8","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.25.tgz","fileCount":85,"integrity":"sha512-Z4PK/14mSAmBudMZJxz5/xCq2OdR2KeNyOImxYP19eiUtznAnCXt7Q2RkKr+ONrlvS2wqtz9R0TSiKbmluVcBQ==","signatures":[{"sig":"MEUCIQCvGsTv4x0CQ9jdFXeDrbSu2o3hYk0v3/0ZvV3NwROVrwIgLIoZmwVm5EB2KQS4TfvAwVLnheVmYqVeSQpDBhhMdcg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBq4mL5gCrUybsTNrvyFAToioiKCjFEJImolhM6Mxo5+AiEA/6zTXF67OuNgL/hknoj1IiqHi3utl1BpjCOe0K+olH4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1343321},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.25.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.25.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-Z4PK/14mSAmBudMZJxz5/xCq2OdR2KeNyOImxYP19eiUtznAnCXt7Q2RkKr+ONrlvS2wqtz9R0TSiKbmluVcBQ==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.25_1790077232439_0.2848763123052289","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.26":{"name":"kerfjs","version":"5.0.0-beta.26","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.26","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"404bfdd31d9c4eb21293a066288e63c7ab229a88","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.26.tgz","fileCount":85,"integrity":"sha512-gAfLxEnmYC1PFaa3MxNg+YQlTYbUcWRL/ldliWFyyMp5RCQfWSMthaq6unNPEnauL3JckMrLksDlKjqM4ZNREQ==","signatures":[{"sig":"MEQCIFXCFyz9Zt0IqFfRJ9VXuPyTXaVaDzToDOjoGtmR70JyAiB64PI5tB8Dbe8pi4rnU+oNMf4fFgmIgoHdtCvhBqf20Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCxXWccE9ZZ5XsOBhf6kfAPY91ysU3EZ19aEfjItvcJvgIgcq4AUdsFZ9ZOQbu7LegoZO4XYYhuoPu0vV+c7YpzMyU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1343321},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.26.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.26.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-gAfLxEnmYC1PFaa3MxNg+YQlTYbUcWRL/ldliWFyyMp5RCQfWSMthaq6unNPEnauL3JckMrLksDlKjqM4ZNREQ==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.26_1790077722002_0.9154149243612444","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.27":{"name":"kerfjs","version":"5.0.0-beta.27","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.27","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"7109699a77af4f1706f7963ec412983853f8ec66","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.27.tgz","fileCount":85,"integrity":"sha512-TibZfXmeW5ua1oMM0nOKjW5Jdlrp1Nx3QNoOZre4SyIa+ZKsIHXhhmGrNDp8i/6WtHfyjLg2xXWzYv48cWXjmg==","signatures":[{"sig":"MEUCIG4kz8rlrHQXYNuYZmlrmzThA8FsNQo2/K9ysduSD6f5AiEAhhU4nRSqM7qKv+QaCIGad8wjSzCZmBhImcHur9NsvyI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBkUtqjWHoHwaMkdqjbU8CCwIO3QTRKKvS2doC2Qqj+rAiBz92iAKUANEy848Meuur30ynROEunRCUADrESCZpvjEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1343479},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.27.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.27.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-TibZfXmeW5ua1oMM0nOKjW5Jdlrp1Nx3QNoOZre4SyIa+ZKsIHXhhmGrNDp8i/6WtHfyjLg2xXWzYv48cWXjmg==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.27_1790086241665_0.4572434243389749","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.28":{"name":"kerfjs","version":"5.0.0-beta.28","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.28","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"8743810c1a6601e5970e88250c2b092a95762735","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.28.tgz","fileCount":85,"integrity":"sha512-kb0QzM76T/mssSlItrwa1qocQVXfdcw0QWkSk4OzUKuKEfGfr0YIsyX7Bv75sr6T+SyzETPukmQxTj/yZkzi1g==","signatures":[{"sig":"MEQCIBuaabLlkC+5WR79mUJ7ovRdS9UmY+rBzbnJEvsTJe8QAiBu6mzsBAQvNDO1lsmzLeOCrl2JBvpQ0dfEVZsbWu+18Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCRN7LvzriAX8xK1eo7XOi6gW0MNCD7g9YtNGG75gihXAIgbRUNIXJi3r9LqETM7YjDvo6r3h89fGaz3mOFgShxfyQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1343479},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.28.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.28.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-kb0QzM76T/mssSlItrwa1qocQVXfdcw0QWkSk4OzUKuKEfGfr0YIsyX7Bv75sr6T+SyzETPukmQxTj/yZkzi1g==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.28_1790086917107_0.9196745426147843","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.29":{"name":"kerfjs","version":"5.0.0-beta.29","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.29","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"5936d9ff7b2dfd1295bc3d608b47362d774d85bd","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.29.tgz","fileCount":85,"integrity":"sha512-DNFjoq+0/eZilQptbS7t5tfgCq3XhDHw3ETLFkULnfinUvVZoUMuvbkkrFPtkZdZmpDGP16AqnfH0z29FOVvHA==","signatures":[{"sig":"MEQCIGDfXbxCmX0lt3nBrBlgtqykJqXbtD2HRUkitU/s/XRoAiBL73VW1ViK9uGqAypjAu32mub8FV8oBTm3uaKcQQi2vA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBGiErOi3ARylQ1bPcocSg1EzqYXOANhadT2TwlWArtDAiB/GN93Ob1B/tZynt29qJ9PiDMkQ91m3+/XnzkTQGKnVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1343479},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.29.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.29.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-DNFjoq+0/eZilQptbS7t5tfgCq3XhDHw3ETLFkULnfinUvVZoUMuvbkkrFPtkZdZmpDGP16AqnfH0z29FOVvHA==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.29_1790117266744_0.8871973596484648","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.30":{"name":"kerfjs","version":"5.0.0-beta.30","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.30","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"1312369ed9a8067151a0a43f916acd1c649ed00c","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.30.tgz","fileCount":85,"integrity":"sha512-LLUCkJy5Q75vUrkFS3dF3c1M4FunRwpxw2rPlCgidcPbMYhM/xKzxQcIjOp+ocLmOEJtSySxNsGg1b/PA9csYw==","signatures":[{"sig":"MEUCIQCnItUPewBWUWABhi2/MRQ1ZOtoQXf6ESVf2Jnqzm+gFAIgFAikLaR5h9Tk7EyDBkKo8aZb0ZK+lnUJVCzqrIlRUrI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIA02H/GeBSOJQGfzANhoC8NIRXPLr65rki/7pDWfmYfzAiEAyH8OyiBIjiHAPUw9uVl4lzQnkn6HSZ34fauDHP/hxmU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1351359},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.30.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node scripts/check-packed-jsx-typing.mjs && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","test:packed:jsx-typing":"npm run build && node scripts/check-packed-jsx-typing.mjs","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.30.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-LLUCkJy5Q75vUrkFS3dF3c1M4FunRwpxw2rPlCgidcPbMYhM/xKzxQcIjOp+ocLmOEJtSySxNsGg1b/PA9csYw==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.30_1790142599948_0.8608804160130914","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.31":{"name":"kerfjs","version":"5.0.0-beta.31","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.31","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"1ff9883f5767199d0abfbf93b1d0ab26f2974d59","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.31.tgz","fileCount":85,"integrity":"sha512-kSbsPo4FG9/5ihghPltW3MNyyaMub3wJffP3urPbbj0BZBhiRAfRFaGQVjAWS1Zp9W3k6PqyAP+aMRO+EpZTVA==","signatures":[{"sig":"MEUCIQCqCa6V9wa5MLnYx7YCqLdF6glQbvs57hMgede9nROAPwIgapZl5YhBa7ZCuCtr2rqD6e80Nq6LrHsdn3mcNIsl/6Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCmm9ntn6St7sN7CRM3LJvSMMy6R0NmG8tbmH3w3Q7iwwIhAIb/8E0NDeni0kAZwZDtEYACuv6qS2MCKT+hdh18r4jm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1352119},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.31.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/sync-scaffold-catalog-schema.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node scripts/check-packed-jsx-typing.mjs && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","test:packed:jsx-typing":"npm run build && node scripts/check-packed-jsx-typing.mjs","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","sync:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --write","check:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --check","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.31.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-kSbsPo4FG9/5ihghPltW3MNyyaMub3wJffP3urPbbj0BZBhiRAfRFaGQVjAWS1Zp9W3k6PqyAP+aMRO+EpZTVA==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.31_1790144910537_0.9477162543592437","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.32":{"name":"kerfjs","version":"5.0.0-beta.32","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.32","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"bd24f9f15d2dbb8a3d92ac2d49a7ab885c630c05","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.32.tgz","fileCount":85,"integrity":"sha512-NzTW3oX6Yd6OAXjlAEPDjfCqFDj0WvU1+nB+JkKkJCXYR8obCo3XKJJ00b+7uxWO37CqmfNHUtH6o/V3ucKLaw==","signatures":[{"sig":"MEYCIQDd3rgmCx38cox/WTyYtyVqGK5qAF+XXtqQUBNccWp9yAIhAPRjVnrX4dy+2wB5nQzI6MHi+GEndDR3D1XS0wEb5wDa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC2dtBTph8GQ5kzVe2NxcMJRc8slzlXTwaUTqlgYh+UkgIhAPCC0zjjOFBJDpcxR80CNMi6EnUFZ5eYH6V/tDvfran5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.32","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1352352},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.32.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/sync-scaffold-catalog-schema.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node scripts/check-packed-jsx-typing.mjs && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","test:packed:jsx-typing":"npm run build && node scripts/check-packed-jsx-typing.mjs","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","sync:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --write","check:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --check","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.32.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-NzTW3oX6Yd6OAXjlAEPDjfCqFDj0WvU1+nB+JkKkJCXYR8obCo3XKJJ00b+7uxWO37CqmfNHUtH6o/V3ucKLaw==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.32_1790147484520_0.573841485926704","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.33":{"name":"kerfjs","version":"5.0.0-beta.33","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.33","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"4dcac3b77d2ca17cb2a93761ca1ef277fa22ca0f","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.33.tgz","fileCount":85,"integrity":"sha512-FVkmey0QOHaSMhr4lFhwoAFL3VhWZWE4ShvD6ELqbaWOAFsY5ABZ0U1ooRmF/jT7Xbhi+ep7d2EAOkpqL4jz0g==","signatures":[{"sig":"MEUCIQCK+nH9r0HOD2CV7YyBrp/HyD5kOkFXztLS3kl63JLPogIgYZz+nFGHlrGltgQ4apnjGS+w2SVevk37rDlNzYzl6oQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIF9C2vU0NByDS/+shQa3IBYdTUw4HLmdLQF/ym6XOi14AiAo/7CaG9rA2spMPq5PDgFM5vpcMaEOtQemvmUr4uj4fg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.33","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1352593},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.33.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/sync-scaffold-catalog-schema.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node scripts/check-packed-jsx-typing.mjs && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","test:packed:jsx-typing":"npm run build && node scripts/check-packed-jsx-typing.mjs","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","sync:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --write","check:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --check","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.33.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-FVkmey0QOHaSMhr4lFhwoAFL3VhWZWE4ShvD6ELqbaWOAFsY5ABZ0U1ooRmF/jT7Xbhi+ep7d2EAOkpqL4jz0g==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.33_1790151504143_0.20915053741564038","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.34":{"name":"kerfjs","version":"5.0.0-beta.34","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.34","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"493422daa7ba9d189bdfe6d808115777507a90a0","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.34.tgz","fileCount":85,"integrity":"sha512-aAvecVzuWigkhEB/vCO1U/pSMIsc6yIAgn8ZaANZGLa15uyG6+qaatV/ZmQqCD1vLzpia0soQDerKuMrG1DumA==","signatures":[{"sig":"MEUCICo0bj0NwdnfkOeVhLVQJzak0nFrTeP8nZaFUtT5Aq1WAiEAvJu84rOgJTgZ5yaRxnYkigniDBodtlJldStbkgicBkI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDIRP2vgdvx94ZlaB5mGCtvMEZYpPvunB45C9fdrzTJiQIhAMBaBO+CzGfXLaOfofVkHjgUvYi+Y5IP0xhJRfQUMCMC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.34","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1352791},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.34.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/sync-scaffold-catalog-schema.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node scripts/check-packed-jsx-typing.mjs && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","test:packed:jsx-typing":"npm run build && node scripts/check-packed-jsx-typing.mjs","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","sync:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --write","check:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --check","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.34.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-aAvecVzuWigkhEB/vCO1U/pSMIsc6yIAgn8ZaANZGLa15uyG6+qaatV/ZmQqCD1vLzpia0soQDerKuMrG1DumA==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.34_1790153951389_0.1492070721086478","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.35":{"name":"kerfjs","version":"5.0.0-beta.35","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.35","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"0bdaef8d8a1240b222960dc1891457771008d61c","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.35.tgz","fileCount":85,"integrity":"sha512-WKPsX97/84eMmjOGypFTW/lqBpjVn+ZFHFFxQmIwb3PTVlhFr9WvgiGWEypAKBip8EQzLvuop3KP2vP/KjLUgw==","signatures":[{"sig":"MEQCIERwLviJiTTquHE2P7+fA+SoEsXcVmwuV1dOjZj/HQW7AiBDxV1RpEOWmfqvALi9HsaYaeATgH7rTgpgPXpPtXkMEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDvef0LX0lOgqky5JAtdTv/w8LxMpFFw3IqNeQQ+LMhyQIgIiuN7BBuOoYJ4Z0kYQNuHIyDojQDuidRRKcZObF+l7M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.35","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1353784},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.35.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/sync-scaffold-catalog-schema.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node scripts/check-packed-jsx-typing.mjs && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ticket:timing":"node scripts/ticket-timing.mjs","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","test:packed:jsx-typing":"npm run build && node scripts/check-packed-jsx-typing.mjs","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","sync:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --write","check:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --check","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.35.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-WKPsX97/84eMmjOGypFTW/lqBpjVn+ZFHFFxQmIwb3PTVlhFr9WvgiGWEypAKBip8EQzLvuop3KP2vP/KjLUgw==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.35_1790163651493_0.03786779293626519","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.36":{"name":"kerfjs","version":"5.0.0-beta.36","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.36","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"ecb75f5ac0d034ab7e1b5f27632e63d13a49fa93","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.36.tgz","fileCount":85,"integrity":"sha512-/WzGwdMURAJqjZ92GKRR3UVt0+rYmJh1+RL0ecrc/uEKVOh/VH/Df/jMadms+6TQGMg0udENylgnL0Q30WGArw==","signatures":[{"sig":"MEUCIGFMZMfClKzomjoqCLk4Le+Kux9fiDbwLqCsTMSOIc9WAiEAqBZuAmv5SnAuGYPIu2p5pCu9LmIRRY/sRIKQ5B0eaJw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDRCQ/c2tuO8G+SjmkL4OhRM+5EkiQQj/wNG3M5VAKx+AiEAv/3Zd8mzwDyi3jP1E97DE/o/NiA4wR7ezuwlaqnKn0s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.36","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1354259},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.36.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/sync-scaffold-catalog-schema.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node scripts/check-packed-jsx-typing.mjs && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ticket:timing":"node scripts/ticket-timing.mjs","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","test:packed:jsx-typing":"npm run build && node scripts/check-packed-jsx-typing.mjs","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","sync:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --write","check:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --check","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.36.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-/WzGwdMURAJqjZ92GKRR3UVt0+rYmJh1+RL0ecrc/uEKVOh/VH/Df/jMadms+6TQGMg0udENylgnL0Q30WGArw==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.36_1790219003052_0.8895550855274037","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.37":{"name":"kerfjs","version":"5.0.0-beta.37","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.37","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"4144a9b5801272c85a68d9b824fe02bec44ec1b7","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.37.tgz","fileCount":85,"integrity":"sha512-EaCgbS7Mdiw1+GSSB5Ks6tPcvgN0JPMecrVC7AOcyG+czLzykXKyHKCwvQCyZuuoRFtfAXt51JNn+jLaV1Husw==","signatures":[{"sig":"MEUCIA1mccZQEsS5BXu/7GR9+WE3nMtd3r5e2LPRO74rJSwDAiEAqyVJbf993Vqkd72MzCcUyFHzMDOTYUTgQ9c3xM3AlGc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDnNf09CbASFELHjsM/VUmp2I5Fl9n7OOAtA8jgX3RHuAIhAKBd8/YRotB2CzOOIUNZgluwxSdYBIqMVXmCFY2KfOgX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.37","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1354259},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.37.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/sync-scaffold-catalog-schema.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node scripts/check-packed-jsx-typing.mjs && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ticket:timing":"node scripts/ticket-timing.mjs","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","test:packed:jsx-typing":"npm run build && node scripts/check-packed-jsx-typing.mjs","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","sync:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --write","check:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --check","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.37.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-EaCgbS7Mdiw1+GSSB5Ks6tPcvgN0JPMecrVC7AOcyG+czLzykXKyHKCwvQCyZuuoRFtfAXt51JNn+jLaV1Husw==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.37_1790222716249_0.20876731880645383","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.38":{"name":"kerfjs","version":"5.0.0-beta.38","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.38","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"e72ad39dccfa7f975b46f7644c9dfbe089f94800","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.38.tgz","fileCount":85,"integrity":"sha512-t8NMTGBL18+6XeIFfV72ZpTqh9XT0AiUGSpyy2sRDje2xNE817i7cphRdQflc+KYgJq2OtqZmbV3RIQvAFXxUg==","signatures":[{"sig":"MEUCIQD4Sh5iGvGw8ETEusCu6SdLsIrLqKmw3S19AHnuPhHpOwIgL9HB3qWQR7bZ9Zzw4GBW2SptRFBIb/8NMaHjbitxt0I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHS6Xe7MuIqd2PxOIIt4tWWNTwdKmys8IAJ5QDo3mEY3AiEAyeZViu7ykaO7qsdh0jgYEheV+K6AUghiLEMGaY3P964=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.38","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1354259},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.38.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/sync-scaffold-catalog-schema.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node scripts/check-packed-jsx-typing.mjs && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ticket:timing":"node scripts/ticket-timing.mjs","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","test:packed:jsx-typing":"npm run build && node scripts/check-packed-jsx-typing.mjs","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","sync:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --write","check:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --check","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.38.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-t8NMTGBL18+6XeIFfV72ZpTqh9XT0AiUGSpyy2sRDje2xNE817i7cphRdQflc+KYgJq2OtqZmbV3RIQvAFXxUg==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.38_1790224159816_0.0908828342668444","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.39":{"name":"kerfjs","version":"5.0.0-beta.39","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.39","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"4ae5448b4828134079244690d9130aaba57367b2","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.39.tgz","fileCount":85,"integrity":"sha512-3K2UpxGq3qi2Bpcct7l/TuoRwdcLKR5R7BfJx17OW9qd9mb727Uz1EVSOdefMk7cDepgsYq1FKzRYahsDWPIhQ==","signatures":[{"sig":"MEUCIF8n9XYhmxX6RGvyrddXzGuQuw/cbREZgDhmNz9PZNdKAiEAwL7lCJ3vteVN3BAT1nEXWnv6gsIcnM1UuA5C2HrBwjU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIF06BymiQAh93KdmNBbNjFm3HPlUkXflzVtc2k9pCgCRAiB+tGSmOixs9OjDRnkXa3bbkJ9CIi/+/GC9Fp0y+e2zOQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.39","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1354259},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.39.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/sync-scaffold-catalog-schema.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node scripts/check-packed-jsx-typing.mjs && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ticket:timing":"node scripts/ticket-timing.mjs","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","test:packed:jsx-typing":"npm run build && node scripts/check-packed-jsx-typing.mjs","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","sync:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --write","check:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --check","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.39.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-3K2UpxGq3qi2Bpcct7l/TuoRwdcLKR5R7BfJx17OW9qd9mb727Uz1EVSOdefMk7cDepgsYq1FKzRYahsDWPIhQ==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.39_1790225705215_0.4260147591272341","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.40":{"name":"kerfjs","version":"5.0.0-beta.40","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.40","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"994e5a1208b368514d42cde7a368375b828383a2","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.40.tgz","fileCount":85,"integrity":"sha512-7aFMnmzYtBC+UaVUo2lLCunn0k69wHcGMjkYuX13ELDtDeWEO5V4nzEFXasYOK9VROffioAzFLDVNdumskLYVA==","signatures":[{"sig":"MEUCICmMlWgdIRjwEu6IH+wx2ACmdcYOzcvlg8s4Xgwm17vXAiEAqYbcZKuXtcXnxPiz8T07L1KzzYTRJqGaC/r4nxHfQ3U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDkpgLC2d/6ohXm0qHJT/TCzZvwxU59AKwd5acv2B1QtQIhALpL/QPTliRJ4g11dUzfu/JC6zu55sq4ItWnF1flpyik","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.40","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1354476},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.40.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/sync-scaffold-catalog-schema.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node scripts/check-packed-jsx-typing.mjs && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ticket:timing":"node scripts/ticket-timing.mjs","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","test:packed:jsx-typing":"npm run build && node scripts/check-packed-jsx-typing.mjs","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","sync:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --write","check:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --check","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.40.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-7aFMnmzYtBC+UaVUo2lLCunn0k69wHcGMjkYuX13ELDtDeWEO5V4nzEFXasYOK9VROffioAzFLDVNdumskLYVA==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.40_1790229853171_0.7623690903092997","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.41":{"name":"kerfjs","version":"5.0.0-beta.41","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.41","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"a17a8591a4fa9f3c17c749ed17dbd80b40f98d5a","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.41.tgz","fileCount":85,"integrity":"sha512-La0v3WNVXI71EhaKS4EA8sels+YpWCYLD0Eap5oi7QZGScUVwOYMONtHp5/lJHZ1XunRUeX9vVVbcBsCdcqMyQ==","signatures":[{"sig":"MEYCIQCjFP3juzut8+vtmY4UV0EIhOCn0Km0chF2+tPJHNEPZwIhAIE2/rQOmGlPe/DEpQxo2SCQDYPYMyGBz0g4A1R+y7lb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDuKWIRPqxyyDJRIkBO4tVIq5NC/4xAnBlrezVyid7ZgAiEAw2QPNXdeS5mJFKr/IjLh0Foab9ovHTZrTJOD7vG9qoU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.41","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1354506},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.41.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/sync-scaffold-catalog-schema.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node scripts/check-packed-jsx-typing.mjs && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ticket:timing":"node scripts/ticket-timing.mjs","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","test:packed:jsx-typing":"npm run build && node scripts/check-packed-jsx-typing.mjs","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","sync:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --write","check:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --check","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.41.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-La0v3WNVXI71EhaKS4EA8sels+YpWCYLD0Eap5oi7QZGScUVwOYMONtHp5/lJHZ1XunRUeX9vVVbcBsCdcqMyQ==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.41_1790231416148_0.22862247491895782","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.42":{"name":"kerfjs","version":"5.0.0-beta.42","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.42","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"450d8b84a7bb78dd687c69d7b9680e65cf6fb594","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.42.tgz","fileCount":85,"integrity":"sha512-r2ocwombL7n1tqKrkj1KdcldTzvaWQdPLALFq6IgjEHNPr450ZXH9SP93SvYVROVGysz4mDAyZoruQ4tMKKGcA==","signatures":[{"sig":"MEUCIQCOeFb8PfcPDRVr6b/rfOGQPJEeLXvPdScjioh/5zkGKAIgczYzvJbqdC5atgu58cUOhr87vSYFpF0EQ/d64u0hVSw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDJhfAMcUTHNpjPPVw/6xEM4rfSYaiYTHe9XN58SrPLnAIgSj4Qsvq0za14OFBNm32LFNFXWpOXhFcQsXoZIofqIUc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.42","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1354540},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.42.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/sync-scaffold-catalog-schema.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node scripts/check-packed-jsx-typing.mjs && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ticket:timing":"node scripts/ticket-timing.mjs","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","test:packed:jsx-typing":"npm run build && node scripts/check-packed-jsx-typing.mjs","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","sync:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --write","check:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --check","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.42.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-r2ocwombL7n1tqKrkj1KdcldTzvaWQdPLALFq6IgjEHNPr450ZXH9SP93SvYVROVGysz4mDAyZoruQ4tMKKGcA==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.42_1790232006320_0.6014990459556766","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.43":{"name":"kerfjs","version":"5.0.0-beta.43","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.43","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"e8c40de76629b6af31c1a56787bd0c115954f73f","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.43.tgz","fileCount":85,"integrity":"sha512-Bix71aUR5M8euGav4NFMHmdeztUFI27S9tlZgpMNKronNOkOL/IJqXTCRuwsCax0aqEFG0OGzMIpk4ucakH+RA==","signatures":[{"sig":"MEUCIBrMUKvFbYD0Kn//KLFy8hzJm3CuRNyHKI84Jz5gEdihAiEAw3Hv+p5Qy/v4wT8C7Hj9U0qtMoYI18iSkpBnps4HMTg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGeq/T5UrzgxoUU9dOP31X9IES2mNvB6tdd+DKyCID7fAiBp2Yi+zYUmmPz7eFJvhTUmKZC6jQ8lA4Tq41BVynwF/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.43","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1354709},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.43.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/sync-scaffold-catalog-schema.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node scripts/check-packed-jsx-typing.mjs && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ticket:timing":"node scripts/ticket-timing.mjs","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","test:packed:jsx-typing":"npm run build && node scripts/check-packed-jsx-typing.mjs","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","sync:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --write","check:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --check","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.43.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-Bix71aUR5M8euGav4NFMHmdeztUFI27S9tlZgpMNKronNOkOL/IJqXTCRuwsCax0aqEFG0OGzMIpk4ucakH+RA==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.43_1790232980898_0.10476309058056432","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.44":{"name":"kerfjs","version":"5.0.0-beta.44","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.44","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"873f6143c307b75262b68681d2e7015ccf57cc3c","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.44.tgz","fileCount":85,"integrity":"sha512-OTx4dvV5Ux++HnLLVqoRTsB0KtUQ8bCzwszzdJ+s9zBIAh1ctzKHrUCdf/aa5GaNqeZDmnUZfIXZYqRH3ANItw==","signatures":[{"sig":"MEYCIQC1NYBEIV1eKZwhl7LAqq1R6DaXQeoaViNBkhb8XYdO2wIhALWU7/vzX/SDHrY+WqQYzgsC9u6Lsr+q42/lS0ivdByn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDVmp25DJV/fUxiJlHKk+wjKjMX64yEIRq4tO+NA3luFwIgWvOp3wk6rYlyCDYBGcDPFCJcPlWfiDKkZxbLrOO91dY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.44","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1354709},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.44.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/sync-scaffold-catalog-schema.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node scripts/check-packed-jsx-typing.mjs && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ticket:timing":"node scripts/ticket-timing.mjs","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","test:packed:jsx-typing":"npm run build && node scripts/check-packed-jsx-typing.mjs","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","sync:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --write","check:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --check","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.44.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-OTx4dvV5Ux++HnLLVqoRTsB0KtUQ8bCzwszzdJ+s9zBIAh1ctzKHrUCdf/aa5GaNqeZDmnUZfIXZYqRH3ANItw==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.44_1790233423256_0.3213490986473173","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.45":{"name":"kerfjs","version":"5.0.0-beta.45","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.45","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"3f117ede2428ed0e329422d43fe1f28656f4de5a","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.45.tgz","fileCount":85,"integrity":"sha512-iogoRfXt+CCKTDUv9R7tEA6JyGePbf9nfGosQhgg3ex3t5Cxp9VsET25ZjSwHyLiVV8EvnG1YKGWYL8bcRbmbw==","signatures":[{"sig":"MEUCIGfzzW8D1Mdmo4rYR+zrTQVMOAPKrc5pBwdIbPglIhkkAiEArPseSJv03cff5ooinRvFhiFmVVb99vGVaNbhNMWEuzc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAWoWG2LJ9Qu38hIZViGOR+GKakLvzIj0BkAZ/2twrAEAiB9KMW+6EuhC3nUY2Ez2XfIyBu7sL2U3QWk8KRViVsdLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.45","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1354867},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.45.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/sync-scaffold-catalog-schema.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node scripts/check-packed-jsx-typing.mjs && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ticket:timing":"node scripts/ticket-timing.mjs","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","test:packed:jsx-typing":"npm run build && node scripts/check-packed-jsx-typing.mjs","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","sync:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --write","check:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --check","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.45.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-iogoRfXt+CCKTDUv9R7tEA6JyGePbf9nfGosQhgg3ex3t5Cxp9VsET25ZjSwHyLiVV8EvnG1YKGWYL8bcRbmbw==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.45_1790234840677_0.7164224511225006","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.46":{"name":"kerfjs","version":"5.0.0-beta.46","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.46","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"3b6aa5d464c21840b127fc6c8b8cec72326df669","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.46.tgz","fileCount":85,"integrity":"sha512-0iLRLJw9XKuXG/LWJq8d3GRGN4KDmOwvE5KDiQo7jHe2b1OmJpQ5LjdKOKt8q9ZI4OrJCMBc22IfYHrLic/O3Q==","signatures":[{"sig":"MEQCIG9OI+rDkYYszySPkFeDlPp1WJczvyOTxingXvvo/H4jAiBYHaKMhFJDAf3KDEMCp2M6FxMUTtcDMrmoPu0LbgWZMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBh9aiIQgcH3K5eJK08ePT7WU4V4soXnxtgNh+hnVziQAiEAh1S8RNHa6U86PvBKRrHSDdMQu/XhhswugwaU9NtMlUo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.46","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1354987},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.46.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/sync-scaffold-catalog-schema.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node scripts/check-packed-jsx-typing.mjs && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ticket:timing":"node scripts/ticket-timing.mjs","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","test:packed:jsx-typing":"npm run build && node scripts/check-packed-jsx-typing.mjs","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","sync:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --write","check:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --check","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.46.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-0iLRLJw9XKuXG/LWJq8d3GRGN4KDmOwvE5KDiQo7jHe2b1OmJpQ5LjdKOKt8q9ZI4OrJCMBc22IfYHrLic/O3Q==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.46_1790235789999_0.5382239951615169","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.47":{"name":"kerfjs","version":"5.0.0-beta.47","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.47","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"c2b23ba91afe9eef1edcb9ec8f452b1f3a2696d1","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.47.tgz","fileCount":85,"integrity":"sha512-0MCMAybueYQsyStx5TQqAdc9wreZowpc7nH4yqQ1I5CZng7H5dSUDoA/jr9Bf4M+JF/LkaKaibkkmH4odq/JMg==","signatures":[{"sig":"MEUCIBvHFSSpQc54l/iQcm8Go2soSs+l4fVzsasC6ZfnN5xrAiEA4AdwpDEzRxs5X2JG7Jt4JApoON0WkkY0ICCSWJfyS58=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDuGJff5soFMLqvlz1+sYSEAlyljzOS79AwYG1HweZuqAiBV0qnOJ7rCh9XorxyKQatld3+gtEjWoLnVr9M7/6gryQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.47","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1355545},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.47.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/sync-scaffold-catalog-schema.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node scripts/check-packed-jsx-typing.mjs && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ticket:timing":"node scripts/ticket-timing.mjs","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","test:packed:jsx-typing":"npm run build && node scripts/check-packed-jsx-typing.mjs","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","sync:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --write","check:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --check","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.47.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-0MCMAybueYQsyStx5TQqAdc9wreZowpc7nH4yqQ1I5CZng7H5dSUDoA/jr9Bf4M+JF/LkaKaibkkmH4odq/JMg==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.47_1790246920564_0.5328089884594416","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.48":{"name":"kerfjs","version":"5.0.0-beta.48","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.48","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"3daf97f0c4602a5d03950f596f2bd7aca3a6e5a4","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.48.tgz","fileCount":85,"integrity":"sha512-+o+2Tg8MzHJnVvb+4uT7mDDl/gkIsUzwZ1py4mYR6BF6Z+z5PHmS/1mqbFIVcfltybUuB9Btx0+P2u90sGxQgQ==","signatures":[{"sig":"MEQCIEyz8fruBbBhQMs2CUxX07JM2xziBOWX8CfXXRQUtmMkAiANwasspaf2g4j9sI+awsP8OWEZa5bmslYqqUWI6syveA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCbRx2TfGeGoVKBVQ8xzOuDDRguc/J+SWUhvKsq1ksGtgIga9wo9RrlpGarb8mng4pBS6M/hl9LxfhNUOCaFnt2PI4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.48","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1355545},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.48.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/sync-scaffold-catalog-schema.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node scripts/check-packed-jsx-typing.mjs && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ticket:timing":"node scripts/ticket-timing.mjs","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","test:packed:jsx-typing":"npm run build && node scripts/check-packed-jsx-typing.mjs","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","sync:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --write","check:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --check","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.48.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-+o+2Tg8MzHJnVvb+4uT7mDDl/gkIsUzwZ1py4mYR6BF6Z+z5PHmS/1mqbFIVcfltybUuB9Btx0+P2u90sGxQgQ==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.48_1790289888897_0.9259299306588482","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.49":{"name":"kerfjs","version":"5.0.0-beta.49","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","_id":"kerfjs@5.0.0-beta.49","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"homepage":"https://brianwestphal.github.io/kerf/","bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"bin":{"kerfjs":"setup/cli.mjs"},"dist":{"shasum":"18e58f6035d74171ac6bd538a17003d4719d976d","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.49.tgz","fileCount":85,"integrity":"sha512-1z/L/oB6m85fUlicbsBSW1+QZvSO9QBUT/3fo1Ot2jraW9AxW8Nvjfu29DHwlqIDv+XNK3KMoY/C1+5+JrSzlw==","signatures":[{"sig":"MEUCIQD4ah45dYb9oOTjT48ugmC362f7gunqpZ2g1neyuelzUgIgZhEMTfjYDl/p89zkvfmiTcTHtIxeDagpJr8i123ZMAk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAjOQqYq9fGOsTAVaGSs6tA+5u/6ScQKJffSlOyDHm5fAiA+OdOdSOm0mQFDTY/s5wLfBxxwPtoJe3yyLV0R4lblVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.49","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1356147},"main":"./dist/index.js","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.49.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/sync-scaffold-catalog-schema.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node scripts/check-packed-jsx-typing.mjs && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ticket:timing":"node scripts/ticket-timing.mjs","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","test:packed:jsx-typing":"npm run build && node scripts/check-packed-jsx-typing.mjs","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","sync:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --write","check:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --check","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.49.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-1z/L/oB6m85fUlicbsBSW1+QZvSO9QBUT/3fo1Ot2jraW9AxW8Nvjfu29DHwlqIDv+XNK3KMoY/C1+5+JrSzlw==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"tmp":"tmp/kerfjs_5.0.0-beta.49_1790294263025_0.3590892616271988","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.50":{"_id":"kerfjs@5.0.0-beta.50","bin":{"kerfjs":"setup/cli.mjs"},"bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"dist":{"shasum":"0bb1485e8d43cf75f22efa9647334a5316b5c3b7","tarball":"https://registry.npmjs.org/kerfjs/-/kerfjs-5.0.0-beta.50.tgz","fileCount":85,"integrity":"sha512-PTgGQIjwSGFFc/skgMB8zqeBHWdnOYJ1X5tp9ei/o2ZmabJKeaZSrWGv3yIuJB1gkpLKjTrAvcKfKhcErM1I4Q==","signatures":[{"sig":"MEUCIEZqy7138rGDQdwZdxsq8B11H/lvtjiJJhZ2rFTqS9ehAiEAoojUqPHOjDb/IDRbuVuC8aLU0Q2AK4Kpmj6SJG60hic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIF9m2SaajHlXBNRXA54+xOV6wPCQMVJbWiADdlhEr6/LAiBbOhG/p9GShRye9aF72MVLV2OE89pxdFaK24EmfJgvbQ=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/kerfjs@5.0.0-beta.50","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1357337},"main":"./dist/index.js","name":"kerfjs","type":"module","_from":"file:release-package/kerfjs-5.0.0-beta.50.tgz","types":"./dist/index.d.ts","author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev":{"types":"./dist/dev.d.ts","import":"./dist/dev.js"},"./ai/*":"./ai/*","./html":{"types":"./dist/html.d.ts","import":"./dist/html.js"},"./list":{"types":"./dist/list.d.ts","import":"./dist/list.js"},"./async":{"types":"./dist/async.d.ts","import":"./dist/async.js"},"./scope":{"types":"./dist/scope.d.ts","import":"./dist/scope.js"},"./setup":{"types":"./setup/index.d.mts","import":"./setup/index.mjs"},"./attach":{"types":"./dist/attach.d.ts","import":"./dist/attach.js"},"./router":{"types":"./dist/router.d.ts","import":"./dist/router.js"},"./timing":{"types":"./dist/timing.d.ts","import":"./dist/timing.js"},"./actions":{"types":"./dist/actions.d.ts","import":"./dist/actions.js"},"./overlay":{"types":"./dist/overlay.d.ts","import":"./dist/overlay.js"},"./remount":{"types":"./dist/remount.d.ts","import":"./dist/remount.js"},"./testing":{"types":"./dist/testing.d.ts","import":"./dist/testing.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./array-signal":{"types":"./dist/array-signal.d.ts","import":"./dist/array-signal.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./setup/state.schema.json":"./setup/state.schema.json"},"funding":{"url":"https://github.com/sponsors/brianwestphal","type":"github"},"gitgist":{"exclude":["site/public/demos/*.svg","ai/*","site/public/llms.txt","bench/results.json","bench/results.md"]},"license":"MIT","scripts":{"dev":"tsup --watch","lint":"npm run lint:eslint && npm run format:check","test":"vitest run --coverage","build":"tsup && node scripts/clean-dist-output.mjs dist","check":"node scripts/check-guidance-integrity.mjs -- npm run check:core","clean":"rm -rf dist coverage node_modules/.cache","format":"prettier --write . --ignore-unknown","prepare":"husky","release":"bash scripts/release.sh","test:ui":"npm --prefix ui test","check:ui":"npm --prefix ui run check","site:dev":"cd site && npm install && npm run dev","fuzz:soak":"node scripts/fuzz-soak.mjs","test:dist":"npm run build && vitest run --config vitest.config.dist.ts","test:unit":"vitest run tests/unit --coverage","typecheck":"node node_modules/typescript7/bin/tsc --noEmit","check:core":"npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/sync-scaffold-catalog-schema.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node scripts/check-packed-jsx-typing.mjs && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs","check:full":"npm run check && npm run --silent check:audit && playwright test","commit:msg":"gitgist --staged --commit-message","site:build":"cd site && npm install && npm run build","test:watch":"vitest","bench:micro":"vitest bench --run --config vitest.config.bench.ts","bench:serve":"bash bench/site.sh","check:audit":"npm audit --omit=dev --audit-level=high","lint:eslint":"eslint src tests","check:skills":"node scripts/check-skill-freshness.mjs","format:check":"prettier --check . --ignore-unknown","release:beta":"bash scripts/release.sh --beta","site:dev:hmr":"cd site && npm install && npm run dev:hmr","test:browser":"npm run build && playwright test","ticket:timing":"node scripts/ticket-timing.mjs","ai-bundle:sync":"node scripts/sync-ai-bundle.mjs","check:features":"node scripts/check-feature-coverage.mjs","prepublishOnly":"npm run build","test:dist:full":"npm run build && vitest run --config vitest.config.dist-full.ts","test:integration":"vitest run tests/integration --coverage","check:bundle-size":"npm run build && node scripts/check-bundle-size.mjs","release:beta:auto":"bash scripts/release-beta-auto.sh","check:cdn-versions":"node scripts/check-cdn-versions.mjs","test:dist:examples":"npm run build && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json","check:design-rule-5":"node scripts/check-design-rule-5.mjs","check:docs:examples":"node scripts/check-docs-examples.mjs","check:docs:dev-warns":"node scripts/check-dev-warn-docs.mjs","test:dist:jsx-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json","sync:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --write","test:packed:jsx-typing":"npm run build && node scripts/check-packed-jsx-typing.mjs","check:ai-bundle-in-sync":"node scripts/check-ai-bundle.mjs","check:docs:api-coverage":"node scripts/check-doc-api-coverage.mjs","check:docs:site-tickets":"node scripts/check-doc-site-tickets.mjs","check:lockstep-versions":"node scripts/sync-lockstep-versions.mjs --check","example:reactivity-demo":"cd examples/reactivity-demo && npm install && npm run dev","check:docs:api-signatures":"npm run build && node scripts/check-doc-api-signatures.mjs","check:docs:test-inventory":"node scripts/check-doc-test-inventory.mjs","test:dist:scaffold-typing":"npm run build && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json","sync:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --write","check:scaffold-catalog-schema":"node scripts/sync-scaffold-catalog-schema.mjs --check","example:reactivity-demo:build":"cd examples/reactivity-demo && npm install && npm run build"},"version":"5.0.0-beta.50","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fd952b81-b935-4eb6-8d0e-6ae3f59e34bc"}},"homepage":"https://brianwestphal.github.io/kerf/","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"_resolved":"/home/runner/work/kerf/kerf/release-package/kerfjs-5.0.0-beta.50.tgz","overrides":{"esbuild":"0.28.2"},"_integrity":"sha512-PTgGQIjwSGFFc/skgMB8zqeBHWdnOYJ1X5tp9ei/o2ZmabJKeaZSrWGv3yIuJB1gkpLKjTrAvcKfKhcErM1I4Q==","repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"_npmVersion":"11.6.2","description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","directories":{},"maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"sideEffects":["./dist/dev.js","./src/dev.ts"],"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.9.1","minimatch":"^9.0.9","@preact/signals-core":"^1.14.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.3.0","husky":"^9.1.7","jsdom":"^29.1.1","eslint":"^10.8.0","vitest":"^4.1.11","gitgist":"^1.1.0","prettier":"^3.9.8","happy-dom":"^20.14.5","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^22.10.0","http-server":"^14.1.1","typescript7":"npm:typescript@^7.0.2","@types/jsdom":"^28.0.1","domotion-svg":"^0.30.1","@playwright/test":"^1.63.0","prettier-plugin-sh":"^0.19.0","@vitest/coverage-v8":"^4.1.11","prettier-plugin-astro":"^1.0.1","@typescript-eslint/parser":"^8.65.0","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-simple-import-sort":"^12.1.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/kerfjs_5.0.0-beta.50_1790319012939_0.09640394466400992"}}},"time":{"created":"2026-05-07T02:26:55.590Z","modified":"2026-09-25T06:50:13.350Z","0.1.0":"2026-05-07T02:26:55.754Z","0.1.2":"2026-05-07T03:23:56.095Z","0.2.0":"2026-05-07T07:08:17.064Z","0.2.1":"2026-05-07T07:55:11.981Z","0.3.0":"2026-05-07T22:29:33.306Z","0.3.1":"2026-05-07T23:15:18.790Z","0.4.2":"2026-05-09T03:42:18.495Z","0.5.0":"2026-05-10T06:23:51.492Z","0.5.1":"2026-05-10T22:31:16.163Z","0.6.0":"2026-05-11T07:30:13.903Z","0.7.0":"2026-05-18T06:29:53.189Z","0.8.0":"2026-05-18T13:23:18.507Z","0.8.1":"2026-05-19T04:10:06.982Z","0.8.2":"2026-05-19T04:20:54.921Z","0.9.1":"2026-05-20T07:52:31.534Z","0.10.0":"2026-05-20T08:06:24.364Z","0.11.0":"2026-05-21T05:02:09.253Z","0.11.1":"2026-05-21T07:53:31.272Z","0.12.0":"2026-05-22T07:07:10.635Z","0.12.1":"2026-05-22T07:29:32.748Z","0.13.0":"2026-05-23T00:32:31.188Z","0.14.0":"2026-05-27T00:40:17.402Z","0.15.0-beta.1":"2026-06-23T02:02:59.505Z","0.15.0-beta.2":"2026-06-23T02:23:07.618Z","0.15.0":"2026-06-29T23:39:25.710Z","0.15.1":"2026-06-30T00:08:50.395Z","0.15.2":"2026-06-30T07:43:52.253Z","0.15.3":"2026-06-30T08:06:38.751Z","0.15.4":"2026-06-30T09:01:39.506Z","0.15.5":"2026-06-30T09:10:50.297Z","0.16.0":"2026-07-01T03:36:43.249Z","1.0.1":"2026-07-22T04:05:04.892Z","1.0.2":"2026-07-22T04:36:24.684Z","2.0.0":"2026-07-23T01:31:31.581Z","2.0.1":"2026-07-23T07:00:42.996Z","3.0.0-beta.1":"2026-07-27T08:45:22.551Z","3.0.0":"2026-07-27T10:05:35.047Z","4.0.0":"2026-07-28T05:02:24.018Z","4.1.0":"2026-07-31T07:57:29.229Z","4.1.1":"2026-08-14T00:38:02.626Z","4.2.0-beta.1":"2026-08-18T23:22:28.494Z","4.2.0-beta.2":"2026-08-19T04:35:35.458Z","4.2.0-beta.3":"2026-08-19T09:25:39.260Z","4.2.0-beta.4":"2026-08-19T11:45:37.547Z","4.2.0-beta.5":"2026-08-20T01:56:04.162Z","4.2.0-beta.6":"2026-08-20T03:51:16.633Z","4.2.0-beta.7":"2026-08-20T04:13:41.293Z","4.2.0-beta.8":"2026-08-20T06:48:21.386Z","4.2.0":"2026-08-20T10:41:15.339Z","4.3.0-beta.1":"2026-08-21T05:02:02.982Z","4.3.0":"2026-08-21T22:45:26.805Z","4.4.0-beta.1":"2026-08-22T23:03:56.654Z","4.4.0":"2026-08-23T00:07:41.172Z","4.4.1":"2026-08-26T05:00:37.200Z","5.0.0-beta.3":"2026-09-15T07:17:19.661Z","5.0.0-beta.4":"2026-09-15T23:37:04.196Z","5.0.0-beta.5":"2026-09-16T06:29:02.959Z","5.0.0-beta.6":"2026-09-16T07:42:28.625Z","5.0.0-beta.7":"2026-09-16T08:37:39.052Z","5.0.0-beta.8":"2026-09-16T09:48:01.219Z","5.0.0-beta.9":"2026-09-17T01:25:19.330Z","5.0.0-beta.10":"2026-09-17T07:03:10.800Z","5.0.0-beta.11":"2026-09-17T09:02:53.173Z","5.0.0-beta.12":"2026-09-17T12:53:06.283Z","5.0.0-beta.13":"2026-09-17T23:23:18.170Z","5.0.0-beta.14":"2026-09-18T04:29:52.428Z","5.0.0-beta.15":"2026-09-18T04:42:28.944Z","5.0.0-beta.16":"2026-09-19T01:09:52.824Z","5.0.0-beta.17":"2026-09-20T11:55:38.975Z","5.0.0-beta.18":"2026-09-21T01:24:59.741Z","5.0.0-beta.19":"2026-09-21T07:33:47.710Z","5.0.0-beta.20":"2026-09-21T07:46:35.563Z","5.0.0-beta.21":"2026-09-21T07:54:24.989Z","5.0.0-beta.22":"2026-09-21T10:28:28.477Z","5.0.0-beta.23":"2026-09-21T13:00:46.195Z","4.5.0-beta.1":"2026-09-22T04:55:48.129Z","5.0.0-beta.24":"2026-09-22T05:00:10.708Z","5.0.0-beta.25":"2026-09-22T11:40:32.528Z","5.0.0-beta.26":"2026-09-22T11:48:42.104Z","5.0.0-beta.27":"2026-09-22T14:10:41.773Z","5.0.0-beta.28":"2026-09-22T14:21:57.202Z","5.0.0-beta.29":"2026-09-22T22:47:46.859Z","5.0.0-beta.30":"2026-09-23T05:50:00.022Z","5.0.0-beta.31":"2026-09-23T06:28:30.640Z","5.0.0-beta.32":"2026-09-23T07:11:24.612Z","5.0.0-beta.33":"2026-09-23T08:18:24.336Z","5.0.0-beta.34":"2026-09-23T08:59:11.537Z","5.0.0-beta.35":"2026-09-23T11:40:51.603Z","5.0.0-beta.36":"2026-09-24T03:03:23.196Z","5.0.0-beta.37":"2026-09-24T04:05:16.338Z","5.0.0-beta.38":"2026-09-24T04:29:19.906Z","5.0.0-beta.39":"2026-09-24T04:55:05.317Z","5.0.0-beta.40":"2026-09-24T06:04:13.259Z","5.0.0-beta.41":"2026-09-24T06:30:16.414Z","5.0.0-beta.42":"2026-09-24T06:40:06.446Z","5.0.0-beta.43":"2026-09-24T06:56:20.990Z","5.0.0-beta.44":"2026-09-24T07:03:43.412Z","5.0.0-beta.45":"2026-09-24T07:27:20.762Z","5.0.0-beta.46":"2026-09-24T07:43:10.183Z","5.0.0-beta.47":"2026-09-24T10:48:40.646Z","5.0.0-beta.48":"2026-09-24T22:44:49.024Z","5.0.0-beta.49":"2026-09-24T23:57:43.156Z","5.0.0-beta.50":"2026-09-25T06:50:13.050Z"},"bugs":{"url":"https://github.com/brianwestphal/kerf/issues"},"author":{"name":"Brian Westphal","email":"brian.westphal@bleugris.com"},"license":"MIT","homepage":"https://brianwestphal.github.io/kerf/","keywords":["reactive","signals","jsx","dom","ui-framework","tiny","fine-grained-reactivity"],"repository":{"url":"git+https://github.com/brianwestphal/kerf.git","type":"git"},"description":"Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.","maintainers":[{"name":"bwestphal","email":"brian.westphal@bleugris.com"}],"readme":"","readmeFilename":""}