{"_id":"@axiijs/axle","_rev":"25-c0b8a71ef4d5e092ac5c80a94ba58f75","name":"@axiijs/axle","dist-tags":{"legacy-0.1":"0.1.5","latest":"0.6.0"},"versions":{"0.1.0":{"name":"@axiijs/axle","version":"0.1.0","license":"MIT","_id":"@axiijs/axle@0.1.0","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"homepage":"https://github.com/axiijs/axle#readme","bugs":{"url":"https://github.com/axiijs/axle/issues"},"dist":{"shasum":"47002975b39752c2320b131bc3e075707dfe6698","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.1.0.tgz","fileCount":13,"integrity":"sha512-025Jnd/Q8uIfolNmYcoC2MaZtWTGs0Z/8BHEdt/eDvCFGittaBxsljGoADZUfMK/mAfIMhsiTWGGLsZUKnllMg==","signatures":[{"sig":"MEQCICJnAcYVY5bojg48Y4Fpp3u/UUg3fPL1c8pYnfec3wpvAiApVuJ+Jg8qTzX+lpoP6MeByCQRjYxK4sAD0JxnumN/ZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":315905},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"gitHead":"a21f9d7fdadd4819f3b0f9d2ca24dd9dec7eb386","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"repository":{"url":"git+https://github.com/axiijs/axle.git","type":"git"},"_npmVersion":"10.9.7","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"^2.1.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"^2.0.0","leafer-ui":"^2.1.10","leafer-editor":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.1.0_1783568524613_0.47871727839425904","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@axiijs/axle","version":"0.1.1","license":"MIT","_id":"@axiijs/axle@0.1.1","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"d54ad61d1c4c3aaf007ae2413cbd9ec2e3de5a03","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.1.1.tgz","fileCount":13,"integrity":"sha512-ZSElsatn0c43j10hosyzOUAwyPx8hJ75JSW/RibpfQkOqiFZhojZ2dA3uq9v0cBTokdFcCMOIOVEVyOYZbGl1Q==","signatures":[{"sig":"MEQCIH8tVu8EpAkDncX8O92O6nrOyyiy+5HCter0MewNtjc3AiAJKSSiDNngPdOkGKXt5vLoaDk//d9/jM7vUpqwRCmBiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":326578},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"gitHead":"fc93cc70eb437d98db7e961af355c4ec0f3b2dea","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"_npmVersion":"10.9.7","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"^2.1.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"^2.0.0","leafer-ui":"^2.1.10","leafer-editor":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.1.1_1783572962104_0.1372323983445356","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@axiijs/axle","version":"0.1.2","license":"MIT","_id":"@axiijs/axle@0.1.2","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"32ca7c488404a65b70f239eca3ecddf664123b7d","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.1.2.tgz","fileCount":13,"integrity":"sha512-Lq+aw41YjylhcAcmIgJXN92s87+wMNkycMeset6IKw1SgB+Dp4KrqxU3EQatAjrPlihIn3YP9Tfi8YkcfV3FHw==","signatures":[{"sig":"MEQCIHubvP5QTRUqhvEuhVeaVP4S7KPp3LGPeptb2GYiAl3KAiArQkQaZnaGoCyUq0xfbys7Vn/aRlO8LMBi0MKr6azMDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":398564},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"gitHead":"00272003727dd98c2d4beafac09407116e5817e5","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"_npmVersion":"10.9.7","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"^2.1.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"^2.0.0","leafer-ui":"^2.1.10","leafer-editor":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.1.2_1783608745180_0.9353153973334574","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@axiijs/axle","version":"0.1.3","license":"MIT","_id":"@axiijs/axle@0.1.3","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"decb88265e99270daec15d2a3ecd5dd3ed3b6a84","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.1.3.tgz","fileCount":13,"integrity":"sha512-d8MJHSMCu72/v44BFDWnmA5ufdVWlT4SfbEXCD/EvGSSpo4KRNwN4FukQ/lbVAoezD/CwdKR2AfZmqUVS7kRcQ==","signatures":[{"sig":"MEUCIAwYzDuYgCvmwvk8V/UVBcTGsQsh+jbQBOp+m9V7esREAiEA1HgYjs4m0amnLs3YjBHsqmlpJ5oE+e+40aTXbnGl/qs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":403681},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"gitHead":"d37b05c2b34bd40823c353f6badf87d197f363fb","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"_npmVersion":"10.9.7","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"^2.1.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"^2.0.0","leafer-ui":"^2.1.10","leafer-editor":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.1.3_1783613255576_0.5428201303956195","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@axiijs/axle","version":"0.1.4","license":"MIT","_id":"@axiijs/axle@0.1.4","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"013e4390e932334399e84e83eaf88b1dff984671","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.1.4.tgz","fileCount":13,"integrity":"sha512-yoTjfRAhmebfAQGXdA/Al8pXJsaysUWyPNWJOZBjSQyZ0/7qIRYCBTRpFdGRzqKv0HvXVUmGylqlPPi6avAAng==","signatures":[{"sig":"MEUCIQCNN5JxVQI+8ktcbVOkGGdfrWVFOUYqEq85+cVCz0NGMwIgTwK7RiBUqbUDcNgO8eQc0mrepg887y+aew/78nS6MdM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":424431},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"gitHead":"5556c8415e7dcf302180b6f74e0a61c913f8571c","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"_npmVersion":"10.9.7","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"^2.1.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"^2.0.0","leafer-ui":"^2.1.10","leafer-editor":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.1.4_1783650441762_0.2993084249804798","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@axiijs/axle","version":"0.2.0","license":"MIT","_id":"@axiijs/axle@0.2.0","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"homepage":"https://github.com/axiijs/axle#readme","bugs":{"url":"https://github.com/axiijs/axle/issues"},"dist":{"shasum":"445eb96d9bfba7d9b17317f0be106d4923f8d6c4","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.2.0.tgz","fileCount":13,"integrity":"sha512-TpSoq+bXvHRqINaHVNcuqUM4WbJO83x5ZRLFm4gBBZXOpw9rOJm35X5Oo4ICrgtGFwD2O6mjNongBGnYeOsdSg==","signatures":[{"sig":"MEYCIQDdK53S5+djPyLVvP62BFMN9fpy3Wv+dmx2CJLo+vmrmwIhAOdT/DHK3QFTBvSHb/5XMyx6gR3Rb5POcZ3W2vf8FtBW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":442905},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"gitHead":"46e3ed390813e1fcff6b3686bc313a60e5ccd61a","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/axiijs/axle.git","type":"git"},"_npmVersion":"10.9.7","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"~2.2.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"~2.2.0","leafer-ui":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.2.0_1783659516044_0.919707834149645","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@axiijs/axle","version":"0.2.1","license":"MIT","_id":"@axiijs/axle@0.2.1","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"homepage":"https://github.com/axiijs/axle#readme","bugs":{"url":"https://github.com/axiijs/axle/issues"},"dist":{"shasum":"6d1307105326b1192d93f4c1622c421cea95a947","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.2.1.tgz","fileCount":13,"integrity":"sha512-PRffYg8FQcWGgI+6BzxHLTaAhsAhCNEGvgW+CHUBzmwB990xqgHXaELk27x+JsTMmXyv5hmRi9g6vQeEGrdLBw==","signatures":[{"sig":"MEQCIG/OOQSPSW7/VAbNxYOwTqYwifQ7OKxgJUyctSRqyPlkAiAWWExWMV5EtJq1Orl8Y8nt9/fFM0uqjXLXr1Cqq8nd7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":442905},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"gitHead":"5609df2a776a577b6929a546298c06f963bd8480","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/axiijs/axle.git","type":"git"},"_npmVersion":"10.9.7","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"~2.3.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"~2.3.0","leafer-ui":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.2.1_1783676302367_0.8927174105856199","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@axiijs/axle","version":"0.3.0","license":"MIT","_id":"@axiijs/axle@0.3.0","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"homepage":"https://github.com/axiijs/axle#readme","bugs":{"url":"https://github.com/axiijs/axle/issues"},"dist":{"shasum":"615c0bc61ce17ae14e20b3a08c6ade2f3b91aab5","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.3.0.tgz","fileCount":13,"integrity":"sha512-70cUw4grioLit631XH4tRZdrpeXsAaUM8WEeo9dj6GuDcxj1kocogVNYLrzcnQM6VR3FxRH9smsyx16V02R7hQ==","signatures":[{"sig":"MEUCIGdzohPDvgQV93CPvYgurjTpCVuEBIftFHYi9T2rMtFCAiEA5Vf+Eh+X14dNYoLMZX+gGJaYnlz7O2OkyITL6bIHm0g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":448651},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"gitHead":"408521c9a5eb1c038dfd5fc0fb1514358a3d1697","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/axiijs/axle.git","type":"git"},"_npmVersion":"10.9.7","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"~2.4.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"~2.4.0","leafer-ui":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.3.0_1783695463559_0.10359746587628238","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@axiijs/axle","version":"0.3.1","license":"MIT","_id":"@axiijs/axle@0.3.1","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"homepage":"https://github.com/axiijs/axle#readme","bugs":{"url":"https://github.com/axiijs/axle/issues"},"dist":{"shasum":"6e5d8dee238352b732e29754884755dd2a8f8637","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.3.1.tgz","fileCount":13,"integrity":"sha512-oabkeMikrIdxWreqM5eMtRNzfX3A7VMWlzhLwVyuA4eRz7blRueffNbpfHMgsGo46FigCdOaKFl7k08KWzCYwg==","signatures":[{"sig":"MEUCIQCduNemJLuvXTs6BJ4skSIGjyPX/zL/iV75L01SlpwFLAIgQLSZqEbAXT7ALmBpTrSinLfZvURDC1LOZ4A4s4lauMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":457722},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"gitHead":"81c73876dbe963fbf2041a406d6ace241d6e5aab","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/axiijs/axle.git","type":"git"},"_npmVersion":"10.9.7","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"~2.4.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"~2.4.0","leafer-ui":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.3.1_1783703424032_0.1776755373312633","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@axiijs/axle","version":"0.3.3","license":"MIT","_id":"@axiijs/axle@0.3.3","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"homepage":"https://github.com/axiijs/axle#readme","bugs":{"url":"https://github.com/axiijs/axle/issues"},"dist":{"shasum":"1d9965f323114981b0318b5cbf55b0949ffb6e50","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.3.3.tgz","fileCount":13,"integrity":"sha512-u1calUvgcd+22ZmRdqWMZ3OOvcHlJkn4FbPbyDcMD8b6RUp6OySrFTR5dmNClYVOGsbLtp00mlk/JQxzuOFS5Q==","signatures":[{"sig":"MEQCIBl0gdWDXuDVABv+u7s0efbuk0fMkQbjlx7kK7EiWEjcAiBu4EGblmw38hbaNPs7H4Rh8SX/NRLt0t2K2tAL/rOKMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":483625},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"gitHead":"54a133707ec028737b2f72acaf9d610edc2dfc42","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/axiijs/axle.git","type":"git"},"_npmVersion":"10.9.7","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"~2.5.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"~2.5.0","leafer-ui":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.3.3_1783755129922_0.2800792742575686","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@axiijs/axle","version":"0.3.4","license":"MIT","_id":"@axiijs/axle@0.3.4","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"homepage":"https://github.com/axiijs/axle#readme","bugs":{"url":"https://github.com/axiijs/axle/issues"},"dist":{"shasum":"652093d08ffd38be2732d82bd5961471cf27cddf","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.3.4.tgz","fileCount":13,"integrity":"sha512-uEHL+r7fXdmgBFRdPRVijf21vRNDMhKU3bCLXyNUejo4etRkGpg5dc5hWH0q/8M9sXcTuAmnXuDLt1dMUMpzjw==","signatures":[{"sig":"MEYCIQCI8785sY92ccqRjyEmppNYMFM2JqFwnCQ+1sOAdeHDsQIhAOGlAQxmHPZmXvXGPeU7JvJRCxonQor0GOniVcKS563j","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":483625},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"gitHead":"78877c5ab9ba94d0782486afb71d2babd498a459","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/axiijs/axle.git","type":"git"},"_npmVersion":"10.9.7","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"~2.6.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"~2.6.0","leafer-ui":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.3.4_1783788737816_0.557522214522199","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@axiijs/axle","version":"0.4.0","license":"MIT","_id":"@axiijs/axle@0.4.0","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"homepage":"https://github.com/axiijs/axle#readme","bugs":{"url":"https://github.com/axiijs/axle/issues"},"dist":{"shasum":"78ca27571d6b7454db4f8a8eb311919340dcdb7f","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.4.0.tgz","fileCount":13,"integrity":"sha512-PAQk3iXYBbNMZNzWDJIpbXpmE8iWZdxx2Cy5fkIZccjEqUkjA6q+Lm+YezNJLF0MgLNHHkAu/ODjQDHGDpvWFQ==","signatures":[{"sig":"MEYCIQCCb4kdGPzvTYk26YufF2tYEyCfzP/i+ICCj44DLkDjwQIhAKFVDNQ8Z9RJJnXVadVbnEA282foIzYs0n4hnqgr2szJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":483625},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"gitHead":"98a0a4731ff68b5896601a82dccc015d1b4ee10e","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/axiijs/axle.git","type":"git"},"_npmVersion":"10.9.7","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"~2.8.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"~2.8.0","leafer-ui":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.4.0_1783840664830_0.8844580641610407","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@axiijs/axle","version":"0.5.0","license":"MIT","_id":"@axiijs/axle@0.5.0","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"homepage":"https://github.com/axiijs/axle#readme","bugs":{"url":"https://github.com/axiijs/axle/issues"},"dist":{"shasum":"56ed483d58c203fb1b0847d3ffce155e821e99f6","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.5.0.tgz","fileCount":13,"integrity":"sha512-OTr4HAOCMfbszx0JS1vlKO6w5I/Vj4kXkdu4zE6seHi2j1DXkEb9v3eX4C0WlmGcqXkmkdaIP/Z9vowbeMp6nw==","signatures":[{"sig":"MEUCIFuhF4nbGJev3VwMxEVQTq6+DAjEF4kgv6YSt+vwxuZQAiEA0zBNzOWi7K6C1ryx+44KmOR5yB/JgsSHyXUQpeeEqdo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":483645},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"gitHead":"502961a256a6036f39aefb5d5a65d3a49501f3fc","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/axiijs/axle.git","type":"git"},"_npmVersion":"10.9.7","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"~2.9.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"~2.9.0","leafer-ui":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.5.0_1783944957947_0.3591525861834295","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@axiijs/axle","version":"0.5.1","license":"MIT","_id":"@axiijs/axle@0.5.1","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"homepage":"https://github.com/axiijs/axle#readme","bugs":{"url":"https://github.com/axiijs/axle/issues"},"dist":{"shasum":"259b154ed3346cac1a2c0dd5a05d65390295119d","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.5.1.tgz","fileCount":13,"integrity":"sha512-Uju6PaMuEgVvaJH6WBw0ngWK4z2/ZwMUVKSrKJXXn76+bTYdOaG2oXjc7omPiYrMWlmybTXyj36+DhNye9Kf2g==","signatures":[{"sig":"MEUCIQCI2kC9j/0P4AkRuRPFOc9Shc5d0VAiQ0XnlEWnv7ob1gIgQ5HA2zIlnb/W3pliUtZCbdlB1DI/t7pAz9jsrXfVe98=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":484202},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"gitHead":"fe676e75c47edb9b9bcc669c8c87a424e1bbad7e","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/axiijs/axle.git","type":"git"},"_npmVersion":"10.9.7","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"~2.10.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"~2.10.0","leafer-ui":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.5.1_1784038589363_0.8300671430374476","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@axiijs/axle","version":"0.5.2","license":"MIT","_id":"@axiijs/axle@0.5.2","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"homepage":"https://github.com/axiijs/axle#readme","bugs":{"url":"https://github.com/axiijs/axle/issues"},"dist":{"shasum":"c846e0172fc9d9e28958a52b28cd4493cce9f78e","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.5.2.tgz","fileCount":13,"integrity":"sha512-lwt7BVCXeJalrwrvj+QT7EfVTYaPAgDzpq7DMqW+l96SVTcDw0ek50b/A2ALQFcLSJZgyDer2cQ43ZztDc+Z+A==","signatures":[{"sig":"MEYCIQDrZE6eCF1jm7yqcDFhsPLmIG0893zXm/AEHEnnxga0IQIhAMFilr+y8kSDe0qoMppBGjoIXy2VBFRTqK4JHFriJ/wU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":484202},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"gitHead":"90caa4ceb118c39c9c71456c6e0d89528c900696","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/axiijs/axle.git","type":"git"},"_npmVersion":"10.9.7","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"~2.10.1","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"~2.10.1","leafer-ui":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.5.2_1784086581618_0.20862490198004702","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@axiijs/axle","version":"0.5.3","license":"MIT","_id":"@axiijs/axle@0.5.3","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"homepage":"https://github.com/axiijs/axle#readme","bugs":{"url":"https://github.com/axiijs/axle/issues"},"dist":{"shasum":"af7626e89fdffab6e864ff91a6f58e84a128fe55","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.5.3.tgz","fileCount":13,"integrity":"sha512-OKT9oWgqDwZyh68akkCK7QMUnYk68roPmA1GMhvF0iTn4grkqNz2MZDWMHrO5Z5MMmXVLNHTNrJogzKl8DxtnA==","signatures":[{"sig":"MEUCIQC+4EFf5MPpbSjL9cbCCOAmccVMvPbM5t+Inb7DfRhmNQIgaYGLUGRztbPWiKbfDAR6/N0DFy+Hxqkmux98Xo7kwRc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":484202},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"gitHead":"68cbcb52bcce1aba212b5b56f0698d20660ad76c","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/axiijs/axle.git","type":"git"},"_npmVersion":"10.9.7","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"~2.11.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"~2.11.0","leafer-ui":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.5.3_1784103064431_0.5107921014423842","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@axiijs/axle","version":"0.5.4","license":"MIT","_id":"@axiijs/axle@0.5.4","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"homepage":"https://github.com/axiijs/axle#readme","bugs":{"url":"https://github.com/axiijs/axle/issues"},"dist":{"shasum":"4314b0c08b18cf6209210e67de8fb9884988cda5","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.5.4.tgz","fileCount":13,"integrity":"sha512-G5KG/M6+z2uFSidrOr2T0rWQP/s98IKNq7dXkHPpYwBTelnX6iOQ2NB/lzQVXqBjiXYvPxaZrZhxlEeN/QSYEw==","signatures":[{"sig":"MEUCIQC76/Xhr3ZTcSCneQDC961FOq+HmSpFINkYA5DHiiLh6QIgYLQKMqdaGGtjFjM2CGMe+ZLPGBVmN3OHYAzhxG4G7lE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":484202},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"gitHead":"58f8f305e8f946e44b6e11b692b80997e54e7286","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/axiijs/axle.git","type":"git"},"_npmVersion":"10.9.7","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"~2.12.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"~2.12.0","leafer-ui":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.5.4_1784123233287_0.7094652761272608","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"@axiijs/axle","version":"0.5.5","license":"MIT","_id":"@axiijs/axle@0.5.5","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"homepage":"https://github.com/axiijs/axle#readme","bugs":{"url":"https://github.com/axiijs/axle/issues"},"dist":{"shasum":"6c6d8b6438c99c9a758424f48c9ebb4da2e5901f","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.5.5.tgz","fileCount":13,"integrity":"sha512-TD0AJxuYmJ4IQTqYI/Qsim61ZDobKjPlZ/0oT0z9pD0b+jN5QZjXmC/TOHg89XbUcHV5xPniXZTW5SGP/0ZMhw==","signatures":[{"sig":"MEQCIFcDvdLjKASxHbLmpjNyj6YlySw4RecM4mv/ggOgaTbuAiBKcwyaLr3ZmP/VFyTDJ3ZnpsSGZ5Va62iUpESiRC6BmA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":484202},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"gitHead":"fffef6d77b237905c76dae162549e2b27a53fe4c","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/axiijs/axle.git","type":"git"},"_npmVersion":"10.9.7","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"~2.13.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"~2.13.0","leafer-ui":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.5.5_1784172091559_0.5099062555190377","host":"s3://npm-registry-packages-npm-production"}},"0.5.6":{"name":"@axiijs/axle","version":"0.5.6","license":"MIT","_id":"@axiijs/axle@0.5.6","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"homepage":"https://github.com/axiijs/axle#readme","bugs":{"url":"https://github.com/axiijs/axle/issues"},"dist":{"shasum":"0f992b15d7b371d09e99c2f1324ae6fa1512783a","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.5.6.tgz","fileCount":13,"integrity":"sha512-SaT6nzfJqbnpg7V++STeVcyTLDwDruRd6W6BKObCHWYGXxcuLSJ0XAwG2miHFh6mDZ5yN0z9v6y8dFvbCIxGWg==","signatures":[{"sig":"MEQCIHwk9zyUBfm2EtVik3CkZopi/mUuLid4Mtd+oTSDsCW6AiAHXnp21y4XB+5Gk4nSTolz61Na5Rvh+cckNyQhay7ZAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":484201},"main":"./dist/index.js","type":"module","_from":"file:axiijs-axle-0.5.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"_resolved":"/tmp/56fdd40e7998b5529669d0b8aa9d4cbf/axiijs-axle-0.5.6.tgz","overrides":{"esbuild":"0.28.1"},"_integrity":"sha512-SaT6nzfJqbnpg7V++STeVcyTLDwDruRd6W6BKObCHWYGXxcuLSJ0XAwG2miHFh6mDZ5yN0z9v6y8dFvbCIxGWg==","repository":{"url":"git+https://github.com/axiijs/axle.git","type":"git"},"_npmVersion":"10.9.7","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"~2.14.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"~2.14.0","leafer-ui":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.5.6_1784192406448_0.01304978070628593","host":"s3://npm-registry-packages-npm-production"}},"0.5.7":{"name":"@axiijs/axle","version":"0.5.7","license":"MIT","_id":"@axiijs/axle@0.5.7","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"homepage":"https://github.com/axiijs/axle#readme","bugs":{"url":"https://github.com/axiijs/axle/issues"},"dist":{"shasum":"ef2f8612ca05c8e2643b8111f69c5638ea979b99","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.5.7.tgz","fileCount":13,"integrity":"sha512-1RZZWA926fURCUg3i8Ii42RGVuxejS0NKGKt/Cq+MKaYF6qEk3nby3LKMG3O7uZP4nWQn4OKg7PvmO0q2eGyQQ==","signatures":[{"sig":"MEUCIQCUBehfU4FO05HCvyPbmerdoCuM8INg2MNaHYhW0l0u+wIgJbi4eqNXb9xUGspRkmUwq6Kaacp7ifWd2SOjPFyC69Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":484202},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"gitHead":"31aca3d51edf1212eecae61f792af30882309eee","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/axiijs/axle.git","type":"git"},"_npmVersion":"10.9.7","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"~2.15.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"~2.15.0","leafer-ui":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.5.7_1784212562471_0.08094543765579898","host":"s3://npm-registry-packages-npm-production"}},"0.5.8":{"name":"@axiijs/axle","version":"0.5.8","license":"MIT","_id":"@axiijs/axle@0.5.8","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"homepage":"https://github.com/axiijs/axle#readme","bugs":{"url":"https://github.com/axiijs/axle/issues"},"dist":{"shasum":"1de49020bfd5fb37fa2d52a8dcc34425296e4adb","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.5.8.tgz","fileCount":13,"integrity":"sha512-SCJ58bVpH+/B9sDp1zxDAFTIg2jOytZe0VMCVhPInhYpsekF2dqVkioXSeivJ5ttiMkGzZ0omwbrmzEpxBnADg==","signatures":[{"sig":"MEUCIGzJXpbShnJ84bmqbXl2HDAhA9y9cbElwFP9Gxeexa1UAiEA6cAsG3CSiPPHwyI4CQ18KFhZvszsoANdZLj10Rn5A7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":484202},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"gitHead":"26387f804e3d09a5d69adea2f10301f72db4de52","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/axiijs/axle.git","type":"git"},"_npmVersion":"10.9.7","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"~2.16.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"~2.16.0","leafer-ui":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.5.8_1784261369242_0.8376038702192952","host":"s3://npm-registry-packages-npm-production"}},"0.5.9":{"name":"@axiijs/axle","version":"0.5.9","license":"MIT","_id":"@axiijs/axle@0.5.9","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"homepage":"https://github.com/axiijs/axle#readme","bugs":{"url":"https://github.com/axiijs/axle/issues"},"dist":{"shasum":"1ffdca64c39b841e18e3b4f4240096806f0bd25c","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.5.9.tgz","fileCount":13,"integrity":"sha512-S649sEAHD2SKqRFdydpSvmmNQ87RP7rhQTXCMeSpWAozCStYsrDAPDuPRnQ/PqBR+ktCzp55RMxGbEPyi1pvPw==","signatures":[{"sig":"MEUCIAjVYUIbwSfCk9nLgDBEkBJO4p/EzOFFmLmPO2ISY3OQAiEAmNiH1tQup5nT7FZCmgL8L9YDNGWdRBjv4aAt27eXsy0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":489583},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"gitHead":"ce5bc49494bc591fc65b6191565fe64e475fc723","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/axiijs/axle.git","type":"git"},"_npmVersion":"10.9.3","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"~2.16.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"~2.16.0","leafer-ui":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.5.9_1784695293970_0.4929720686445429","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@axiijs/axle","version":"0.1.5","license":"MIT","_id":"@axiijs/axle@0.1.5","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"dist":{"shasum":"6dff567d3c6b758c9227440b8a9e7d59ae4798fc","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.1.5.tgz","fileCount":13,"integrity":"sha512-EnhVMV3+St1a9HlL/GCPugOUD7FJTMnCMYcUKQNrAktLj1XIDtQR4KiWB1DAi7kLNKux/USGBVViEN4OGIentA==","signatures":[{"sig":"MEYCIQDZCY0KLNZuEZSRbVXxjHE6U20nZY00RnrKGVv/5VA6qwIhAN0lPvNruZWQKE2Gd7R4PMBTGyCt57U2lPiDH38F9+aA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":429357},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js"}},"gitHead":"8e27c9d4bae4046501e64731509ec0146ab3b114","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"_npmVersion":"10.9.3","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"^2.1.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"^2.0.0","leafer-ui":"^2.1.10","leafer-editor":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.1.5_1784695378780_0.08655814433550746","host":"s3://npm-registry-packages-npm-production"}},"0.5.10":{"name":"@axiijs/axle","version":"0.5.10","license":"MIT","_id":"@axiijs/axle@0.5.10","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"homepage":"https://github.com/axiijs/axle#readme","bugs":{"url":"https://github.com/axiijs/axle/issues"},"dist":{"shasum":"cfa33148a03706be3d5222a65f0eb0d0afc36b43","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.5.10.tgz","fileCount":13,"integrity":"sha512-KvK1SEL7IC0exaXwb8Gvh6s6x2mCJ4SjBdil725oIPh7v4ccGBmKO1um117AhsBYoooevNCnMHTrzzj+8DYpfw==","signatures":[{"sig":"MEQCIDqioLgOu+djcVhVyRg6vPMAs3jaGQWFTzbcywYzBcadAiBiFqqr2sDvUs7YDwMAWl1GfKewKzJgbd9Yu+rlVudIQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":489978},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js","default":"./dist/jsx-runtime.js"},"./package.json":"./package.json","./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js","default":"./dist/jsx-dev-runtime.js"}},"gitHead":"4b1a75b0a723335bce345ee3519314c1c1c02f30","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","check":"npm run typecheck && npm run lint && npm run test && npm run build","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit","playground":"vite playground","test:watch":"vitest","smoke:table":"node scripts/table-smoke.mjs","format:check":"prettier --check .","smoke:stress":"node scripts/stress-smoke.mjs","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"overrides":{"esbuild":"0.28.1"},"repository":{"url":"git+https://github.com/axiijs/axle.git","type":"git"},"_npmVersion":"10.9.3","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","directories":{},"sideEffects":false,"_nodeVersion":"22.18.0","typesVersions":{"*":{"jsx-runtime":["dist/jsx-runtime.d.ts"],"jsx-dev-runtime":["dist/jsx-dev-runtime.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.1.3","data0":"~2.16.0","jsdom":"^29.1.1","eslint":"^9.39.1","vitest":"^4.0.16","globals":"^16.5.0","prettier":"^3.7.3","leafer-ui":"^2.1.10","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","leafer-editor":"^2.1.10","playwright-core":"^1.61.1","typescript-eslint":"^8.49.0","vitest-canvas-mock":"^1.1.4","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"data0":"~2.16.0","leafer-ui":"^2.1.10"},"_npmOperationalInternal":{"tmp":"tmp/axle_0.5.10_1786107434835_0.9375277313824111","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@axiijs/axle","version":"0.6.0","description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","type":"module","license":"MIT","repository":{"type":"git","url":"git+https://github.com/axiijs/axle.git"},"bugs":{"url":"https://github.com/axiijs/axle/issues"},"homepage":"https://github.com/axiijs/axle#readme","private":false,"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./jsx-runtime":{"types":"./dist/jsx-runtime.d.ts","import":"./dist/jsx-runtime.js","default":"./dist/jsx-runtime.js"},"./jsx-dev-runtime":{"types":"./dist/jsx-dev-runtime.d.ts","import":"./dist/jsx-dev-runtime.js","default":"./dist/jsx-dev-runtime.js"},"./package.json":"./package.json"},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"tsup","dev":"tsup --watch","playground":"vite playground","smoke:stress":"node scripts/stress-smoke.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test":"vitest run","test:coverage":"vitest run --coverage","test:watch":"vitest","lint":"eslint .","format":"prettier --write .","format:check":"prettier --check .","check":"npm run typecheck && npm run lint && npm run test && npm run build","smoke:table":"node scripts/table-smoke.mjs","smoke:table:rowh":"node scripts/table-rowh-smoke.mjs"},"peerDependencies":{"data0":"~2.16.0","leafer-ui":"^2.1.10"},"devDependencies":{"@eslint/js":"^9.39.1","@types/node":"^24.10.1","@vitest/coverage-v8":"^4.1.9","data0":"~2.16.0","eslint":"^9.39.1","globals":"^16.5.0","jsdom":"^29.1.1","leafer-editor":"^2.1.10","leafer-ui":"^2.1.10","playwright-core":"^1.61.1","prettier":"^3.7.3","tsup":"^8.5.1","typescript":"^5.9.3","typescript-eslint":"^8.49.0","vite":"^8.1.3","vitest":"^4.0.16","vitest-canvas-mock":"^1.1.4"},"engines":{"node":">=20.19"},"overrides":{"esbuild":"0.28.1"},"typesVersions":{"*":{"jsx-runtime":["dist/jsx-runtime.d.ts"],"jsx-dev-runtime":["dist/jsx-dev-runtime.d.ts"]}},"_id":"@axiijs/axle@0.6.0","gitHead":"1d463f39f5d03b2ff52e984cc80914aca8294ad7","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-qARTdrLUmk9+sysa6Q/QgqViN2TdiG2kNLERbQ+Zl3+1kC38WTj+SVdcPoPrgUxCLfCchIKQ8rIso3loSvHGjQ==","shasum":"53ed03b49569679623b5e1b138b55481de727b7d","tarball":"https://registry.npmjs.org/@axiijs/axle/-/axle-0.6.0.tgz","fileCount":13,"unpackedSize":490038,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDli/+RLKsQ/UK1lEzkUI/1W5UFN3tzzxzfPm3v/9V+LAiEA0bAIDjHloDSk9Xemd3iRcjjhC5Qrcm8gNG41hC2ZiYY="}]},"_npmUser":{"name":"sskyy","email":"skyking_H@hotmail.com"},"directories":{},"maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/axle_0.6.0_1787364716483_0.25438283663878525"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-09T03:42:04.388Z","modified":"2026-08-22T02:11:56.802Z","0.1.0":"2026-07-09T03:42:04.811Z","0.1.1":"2026-07-09T04:56:02.329Z","0.1.2":"2026-07-09T14:52:25.356Z","0.1.3":"2026-07-09T16:07:35.724Z","0.1.4":"2026-07-10T02:27:21.904Z","0.2.0":"2026-07-10T04:58:36.193Z","0.2.1":"2026-07-10T09:38:22.495Z","0.3.0":"2026-07-10T14:57:43.724Z","0.3.1":"2026-07-10T17:10:24.216Z","0.3.3":"2026-07-11T07:32:10.066Z","0.3.4":"2026-07-11T16:52:17.957Z","0.4.0":"2026-07-12T07:17:44.971Z","0.5.0":"2026-07-13T12:15:58.105Z","0.5.1":"2026-07-14T14:16:29.574Z","0.5.2":"2026-07-15T03:36:21.806Z","0.5.3":"2026-07-15T08:11:04.601Z","0.5.4":"2026-07-15T13:47:13.446Z","0.5.5":"2026-07-16T03:21:31.697Z","0.5.6":"2026-07-16T09:00:06.608Z","0.5.7":"2026-07-16T14:36:02.695Z","0.5.8":"2026-07-17T04:09:29.418Z","0.5.9":"2026-07-22T04:41:34.129Z","0.1.5":"2026-07-22T04:42:58.928Z","0.5.10":"2026-08-07T12:57:14.996Z","0.6.0":"2026-08-22T02:11:56.616Z"},"bugs":{"url":"https://github.com/axiijs/axle/issues"},"license":"MIT","homepage":"https://github.com/axiijs/axle#readme","repository":{"type":"git","url":"git+https://github.com/axiijs/axle.git"},"description":"Reactive JSX runtime foundation for data-driven LeaferJS canvas editors.","maintainers":[{"name":"sskyy","email":"skyking_H@hotmail.com"}],"readme":"# Axle\n\nReactive JSX runtime foundation for data-driven [LeaferJS](https://leaferjs.com) canvas editors.\n\nAxle 把 [axii](https://github.com/axiijs/axii) 的响应式 Host 树模型移植到 Leafer 场景图上：\n\n- React 风格的 JSX，但组件函数只执行一次，直接产出真实的 Leafer UI 节点，没有 Virtual DOM。\n- 通过识别 [data0](https://github.com/axiijs/data0) 的响应式数据结构（`atom` / `RxList` / function）\n  把更新精确绑定到节点属性、文本与结构上。\n- `RxList` 的 splice / reorder / set patch 被映射为场景图上最小数量的节点操作。\n\n## 快速开始\n\n```bash\nnpm install @axiijs/axle data0 leafer-ui\n```\n\n`leafer-editor` 只用于仓库内的编辑器 playground，不是 Axle 运行时依赖；\n使用编辑器能力的应用按需自行安装。\nAxle 当前将 `data0` peer 限定在已验证的 `2.4.x`：运行时依赖其 effect/patch\n协议，升级 minor 版本前必须先通过 `test/data0-contract.test.ts`。\n\n```tsx\nimport { Leafer } from 'leafer-ui'\nimport { atom, RxList } from 'data0'\nimport { createRoot } from '@axiijs/axle'\n\nfunction App() {\n  const selected = atom<number | null>(null)\n  const items = new RxList([1, 2, 3])\n\n  return (\n    <group>\n      {items.map((value) => (\n        <rect\n          x={() => value * 30}\n          width={20}\n          height={20}\n          fill={() => (selected() === value ? 'blue' : 'gray')}\n          onTap={() => selected(value)}\n        />\n      ))}\n      <text y={40}>selected: {selected}</text>\n    </group>\n  )\n}\n\nconst leafer = new Leafer({ view: window })\ncreateRoot(leafer).render(<App />)\n```\n\nTypeScript 配置（自动 JSX runtime）：\n\n```jsonc\n{\n  \"compilerOptions\": {\n    \"jsx\": \"react-jsx\",\n    \"jsxImportSource\": \"@axiijs/axle\",\n  },\n}\n```\n\nClassic JSX（与 [axii](https://github.com/axiijs/axii) / Vite `jsxFactory: 'createElement'` 同构）时，\n使用 `createElement`，不要把 classic 变换产物直接喂给 `jsx`（`jsx` 的第三参是 `key`）：\n\n```tsx\n/** @jsx createElement */\nimport { createElement, createRoot } from '@axiijs/axle'\n```\n\n```jsonc\n{\n  \"compilerOptions\": {\n    \"jsx\": \"react\",\n    \"jsxFactory\": \"createElement\",\n    \"jsxFragmentFactory\": \"Fragment\",\n  },\n}\n```\n\n## 与 React 不同的运行时契约\n\nAxle 使用 JSX 语法，但不是 React renderer：\n\n- 组件函数只执行一次；结构更新来自 function child 或 `RxList` patch，没有 re-render / keyed diff。\n- `root.render()` 每个 root 只能成功挂载一棵树；再次渲染前必须先 `root.destroy()`。\n- `useEffect` 在子树 render 后**同步**执行，不等待 paint；初次挂载时执行顺序是\n  `useEffect` → root attach → `useLayoutEffect` / ref。\n- 事件绑定只建立一次，不会响应式 rebind。handler 应在事件发生时读取 atom，而不是依赖组件重执行。\n- layout effect 与 ref attach 执行时保证子树已经连通 `root.container`；清理回调与 ref detach\n  的异常会被隔离，不会中断整棵树销毁。\n- 带 `zIndex` 的列表不能触发 reorder patch；叠放顺序由显式 `zIndex` 决定，列表只应做 splice。\n\n完整契约见 [`doc/02-phase-1-design.md`](./doc/02-phase-1-design.md)。\n\n## 错误与诊断\n\n渲染错误可通过 root 统一处理；窗口化、空间索引、DotLayer、共享 ticker 等独立模块可直接复用\n`root.reportError`：\n\n```tsx\nconst root = createRoot(leafer, { listDiagnostics: import.meta.env.DEV })\nroot.on('error', (error) => reportToMonitoring(error))\n\nconst index = new SpatialIndex({\n  cellSize: 512,\n  onError: root.reportError,\n})\nconst windowed = new RxWindowedList({\n  index,\n  resolve: (id) => models.get(id)!,\n  viewRect,\n  onError: root.reportError,\n})\n```\n\n未注册 error listener、也未向独立模块传 `onError` 时，可恢复错误写入 `console.error`。\n`setListDiagnostics()` 仍可设置全局开发期默认值；`createRoot(..., { listDiagnostics })`\n用于多 root 应用的实例级覆盖。\n\n## 文档\n\n- [doc/01-overview.md](./doc/01-overview.md) — 总览与阶段规划\n- [doc/02-phase-1-design.md](./doc/02-phase-1-design.md) — Phase 1（运行时地基）设计\n\n## Playground\n\n仓库自带一个可交互的示例应用（响应式列表、选中高亮、拖拽、条件渲染、增量 reorder）：\n\n```bash\nnpm install\nnpm run playground   # 启动 vite，浏览器打开 playground\n```\n\n示例代码在 [`playground/main.tsx`](./playground/main.tsx)，直接引用 `src/`，改运行时代码即时生效。\n\n另有两个进阶页面：\n\n- `/canvas.html`（[`playground/canvas.tsx`](./playground/canvas.tsx)）— 节点画布交互 POC\n  （卡片拖拽、port 连线、视口缩放平移）；\n- `/stress.html`（[`playground/stress.tsx`](./playground/stress.tsx)）— **超大规模压测**：\n  默认 1 万张图文/视频/文字卡片 + 按比例连线（URL 参数 `?n=50000` 可到 5 万），\n  完整实施 [doc/05-large-scale-performance.md](./doc/05-large-scale-performance.md)\n  的视口虚拟化 / LOD / DotLayer 底衬 / 交互中降级 / 媒体门控，带 FPS、\n  帧时长 P95、场景图节点数等指标面板。\n\n## 开发\n\n```bash\nnpm install\nnpm run check        # typecheck + lint + test + build\nnpx vitest run --coverage\n```\n","readmeFilename":"README.md"}