{"_id":"@geajs/core","_rev":"29-b81c68cc709535ae1dc1859117bec566","name":"@geajs/core","dist-tags":{"latest":"1.3.0"},"versions":{"1.0.0":{"name":"@geajs/core","version":"1.0.0","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.0.0","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"313866115ed4f75eb166e2405233ab5c94d01dd5","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.0.0.tgz","fileCount":9,"integrity":"sha512-xRl6ZPo4cVKmOJK13go4pAQIuHMpyD7rBaQr8xNHcTWwi2hw2fpdMFWL44EtgXzI2KQeQsgBgge0QZ1pJSkhnQ==","signatures":[{"sig":"MEYCIQDmrWyKHUFZyiYFaWs7mWdfzNRotbysCY1OaXTn1dnaygIhAIX3G2zttcSvuXZHMnVJpsA70z4v6zmRbIV5d35Fz57m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":476997},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"gitHead":"ac836a33712d59e9eeea3925e5a11f461c67954e","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --test tests/**/*.test.ts","build":"tsdown --config-loader unrun && node scripts/append-jsx-types.mjs","test:coverage":"c8 --reporter=text --reporter=lcov tsx --test tests/**/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.0_1773831813447_0.22329455286578925","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@geajs/core","version":"1.0.1","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.0.1","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"df964931520cb4718c2a8988d3a72b55f197dae1","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.0.1.tgz","fileCount":9,"integrity":"sha512-pPhx2ntpd3TxM/l6cE2rfnEdXO1FGp9FANf+BTvpfLYFtla9tdA4m4k3dcYxYc4ykHu+HNRV/l9kSsFrYKb9iw==","signatures":[{"sig":"MEQCIH0VUwS/u25iuG4OTpluW/IIH1+YsyVhr2JYmbo/6RfuAiATK49vNMoYGZxOJGj9CUCPJ/ym2CQPWrdv/ja1wmNYcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":480519},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"gitHead":"95c86435192a5a47e1b36e50391939f8a5c5c958","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --test tests/**/*.test.ts","build":"tsdown --config-loader unrun && node scripts/append-jsx-types.mjs","test:coverage":"c8 --reporter=text --reporter=lcov tsx --test tests/**/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.1_1773933532577_0.9948958349671531","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@geajs/core","version":"1.0.2","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.0.2","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"ad30b0ff6c98aa5fb7266e85039c5ed7be966e95","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.0.2.tgz","fileCount":9,"integrity":"sha512-HUZAYZ59BRl3tkS64ByL6DlJSMEdQetexXtXpFcq4zX3xEKoxKr1Z1oBQRHs12g9nDYoQlICVnR/q4ByDggfWg==","signatures":[{"sig":"MEYCIQDRH/XTtwo41iZbKnVtw51oEaMhyDO0jRCdaU33BM5FHwIhAOMduTKtGcVmjQDZn8zJ6AbYDeyfBnCl6AlthWOPz+YF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":513458},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"}},"gitHead":"bea2752c7cee13176e6bb4a02db7f91638a59f6a","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --conditions source --import ./tests/preload.mjs --test tests/**/*.test.ts","build":"tsdown --config-loader unrun && node scripts/append-jsx-types.mjs","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.mjs --test tests/**/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.2_1774140528744_0.7985087071903032","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@geajs/core","version":"1.0.3","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.0.3","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"8d75e66bb3beb4a69cdb37cb7556832c36142549","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.0.3.tgz","fileCount":9,"integrity":"sha512-UCKB3YRhwa4k44T6Hpx9WBvrRl/VKpcFtkP29E8QH1vrtkY0LYCYVPePrzwCpAfYyCyQXTLC4cFiVgEwIMhRbw==","signatures":[{"sig":"MEUCIQCuB8FlVapD3G+KQYmkr9ww3C2A7H/pS5DcDhmi9cucRQIgdAXEXMXdm4UydDWxnanKk0jATbsoDgpTErGFoKehLkc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":547324},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"}},"gitHead":"513b26742288b3425855946488caad28bb1e46b8","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --conditions source --import ./tests/preload.mjs --test tests/**/*.test.ts","build":"tsdown --config-loader unrun && node scripts/append-jsx-types.mjs","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.mjs --test tests/**/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.3_1774345333022_0.3136430307493203","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@geajs/core","version":"1.0.4","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.0.4","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"6fa4cb817963c22bf536fb24a7afb19da8d826de","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.0.4.tgz","fileCount":9,"integrity":"sha512-O6wx/yTe7ywzcIB/7HYorayvrClp9Cmw2xP+unhZJnzdG0FhHsVrJcjuE/swd5vdCiU3Utv1QTQpIrtXASwJLg==","signatures":[{"sig":"MEUCICFMylkOcDHikaqVq50Dcea/Lk24t/EtSoU9KkKpWbaDAiEA/052UBPzhjUho3cExCUpvoUIsYi/Ol1hCSAzuw1q2Js=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":547708},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"}},"gitHead":"b3c94d21ca9306a45ab5d4c922ad569d55d1a7f1","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --conditions source --import ./tests/preload.mjs --test tests/**/*.test.ts","build":"tsdown --config-loader unrun && node scripts/append-jsx-types.mjs","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.mjs --test tests/**/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.4_1774359617111_0.21049156003446434","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@geajs/core","version":"1.0.5","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.0.5","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"a2e51fe4f8a555f9f92ac241113613fdb7c2a465","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.0.5.tgz","fileCount":9,"integrity":"sha512-kxT0vHc422RmlGsKgaVCekkUoegQ/zNS5ZGWHpyNL/tTh+LiISICZVKf2HPGluGT/o+iEINqVlwTHhxa4I0ezw==","signatures":[{"sig":"MEUCIQDnfEdJFLkb3dttsBVQIpCjPxsFBlThNoSgWU64vDxmtwIgCMJNF6xxgF8CkNxEGlhkxh71qHNqxaY047vc01Eug5Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":586126},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"}},"gitHead":"f4b424baa09366469ba7345b9ea2e71f85de1dd3","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --conditions source --import ./tests/preload.mjs --test tests/**/*.test.ts","build":"tsdown --config-loader unrun && node scripts/append-jsx-types.mjs","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.mjs --test tests/**/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.5_1774406395850_0.8862395108752064","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@geajs/core","version":"1.0.6","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.0.6","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"cac835c3d2a1b6c188d0ffa7331578c17cbf6442","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.0.6.tgz","fileCount":9,"integrity":"sha512-DhhpufQYk6m6d9Z7MVGPavzANSzekRMeFZwgh58ab3fF7AUV+rRruqD58b3cEYQiOLbWYYJ8MiIemRsw/497SA==","signatures":[{"sig":"MEYCIQCwKrLTRpRSnemS23uEEz1ZskQf6wcV18CrGoBnyOVT3gIhAOO/3ntFuz6j1ufUVMVmeV+n31JZ1Z+1PB0t9RkOt3O7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":588670},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"}},"gitHead":"d55f1315571cd4b617de60d653add7b3bca1e804","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","build":"tsdown --config-loader unrun && node scripts/append-jsx-types.mjs","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.6_1774468306412_0.9790055762318581","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@geajs/core","version":"1.0.7","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.0.7","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"452e6df756017de8a8c69f4d80e9a853b390b214","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.0.7.tgz","fileCount":9,"integrity":"sha512-TiaIcvEdM33XIqnqlONxAC+h8VILbBc83I/25J25WgzqhQdVi7uYSizd+lppVPGWHTojxkXj60bQe6Qb905yvg==","signatures":[{"sig":"MEUCIQCPiwrtQrZCWrhXwCGNskiLP2KD89gEqP0+O/7HROsSXwIgEBuqooI6xDnHu98rMc+WLbCOFHHa8oY8XBZZNrHkTA8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":604957},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"}},"gitHead":"c04cfd904d9c3fedb0b86b5f308f68f7b69d1927","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","build":"tsdown --config-loader unrun && node scripts/append-jsx-types.mjs","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.7_1774496511909_0.7723784837271845","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@geajs/core","version":"1.0.8","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.0.8","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"a07c0b3ed0cd41b5de28e7482775d49256683b7d","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.0.8.tgz","fileCount":9,"integrity":"sha512-OXJjclkBCBwHmgWFwBE5v5zMdQC3bECAQHAVhTWwUuK+52i22OI7J28LtEZIQrYh+KGdsuhb8TdYmriZFvpXug==","signatures":[{"sig":"MEYCIQC+pcIeudYomu0i0pXgdbVbBkzptfyJGr8QfBP8K3PX4QIhAOPvKr5HE+FvVQTh47BMhQ8+OmY51iZymDUHWJB0HBih","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":640690},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"}},"gitHead":"77190c72b783d64850a578ca1d1811b617eca1a0","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","build":"tsdown --config-loader unrun && node scripts/append-jsx-types.mjs","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"@types/react":"^19.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.8_1774532451085_0.14073213371269144","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@geajs/core","version":"1.0.9","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.0.9","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"8da779a9c18f085af6e28ef7bf15d5691bdee058","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.0.9.tgz","fileCount":9,"integrity":"sha512-bcUvCMBr6TZkOFcURiK4wf1yUNAFRNOLLFWBJSXoXDDC5FeQMjMGhAlJDFnd/Pkgm8/HYlnVJVgC2rwNhB+oUw==","signatures":[{"sig":"MEUCIQD5qdJobvIm0GlWCPWN/pUnXynzkna88Ek67HstjoWLQwIgFKrDM4dWOGKKYz4w09W83zl5LGpeTtFDo9dp2qH0k7s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":662823},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"}},"gitHead":"885fffd0a3ffd4cf3ed44a03357aa8af583d3185","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","build":"tsdown --config-loader unrun && node scripts/append-jsx-types.mjs","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"@types/react":"^19.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.9_1774549012122_0.609325694687161","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@geajs/core","version":"1.0.10","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.0.10","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"80dca112c1d0a11e67e345f880885dfdbeef4350","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.0.10.tgz","fileCount":9,"integrity":"sha512-jfAReosD6MoMm3Hq+8+JWHZw9uNScitAAWXPJfb04OC8N7bb/4I5cS4BDgx5qiG8pbooQKIxZ3+Tlm1kD34+tg==","signatures":[{"sig":"MEQCIDlbsztrNvECRWtwz1eEOn6/8LNS2lUC4krEkmZYw4RbAiAtBproeGrbxbbwxbBwDsP+LbtGVtKyOGSw0+0J73pQjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":676576},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"}},"gitHead":"e4d8074b5b421064ff91d79d44649a0c708a0088","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","build":"tsdown --config-loader unrun && node scripts/append-jsx-types.mjs","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"@types/react":"^19.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.10_1774573591639_0.17501908633928775","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@geajs/core","version":"1.0.11","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.0.11","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"105354323d273876933a360b259c16c698f9a1db","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.0.11.tgz","fileCount":9,"integrity":"sha512-W3nGm/obvUjDtEXXi+GxGp7hoHLK8tIh2UDuixH1J3zYz1C4y4uq0IapEKE9Mo6XfsqMzWctOZqXfJzAZMQ55w==","signatures":[{"sig":"MEYCIQDcwd8MHp8BeGbSF414GXxd/tiI2BPOWp5n9X9HO+Z7jwIhAN5/nT8/2IQVTFKi1oftU33hhzCrm6VLfHc1BJ5PZ96N","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":675943},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"}},"gitHead":"3a4137f76181e3f4f4be2b60c8f1443365b51b57","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","build":"tsdown --config-loader unrun && node scripts/append-jsx-types.mjs","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"@types/react":"^19.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.11_1774587740104_0.07586199032318208","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@geajs/core","version":"1.0.12","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.0.12","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"b60bfbc040e2cf937ff442a2eb7989838c272bee","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.0.12.tgz","fileCount":13,"integrity":"sha512-v3aujkGxs6BcxmQxoVc+ilOBdx/4hijZr3ie6OEDBygleN3KEvoFcNsyjw5ix5UlnyWNpMqhfQ33IWJfNq/3DQ==","signatures":[{"sig":"MEUCIHUAuc8R8McViWB5HAxhxjGaMrTKg9lhW3pVRFQYxQM7AiEAgvFIpBz+jcWnHNx2NQbVoyIzYmm/wXxJlHN76nc6d4g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":675870},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"},"./jsx-runtime":{"types":"./jsx-runtime.d.mts","import":"./jsx-runtime.mjs","source":"./src/jsx-runtime.ts"},"./jsx-dev-runtime":{"types":"./jsx-dev-runtime.d.mts","import":"./jsx-dev-runtime.mjs","source":"./src/jsx-dev-runtime.ts"}},"gitHead":"4ce45a0b413b302aea9075c115a0a5039da1ac7b","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","build":"tsdown --config-loader unrun","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"@types/react":"^19.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.12_1774611096243_0.4227524246209102","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@geajs/core","version":"1.0.14","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.0.14","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"540b96edfb0fb849f57b42ec3a97b62668ef61eb","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.0.14.tgz","fileCount":13,"integrity":"sha512-oqhSqZWP+Y8zw2HNFNHCCTgWJA1hia9jUOhjYt5QlzXbL+uBXGLWUj0cPO8DNL3TbG/tKyzNDRP0UVtUBt8SSw==","signatures":[{"sig":"MEYCIQDqkjwZ0sinUXzBRB8KVJG9Y83aCMSRFeeHpXGpBaONpQIhAJ+UAWZUGmm/vK5AbL33Tawg5ySOJnD46OqEy/DLt3n3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":680929},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"},"./jsx-runtime":{"types":"./jsx-runtime.d.mts","import":"./jsx-runtime.mjs","source":"./src/jsx-runtime.ts"},"./jsx-dev-runtime":{"types":"./jsx-dev-runtime.d.mts","import":"./jsx-dev-runtime.mjs","source":"./src/jsx-dev-runtime.ts"}},"gitHead":"e19a72e0a1ebfb0489b1e59028102f2b8d7f3a10","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","build":"tsdown --config-loader unrun","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"@types/react":"^19.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.14_1774645832399_0.25859712391471734","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@geajs/core","version":"1.0.15","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.0.15","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"a9459e0c1e7edfe9fa2dce94ef448a4be145f3a9","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.0.15.tgz","fileCount":15,"integrity":"sha512-bKFNrxAqmgzrIsTzESKWLfDvsBtcDS7ZVHyoEuTgor84r8VDQuYJ8DTLPfRNuQSkduWF1QNV9lokp2ltJXTSVQ==","signatures":[{"sig":"MEUCIHK186Wf6qGaUZnAtFipG7VoqeAA+3d6f6hSJO9N8PQLAiEAlimINYXGm6oC32AFbRpO88p5u4wrlkzHvrF99GUlICY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":707258},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"},"./router":{"types":"./dist/router.d.mts","import":"./dist/router.mjs","source":"./src/lib/router/index.ts"},"./jsx-runtime":{"types":"./jsx-runtime.d.mts","import":"./jsx-runtime.mjs","source":"./src/jsx-runtime.ts"},"./jsx-dev-runtime":{"types":"./jsx-dev-runtime.d.mts","import":"./jsx-dev-runtime.mjs","source":"./src/jsx-dev-runtime.ts"}},"gitHead":"655a9a1aeef50284a2ccf7e61eaa8393776263f1","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","build":"tsdown --config-loader unrun","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"@types/react":"^19.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.15_1774820799870_0.6504363221012015","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"@geajs/core","version":"1.0.16","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.0.16","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"03968c2d352dce121d8c3a03ea544c9389a0abf4","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.0.16.tgz","fileCount":15,"integrity":"sha512-OpCz7Va89fiGF1hyOexa6YStMslvO3NNUvkY6kpNCi4zKIVFx3VbXKn09T4rC2dWOquAswDAc5MqMb2xUnlQ9A==","signatures":[{"sig":"MEQCIEef6fqSduCknSfdPoj6CDflXIa62Vjzok/uswj29d+4AiBGwDpE4vSVPDmU8rolZJiZ7ZS6XpZPwx2+BWJztMpLkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":712795},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"},"./router":{"types":"./dist/router.d.mts","import":"./dist/router.mjs","source":"./src/lib/router/index.ts"},"./jsx-runtime":{"types":"./jsx-runtime.d.mts","import":"./jsx-runtime.mjs","source":"./src/jsx-runtime.ts"},"./jsx-dev-runtime":{"types":"./jsx-dev-runtime.d.mts","import":"./jsx-dev-runtime.mjs","source":"./src/jsx-dev-runtime.ts"}},"gitHead":"4c5abedf53d40f742b49bff7462e1aaf7c069cd3","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","build":"tsdown --config-loader unrun","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"@types/react":"^19.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.16_1774876439072_0.36716122144416063","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"@geajs/core","version":"1.0.22","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.0.22","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"9e8f239e06a3affed6ec7b6127481081882596fb","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.0.22.tgz","fileCount":15,"integrity":"sha512-A7vtYfSsapm7PY6hDI3yiaDmMzfySsOAN826gA9AW4MX8MpRYGF3XYoGDYENPFnz+lIj8dRZqWCtjayoMTs9mQ==","signatures":[{"sig":"MEYCIQD8Bc3iKadUu+mXMz1SQqg8Qo+JZxwmpQp28ZPBHGOGRwIhALWKwdOBXOW276iPeSkZ9RJWnmp3zg0HsAOgt9oedkvC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":714026},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"},"./router":{"types":"./dist/router.d.mts","import":"./dist/router.mjs","source":"./src/lib/router/index.ts"},"./jsx-runtime":{"types":"./jsx-runtime.d.mts","import":"./jsx-runtime.mjs","source":"./src/jsx-runtime.ts"},"./jsx-dev-runtime":{"types":"./jsx-dev-runtime.d.mts","import":"./jsx-dev-runtime.mjs","source":"./src/jsx-dev-runtime.ts"}},"gitHead":"a1cee8a8c1670e924288c1201dc68209ab5ecf39","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","build":"tsdown --config-loader unrun","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"@types/react":"^19.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.22_1774953819183_0.1782764583524703","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"@geajs/core","version":"1.0.26","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.0.26","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"9085a587e222dfbf0a28ca93f1b28fc7cf391d30","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.0.26.tgz","fileCount":15,"integrity":"sha512-8Dd/gzDQY1twhY+CdqG/inawAxPvLPCc94kwgqL0hhCXeeixvrvgqe1g8yyoncJoianRE7JUNoKuFih50cMJYQ==","signatures":[{"sig":"MEYCIQD0Mzwy6dmOrSmYDThNOh6Q3XJKoNQ7WIb+T+BmDrhkggIhAPKfjpI2GXUPVJ7xCoW7a+AZZkjqb8CWwb33pEETAqxB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":714450},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"},"./router":{"types":"./dist/router.d.mts","import":"./dist/router.mjs","source":"./src/lib/router/index.ts"},"./jsx-runtime":{"types":"./jsx-runtime.d.mts","import":"./jsx-runtime.mjs","source":"./src/jsx-runtime.ts"},"./jsx-dev-runtime":{"types":"./jsx-dev-runtime.d.mts","import":"./jsx-dev-runtime.mjs","source":"./src/jsx-dev-runtime.ts"}},"gitHead":"6a034500b7cf9f62430f8956969f4942e801aa77","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","build":"tsdown --config-loader unrun","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"@types/react":"^19.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.26_1774958826116_0.5923561280382221","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"@geajs/core","version":"1.0.27","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.0.27","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"93a8941bf4cdf2f7146b72db084e1d7b1bad600c","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.0.27.tgz","fileCount":15,"integrity":"sha512-CY57rCWoBAXxvizYQFhovBxyFrLhN7xpzgNcHfYV9cJQJ/dXGb+VrE3KawQXlPZ2EvK+Rz3m1N/NnSQ0Cx/+iA==","signatures":[{"sig":"MEUCIG1sQSzaJhHiRFWnoSm4P1vEKjePa6bSA0qCu+2BaN7IAiEA/OGl04Sxy8QCot9rONMrpjavX17PZRCB0IjE/+fn9Ek=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":714795},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"},"./router":{"types":"./dist/router.d.mts","import":"./dist/router.mjs","source":"./src/lib/router/index.ts"},"./jsx-runtime":{"types":"./jsx-runtime.d.mts","import":"./jsx-runtime.mjs","source":"./src/jsx-runtime.ts"},"./jsx-dev-runtime":{"types":"./jsx-dev-runtime.d.mts","import":"./jsx-dev-runtime.mjs","source":"./src/jsx-dev-runtime.ts"}},"gitHead":"3d66bf22b7c40ac566b005b3720416209a8c6170","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","build":"tsdown --config-loader unrun","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"@types/react":"^19.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.27_1774960011218_0.640331254277344","host":"s3://npm-registry-packages-npm-production"}},"1.0.29":{"name":"@geajs/core","version":"1.0.29","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.0.29","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"5a5cbcbd25171833dff43f76822f758f68b4c926","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.0.29.tgz","fileCount":15,"integrity":"sha512-10VxpvehBoL95yNPQ1ZBwyFqPmWvLcz3Ajxz0rB/frDRtr4TMGbnZXy78BA9hfomaaX+JxcP14scbzqIVbtbDQ==","signatures":[{"sig":"MEUCIQC+CIXpVqHmQ7XaT+LTUABzGMJdzT8VQy3uJVYh4d7EoAIgIpUUh+2BkfppMM6o6sKnODf0mJlwf1DCQ9L+eiTsekI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":715262},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"},"./router":{"types":"./dist/router.d.mts","import":"./dist/router.mjs","source":"./src/lib/router/index.ts"},"./jsx-runtime":{"types":"./jsx-runtime.d.mts","import":"./jsx-runtime.mjs","source":"./src/jsx-runtime.ts"},"./jsx-dev-runtime":{"types":"./jsx-dev-runtime.d.mts","import":"./jsx-dev-runtime.mjs","source":"./src/jsx-dev-runtime.ts"}},"gitHead":"44230b7c397ce7e58aa1290de07ec01af0cd7f95","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","build":"tsdown --config-loader unrun","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"@types/react":"^19.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.29_1774969050385_0.4322170814664634","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@geajs/core","version":"1.1.1","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.1.1","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"28dcc2ddf63c51510a2b79fa9bb10ae7552ab819","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.1.1.tgz","fileCount":15,"integrity":"sha512-TtPkkuYdrEkTc4+FbO6/qZlGVaeUBv6TB8SHiFkGSNaRT3HbBO/VMka+pLZz2NfD4tLS1UB4Rnb6yJgkIprVmg==","signatures":[{"sig":"MEQCIC+6NgIAleW4LtsRoQK24UazqqIOztk8LfgQHVG86cwcAiAoqhovv1RPUoLOqfTCJy8Jl4lYT6wZ5sjF0MyOCDyqiQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":908810},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"},"./router":{"types":"./dist/router.d.mts","import":"./dist/router.mjs","source":"./src/lib/router/index.ts"},"./jsx-runtime":{"types":"./jsx-runtime.d.mts","import":"./jsx-runtime.mjs","source":"./src/jsx-runtime.ts"},"./jsx-dev-runtime":{"types":"./jsx-dev-runtime.d.mts","import":"./jsx-dev-runtime.mjs","source":"./src/jsx-dev-runtime.ts"}},"gitHead":"f4d4734ff5e5387e1f72e14fd9d5dfeff0267f99","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","build":"tsdown --config-loader unrun","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"@types/react":"^19.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.1.1_1775235728160_0.8113909097357794","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@geajs/core","version":"1.1.2","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.1.2","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"29a7c2c92072b5f91377f3f2c76fad55c2f7933d","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.1.2.tgz","fileCount":15,"integrity":"sha512-JULYY6ptWFNUXtNR1l6iarM/DNH8zB+vQP6S9lnFJi9eE/0ZNIzIV7A0VFoNVFTVA/Wv6r6E5A799IS5tcnPaQ==","signatures":[{"sig":"MEUCIQCFNf0mWO8mSDakhwD5bV+wxHqt9GEAOCA5VxcG/CzymAIgBLHQ7/d36FDtPHesgL2zJLQWgFHurbU8dxsTA7LVbeU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":909064},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"},"./router":{"types":"./dist/router.d.mts","import":"./dist/router.mjs","source":"./src/lib/router/index.ts"},"./jsx-runtime":{"types":"./jsx-runtime.d.mts","import":"./jsx-runtime.mjs","source":"./src/jsx-runtime.ts"},"./jsx-dev-runtime":{"types":"./jsx-dev-runtime.d.mts","import":"./jsx-dev-runtime.mjs","source":"./src/jsx-dev-runtime.ts"}},"gitHead":"d32f2b1e121777e55ed3c11ceaf4788bfd9c81ff","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","build":"tsdown --config-loader unrun","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"@types/react":"^19.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.1.2_1775242479461_0.0008715019502414378","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@geajs/core","version":"1.1.3","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.1.3","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"7d0e3721ccfe03823c1f41fb3940b99e2b0607fb","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.1.3.tgz","fileCount":15,"integrity":"sha512-YTAizzv4M1X7KwR1VDQWGgwlYvt0qCGyFgV0vkbZJI00bzqJlPGHHeWvC8qiEsLdonKf0IOJeiDe0M53jmnsIA==","signatures":[{"sig":"MEUCIQCsE+LS8UEvL4bnPBs/sUqwEAKDft8DOfBHMS4VvIMmDwIgMoyyATMssArRWkj1cdCsSWDvOwtV66FpGZF6LMpV2UQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":910517},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"},"./router":{"types":"./dist/router.d.mts","import":"./dist/router.mjs","source":"./src/lib/router/index.ts"},"./jsx-runtime":{"types":"./jsx-runtime.d.mts","import":"./jsx-runtime.mjs","source":"./src/jsx-runtime.ts"},"./jsx-dev-runtime":{"types":"./jsx-dev-runtime.d.mts","import":"./jsx-dev-runtime.mjs","source":"./src/jsx-dev-runtime.ts"}},"gitHead":"2ce79d3546685e7604d3e60f08864c29fb9b6161","scripts":{"lint":"eslint src","size":"node -e \"process.stdout.write('gzip size: ')\" && gzip-size dist/gea.js","test":"tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","build":"tsdown --config-loader unrun","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","ts-type-check":"tsc --noEmit --project tsconfig.build.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"@types/react":"^19.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.1.3_1775247816369_0.7161258499772958","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@geajs/core","version":"1.2.0","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.2.0","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"05020d6d17e1fc13b85ca210b0e38206f55b0c61","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.2.0.tgz","fileCount":15,"integrity":"sha512-CEaj4jYjNF/kpRw4zc7F3dbh+JHG/bBEA08E9mglHVlUtAxDnib1yMwUN8kvS5eHTakSUDeh/1Ha7WTVu1O3JQ==","signatures":[{"sig":"MEQCIAPBKx5PZ5efDPrrOMYicDeu7wflGcCqFYmQIZaAUXFjAiBP4rQnHMrUGDjaHh4bTkWbJebgrc+//NiQt2CEcnDZqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":747527},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"},"./router":{"types":"./dist/router.d.mts","import":"./dist/router.mjs","source":"./src/lib/router/index.ts"},"./jsx-runtime":{"types":"./jsx-runtime.d.mts","import":"./jsx-runtime.mjs","source":"./src/jsx-runtime.ts"},"./jsx-dev-runtime":{"types":"./jsx-dev-runtime.d.mts","import":"./jsx-dev-runtime.mjs","source":"./src/jsx-dev-runtime.ts"}},"gitHead":"96b4da05f07b8215a3e80faf85e5734ed0016967","scripts":{"lint":"eslint src","size":"node -e \"const{gzipSync}=require('zlib'),{readFileSync}=require('fs');const b=gzipSync(readFileSync('dist/gea.js'));console.log('gzip size: '+(b.length/1024).toFixed(2)+' kB')\"","test":"tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","build":"tsdown --config-loader unrun","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","ts-type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"@types/react":"^19.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.2.0_1775427100931_0.8797687322328582","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@geajs/core","version":"1.2.1","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.2.1","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"e7082fcdaffa14a0b33ba8e69e42f4397a990736","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.2.1.tgz","fileCount":15,"integrity":"sha512-hlO1MNagZZzzc1R1nMGL6ot2OgYN2tA1ho5Sh/306GHOf2/YXWrhbXJJ602pjiLTUMx6jao1Bg0kZ3nZM9KYLA==","signatures":[{"sig":"MEYCIQCd9AuYmHV8/2lg6xVgNQDwof83Yo6Au9ENJBXlcqeJpgIhAK6XE2YeC6KIgkmYXu61N/9xwftN1HpL8ForQ31PxbTI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":749181},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"},"./router":{"types":"./dist/router.d.mts","import":"./dist/router.mjs","source":"./src/lib/router/index.ts"},"./jsx-runtime":{"types":"./jsx-runtime.d.mts","import":"./jsx-runtime.mjs","source":"./src/jsx-runtime.ts"},"./jsx-dev-runtime":{"types":"./jsx-dev-runtime.d.mts","import":"./jsx-dev-runtime.mjs","source":"./src/jsx-dev-runtime.ts"}},"gitHead":"3e2f283094932d33fc8a86ce17b28ca82f18329f","scripts":{"lint":"eslint src","size":"node -e \"const{gzipSync}=require('zlib'),{readFileSync}=require('fs');const b=gzipSync(readFileSync('dist/gea.js'));console.log('gzip size: '+(b.length/1024).toFixed(2)+' kB')\"","test":"tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","build":"tsdown --config-loader unrun","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","ts-type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"@types/react":"^19.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.2.1_1775437902285_0.07404054578619523","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@geajs/core","version":"1.2.3","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","_id":"@geajs/core@1.2.3","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"homepage":"https://github.com/dashersw/gea#readme","bugs":{"url":"https://github.com/dashersw/gea/issues"},"dist":{"shasum":"e686e1950bdf4b79973a4e6a4353792e7f2bafa8","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.2.3.tgz","fileCount":15,"integrity":"sha512-fIcpue0GoiKfbRPVl721NHXWQRyKsrBnJntfH16/6Cav4uZ4eFiRYQgeHpkgz0kSQSApemVcNBuJydj+f7oXVw==","signatures":[{"sig":"MEQCIDPCr3YFweOya2Ntiw7rlEC+k26zKCVIbu1wDWKJOhc5AiBvDd7O7HSqVUj5ep+1zev1FkSWxcNgAMtr6qhMdZHInQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":751434},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","source":"./src/index.ts"},"./router":{"types":"./dist/router.d.mts","import":"./dist/router.mjs","source":"./src/lib/router/index.ts"},"./jsx-runtime":{"types":"./jsx-runtime.d.mts","import":"./jsx-runtime.mjs","source":"./src/jsx-runtime.ts"},"./jsx-dev-runtime":{"types":"./jsx-dev-runtime.d.mts","import":"./jsx-dev-runtime.mjs","source":"./src/jsx-dev-runtime.ts"}},"gitHead":"403eca73271c103711f9b9e7430625c01f74fe3d","scripts":{"lint":"eslint src","size":"node -e \"const{gzipSync}=require('zlib'),{readFileSync}=require('fs');const b=gzipSync(readFileSync('dist/gea.js'));console.log('gzip size: '+(b.length/1024).toFixed(2)+' kB')\"","test":"tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","build":"tsdown --config-loader unrun","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts --test tests/examples/*.test.ts","ts-type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"repository":{"url":"git+https://github.com/dashersw/gea.git","type":"git"},"_npmVersion":"11.6.0","description":"A lightweight, reactive JavaScript UI framework with compile-time JSX and proxy-based stores","directories":{},"sideEffects":false,"_nodeVersion":"24.8.0","dependencies":{"@types/react":"^19.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","tsx":"^4.21.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","typescript":"~5.8.0","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/core_1.2.3_1775498397476_0.05877740771875284","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@geajs/core","type":"module","version":"1.3.0","description":"A compiler-first reactive JavaScript UI framework with compile-time JSX and proxy-based stores","main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.mts","exports":{".":{"source":"./src/index.ts","types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./router":{"source":"./src/router/index.ts","types":"./dist/router.d.mts","import":"./dist/router.mjs"},"./compiler-runtime":{"source":"./src/compiler-runtime.ts","types":"./dist/compiler-runtime.d.mts","import":"./dist/compiler-runtime.mjs"},"./jsx-runtime":{"source":"./src/jsx-runtime.ts","types":"./dist/jsx-runtime.d.mts","import":"./dist/jsx-runtime.mjs"},"./jsx-dev-runtime":{"source":"./src/jsx-dev-runtime.ts","types":"./dist/jsx-dev-runtime.d.mts","import":"./dist/jsx-dev-runtime.mjs"},"./ssr":{"source":"./src/ssr.ts","types":"./dist/ssr.d.mts","import":"./dist/ssr.mjs"}},"repository":{"type":"git","url":"git+https://github.com/dashersw/gea.git"},"keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"scripts":{"build":"tsdown --config-loader unrun","prepublishOnly":"npm run build","ts-type-check":"tsc --noEmit","lint":"eslint src","test":"tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts tests/examples/*.test.ts tests/runtime/*.test.ts","test:coverage":"c8 --reporter=text --reporter=lcov tsx --conditions source --import ./tests/preload.ts --test tests/*.test.ts tests/examples/*.test.ts tests/runtime/*.test.ts"},"publishConfig":{"access":"public"},"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","sideEffects":false,"bugs":{"url":"https://github.com/dashersw/gea/issues"},"homepage":"https://github.com/dashersw/gea#readme","dependencies":{"@types/react":"^19.0.0"},"devDependencies":{"@types/node":"^25.5.0","c8":"^11.0.0","jsdom":"^29.0.0","quill":"^2.0.3","tsdown":"^0.21.2","tsx":"^4.21.0","typescript":"^6.0.3"},"_id":"@geajs/core@1.3.0","gitHead":"13b40bb2020eb0756d2c73d5471618d7d1a9ec61","_nodeVersion":"24.8.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-eU2Qq6aWAONkfS7qR4WIEyeCCctzM2wXXkgBslLrruKQlFdTQpm7xjUNAS9DmZ8GMQ4vTIdHFgNk+z6V+OAndg==","shasum":"4d3365bae9e00f1c309b4148e76935986be4ff64","tarball":"https://registry.npmjs.org/@geajs/core/-/core-1.3.0.tgz","fileCount":32,"unpackedSize":601354,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICXQbB1cnnnbF6bjhcPBB3vT2TeqshKcY6mn/p/minfWAiEA1dAePBafl4PIs60Ow4BiZOFNO4o73dAZZv26rR3edww="}]},"_npmUser":{"name":"dashersw","email":"armagan@amcalar.com"},"directories":{},"maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/core_1.3.0_1777285742738_0.04363131587623981"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-18T11:03:33.346Z","modified":"2026-04-27T10:29:03.049Z","1.0.0":"2026-03-18T11:03:33.610Z","1.0.1":"2026-03-19T15:18:52.750Z","1.0.2":"2026-03-22T00:48:48.884Z","1.0.3":"2026-03-24T09:42:13.161Z","1.0.4":"2026-03-24T13:40:17.256Z","1.0.5":"2026-03-25T02:39:56.045Z","1.0.6":"2026-03-25T19:51:46.574Z","1.0.7":"2026-03-26T03:41:52.145Z","1.0.8":"2026-03-26T13:40:51.253Z","1.0.9":"2026-03-26T18:16:52.365Z","1.0.10":"2026-03-27T01:06:31.818Z","1.0.11":"2026-03-27T05:02:20.251Z","1.1.0":"2026-03-27T11:15:12.363Z","1.0.12":"2026-03-27T11:31:36.481Z","1.0.14":"2026-03-27T21:10:32.574Z","1.0.15":"2026-03-29T21:46:40.075Z","1.0.16":"2026-03-30T13:13:59.248Z","1.0.22":"2026-03-31T10:43:39.416Z","1.0.26":"2026-03-31T12:07:06.298Z","1.0.27":"2026-03-31T12:26:51.409Z","1.0.29":"2026-03-31T14:57:30.571Z","1.1.1":"2026-04-03T17:02:08.472Z","1.1.2":"2026-04-03T18:54:39.650Z","1.1.3":"2026-04-03T20:23:36.571Z","1.2.0":"2026-04-05T22:11:41.153Z","1.2.1":"2026-04-06T01:11:42.549Z","1.2.3":"2026-04-06T17:59:57.688Z","1.3.0":"2026-04-27T10:29:02.905Z"},"bugs":{"url":"https://github.com/dashersw/gea/issues"},"author":{"name":"Armagan Amcalar","email":"armagan@amcalar.com"},"license":"MIT","homepage":"https://github.com/dashersw/gea#readme","keywords":["ui-framework","javascript","typescript","jsx","reactive","proxy","no-vdom","lightweight","mobile"],"repository":{"type":"git","url":"git+https://github.com/dashersw/gea.git"},"description":"A compiler-first reactive JavaScript UI framework with compile-time JSX and proxy-based stores","maintainers":[{"name":"dashersw","email":"armagan@amcalar.com"}],"readme":"<img src=\"https://raw.githubusercontent.com/dashersw/gea/master/docs/public/logo.jpg\" height=\"180\" alt=\"Gea\" />\n\n[![npm version](https://badge.fury.io/js/%40geajs%2Fcore.svg)](https://www.npmjs.com/package/@geajs/core)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/dashersw/gea/blob/master/LICENSE)\n\n# Gea\n\nA compiler-first reactive JavaScript UI framework with compile-time JSX and proxy-based stores. No virtual DOM — the Vite plugin analyzes your JSX at build time and generates surgical DOM patches that update only what changed. A hello-world production build is 121 B brotli; an equivalent interactive todo ships 4.9 kb of brotli JavaScript.\n\nSvelte made \"compile the framework away\" famous. Gea takes the phrase literally: in a static hello-world app, the framework runtime disappears from the bundle.\n\n## Compile To Almost Nothing\n\nIn a fresh Vite production hello-world build, Gea ships **121 B** of brotli JavaScript. The equivalent Solid build ships 3.6 kb, Svelte ships 8.5 kb, Vue ships 20.7 kb, and React ships 50.8 kb.\n\n| Framework | Version | Raw minified JS | Brotli JS | Brotli vs Gea |\n| --- | --- | ---: | ---: | ---: |\n| Gea | 1.3.0 | 214 B | **121 B** | 1.0x |\n| Solid | 1.9.12 | 10,196 B | 3,601 B | 29.8x |\n| Svelte | 5.55.5 | 23,461 B | 8,537 B | 70.6x |\n| Vue | 3.5.33 | 58,174 B | 20,711 B | 171.2x |\n| React | 19.2.5 / React DOM 19.2.5 | 189,717 B | 50,816 B | 420.0x |\n\nMeasured from fresh Vite 8.0.10 production apps, summing JavaScript assets only. Gea used the compiled component output; React, Vue, and Svelte used equivalent minimal hello-world components.\n\n## Stays Lean When The App Does Work\n\nHello world proves the compiler can disappear. Todo proves the runtime stays lean when the app actually does something.\n\nIn an equivalent interactive todo app with reactive state, input handling, filtering, item updates, and identical CSS, Gea ships **4.9 kb** of brotli JavaScript. Solid ships 5.7 kb, Svelte ships 13.7 kb, Vue ships 22.6 kb, and React ships 51.5 kb.\n\n| Framework | Version | Minified JS raw | Minified JS brotli | Total raw JS+CSS | Total brotli JS+CSS |\n| --- | --- | ---: | ---: | ---: | ---: |\n| Gea | 1.3.0 | 15,265 B | **4,850 B** | 17,976 B | **5,607 B** |\n| Solid | 1.9.12 | 16,181 B | 5,721 B | 18,892 B | 6,485 B |\n| Svelte | 5.55.5 | 38,812 B | 13,661 B | 41,523 B | 14,429 B |\n| Vue | 3.5.33 | 63,676 B | 22,585 B | 66,387 B | 23,411 B |\n| React | 19.2.5 / React DOM 19.2.5 | 192,330 B | 51,460 B | 195,041 B | 52,287 B |\n\nMeasured from fresh Vite production builds in `/tmp/gea-todo-framework-size-compare`. CSS was identical across all builds: 2,711 B raw, 746 B brotli.\n\n## Philosophy\n\nGea's guiding principle is that JavaScript code should be simple and understandable. A framework should not invent new programming concepts or expect you to conform to arbitrary rules. You write regular, idiomatic JavaScript — classes with state and methods, functions that return markup, getters for derived values — and Gea makes it reactive under the hood.\n\nThere are no signals, no hooks, no dependency arrays, no compiler directives, and no framework-specific primitives. The only concept Gea introduces is the `Store` class, which is just an ordinary class whose properties happen to be observed by a proxy. Everything else — class inheritance, method calls, property access, `Array.map`, ternary expressions — is standard JavaScript you already know.\n\nThe \"magic\" lives entirely in the build step. The Vite plugin analyzes your code at compile time, figures out which DOM nodes depend on which state, and generates the wiring. At runtime, you get clean, readable, object-oriented code that just works.\n\n## Performance\n\nGea is the fastest compiled UI framework — benchmarked with the [js-framework-benchmark](https://github.com/krausest/js-framework-benchmark) suite, the industry-standard stress test covering row creation, updates, swaps, selection, and deletion on large tables.\n\n| Framework | Weighted geometric mean |\n| --- | --- |\n| vanillajs | 1.00 |\n| **Gea 1.3** | **1.02** |\n| Solid 1.9 | 1.10 |\n| Svelte 5 | 1.10 |\n| Vue 3.6 | 1.22 |\n| React 19.2 | 1.43 |\n\nLower is better (1.00 = fastest). Gea outperforms every compiled framework while requiring zero framework-specific concepts — no signals, no hooks, no compiler directives. It's not just the DX — it's the fastest, too. [Full benchmark report](https://geajs.com/benchmark-report.html)\n\n## Quick Start\n\n```bash\nnpm create gea@latest my-app\ncd my-app\nnpm install\nnpm run dev\n```\n\nOr add Gea to an existing Vite project:\n\n```bash\nnpm install @geajs/core @geajs/vite-plugin\n```\n\n```js\n// vite.config.ts\nimport { defineConfig } from 'vite'\nimport { geaPlugin } from '@geajs/vite-plugin'\n\nexport default defineConfig({\n  plugins: [geaPlugin()]\n})\n```\n\n## TypeScript\n\nGea provides full JSX type-checking via TypeScript's `jsxImportSource`. Add this to your `tsconfig.json`:\n\n```json\n{\n  \"compilerOptions\": {\n    \"jsx\": \"react-jsx\",\n    \"jsxImportSource\": \"@geajs/core\"\n  }\n}\n```\n\nThis gives you prop autocompletion, type errors on invalid attributes, and hover types in any TypeScript-aware editor — VS Code, Cursor, Vim, Zed — without framework-specific plugins.\n\nUse `declare props` on class components for typed props:\n\n```tsx\nexport default class UserCard extends Component {\n  declare props: { name: string; email: string; onSelect?: () => void }\n\n  template({ name, email, onSelect }: this['props']) {\n    return (\n      <div class=\"user-card\" click={onSelect}>\n        <span>{name}</span>\n        <span>{email}</span>\n      </div>\n    )\n  }\n}\n```\n\n`declare props` defines the accepted JSX attributes — no JavaScript emitted. `: this['props']` on the `template()` parameter is optional but recommended — it types the destructured variables inside the method for full end-to-end type safety.\n\n## Core Concepts\n\n### Stores\n\nA Store holds shared application state. Extend `Store`, declare reactive properties as class fields, add methods that mutate them, and export a singleton instance. The store instance is wrapped in a deep `Proxy` that tracks every mutation and batches notifications via `queueMicrotask`.\n\n```ts\nimport { Store } from '@geajs/core'\n\nclass CounterStore extends Store {\n  count = 0\n\n  increment() { this.count++ }\n  decrement() { this.count-- }\n}\n\nexport default new CounterStore()\n```\n\nMutate state directly — the proxy handles reactivity automatically. Array methods (`push`, `pop`, `splice`, `sort`, `reverse`, `shift`, `unshift`) are intercepted to produce fine-grained change events like `append`, `reorder`, and `swap`.\n\n### Class Components\n\nExtend `Component` and implement a `template()` method that returns JSX. Class components inherit from `Store`, so they have their own reactive properties — use them when you need local, transient UI state that no other component cares about.\n\n```jsx\nimport { Component } from '@geajs/core'\n\nexport default class Counter extends Component {\n  count = 0\n\n  increment() { this.count++ }\n  decrement() { this.count-- }\n\n  template() {\n    return (\n      <div class=\"counter\">\n        <span>{this.count}</span>\n        <button click={this.increment}>+</button>\n        <button click={this.decrement}>-</button>\n      </div>\n    )\n  }\n}\n```\n\nEvent handlers accept both method references (`click={this.increment}`) and arrow functions (`click={() => this.increment()}`). The compiler wires both forms to the component's event delegation system. Use method references for simple forwarding; use arrow functions when you need to pass arguments or compose logic.\n\nUse class components when you need local state or lifecycle hooks.\n\n### Function Components\n\nExport a default function that receives props and returns JSX. The Vite plugin converts it to a class component at build time.\n\n```jsx\nexport default function Greeting({ name }) {\n  return <h1>Hello, {name}!</h1>\n}\n```\n\nUse function components for stateless, presentational UI.\n\n### Props and Data Flow\n\nGea's props follow standard JavaScript semantics — no framework-invented concepts like `v-model`, `emit`, or callback-based state lifting. When a parent passes data to a child component, it works exactly like passing arguments to a function in JavaScript:\n\n- **Primitives** (numbers, strings, booleans) are passed **by value**. The child receives a copy. Reassigning the prop in the child does not affect the parent — just like reassigning a function parameter in plain JS.\n- **Objects and arrays** are passed **by reference**. The child receives the same proxy the parent holds. Mutating the object or array in the child updates the parent's state and DOM automatically — because it's the same object.\n\n```jsx\n// parent.tsx\nimport { Component } from '@geajs/core'\n\nexport default class Parent extends Component {\n  count = 0\n  user = { name: 'Alice', age: 30 }\n  items = ['a', 'b']\n\n  template() {\n    return (\n      <div>\n        <span>{this.count}</span>\n        <span>{this.user.name}</span>\n        <span>{this.items.length} items</span>\n        <Child count={this.count} user={this.user} items={this.items} />\n      </div>\n    )\n  }\n}\n```\n\n```jsx\n// child.tsx\nexport default function Child({ count, user, items }) {\n  return (\n    <div>\n      <span>{count}</span>\n      <span>{user.name}</span>\n      <span>{items.length} items</span>\n    </div>\n  )\n}\n```\n\nIn this setup:\n\n- `user.name = 'Bob'` in the child updates both parent and child DOM — it's the same reactive proxy.\n- `items.push('c')` in the child updates both — same array reference.\n- `count = 99` in the child updates only the child's DOM — the parent still holds the original value.\n\nThis is exactly how JavaScript works. There is no `emit`, no `defineModel`, no callback wiring for object/array mutations. The framework doesn't add a layer of indirection — it respects the language's native pass-by-value and pass-by-reference semantics.\n\nFor deep nesting (grandchild, great-grandchild, etc.), the same rules apply. As long as the same object reference is passed down, any descendant can mutate it and the change propagates up to every ancestor that observes it — because they all share the same proxy.\n\n### Passing components as props\n\nPass components as props to build layouts with multiple named regions — the same idea other frameworks call \"named slots,\" without a separate API.\n\n```jsx\n// Parent passes components as named props\n<Layout header={<Title />} sidebar={<Nav />} main={<Content />} />\n\n// Layout renders each region wherever it wants\nexport default class Layout extends Component {\n  template({ header, sidebar, main }) {\n    return (\n      <div class=\"layout\">\n        <aside>{sidebar}</aside>\n        <main>{main}</main>\n        <header>{header}</header>\n      </div>\n    )\n  }\n}\n```\n\nFor a **single** default region, nest content inside the component tags and read `children` in the child:\n\n```jsx\n// Parent nests content between opening and closing tags\n<Card>\n  <h2>Title</h2>\n  <p>Body text goes here.</p>\n</Card>\n\n// Card renders whatever was nested inside it\nexport default class Card extends Component {\n  template({ children }) {\n    return <div class=\"card\">{children}</div>\n  }\n}\n```\n\n### Computed Values\n\nUse getters on stores for derived state. They re-evaluate on every access — the Vite plugin tracks which state paths the template reads and triggers updates when those paths change.\n\n```ts\nclass TodoStore extends Store {\n  todos = []\n  filter = 'all'\n\n  get filteredTodos() {\n    const { todos, filter } = this\n    if (filter === 'active') return todos.filter(t => !t.done)\n    if (filter === 'completed') return todos.filter(t => t.done)\n    return todos\n  }\n\n  get activeCount() {\n    return this.todos.filter(t => !t.done).length\n  }\n}\n```\n\n## JSX Syntax\n\nGea JSX is close to HTML. Key differences from React:\n\n| Feature | Gea | React |\n| --- | --- | --- |\n| CSS classes | `class=\"foo\"` | `className=\"foo\"` |\n| Event handlers | `click={fn}` or `onClick={fn}` | `onClick={fn}` |\n| Input events | `input={fn}` or `onInput={fn}` | `onChange={fn}` |\n| Keyboard events | `keydown={fn}` or `onKeyDown={fn}` | `onKeyDown={fn}` |\n\nBoth native-style (`click`, `change`) and React-style (`onClick`, `onChange`) event attribute names are supported.\n\nSupported event attributes: `click`, `dblclick`, `input`, `change`, `keydown`, `keyup`, `blur`, `focus`, `mousedown`, `mouseup`, `submit`, `dragstart`, `dragend`, `dragover`, `dragleave`, `drop`.\n\nWith `@geajs/mobile`: `tap`, `longTap`, `swipeRight`, `swipeUp`, `swipeLeft`, `swipeDown`.\n\n### Conditional Rendering\n\n```jsx\n{step === 1 && <StepOne />}\n{!done ? <Form /> : <Success />}\n```\n\n### List Rendering\n\n```jsx\n<ul>\n  {todos.map(todo => (\n    <TodoItem key={todo.id} todo={todo} onToggle={() => store.toggle(todo.id)} />\n  ))}\n</ul>\n```\n\nAlways provide a `key` prop. Gea uses it for efficient list diffing — handling adds, deletes, reorders, and swaps without re-rendering the entire list.\n\n## Lifecycle\n\n| Method | When called |\n| --- | --- |\n| `created(props)` | After constructor, before render |\n| `onAfterRender()` | After DOM insertion and child mounting |\n| `onAfterRenderAsync()` | Next `requestAnimationFrame` after render |\n| `dispose()` | Removes from DOM, cleans up observers and children |\n\n## DOM Helpers\n\n| Method | Description |\n| --- | --- |\n| `$(selector)` | First matching descendant (scoped `querySelector`) |\n| `$$(selector)` | All matching descendants (scoped `querySelectorAll`) |\n\n## Rendering\n\n```ts\nimport App from './app'\n\nconst app = new App()\napp.render(document.getElementById('app'))\n```\n\nComponents render once. Subsequent state changes trigger surgical DOM patches — not full re-renders.\n\n## Router\n\nGea includes a built-in client-side router for single-page applications.\n\nRouter APIs are part of the main Gea API, so you can import `Link`, `RouterView`, and `router` from `@geajs/core`.\n\n### Quick Example\n\n```jsx\nimport { Component, Link, RouterView } from '@geajs/core'\nimport Home from './views/Home'\nimport About from './views/About'\nimport UserProfile from './views/UserProfile'\n\nexport default class App extends Component {\n  template() {\n    return (\n      <div class=\"app\">\n        <nav>\n          <Link to=\"/\" label=\"Home\" />\n          <Link to=\"/about\" label=\"About\" />\n          <Link to=\"/users/1\" label=\"Alice\" />\n        </nav>\n        <RouterView routes={[\n          { path: '/', component: Home },\n          { path: '/about', component: About },\n          { path: '/users/:id', component: UserProfile },\n        ]} />\n      </div>\n    )\n  }\n}\n```\n\n### Route Patterns\n\n| Pattern | Example URL | Params |\n| --- | --- | --- |\n| `/about` | `/about` | `{}` |\n| `/users/:id` | `/users/42` | `{ id: '42' }` |\n| `/repo/:owner/*` | `/repo/dashersw/src/index.ts` | `{ owner: 'dashersw', '*': 'src/index.ts' }` |\n\n### Components\n\n- **`RouterView`** — renders the component matching the current URL. Accepts a `routes` array of `{ path, component }` objects. Supports both class and function components.\n- **`Link`** — renders an `<a>` tag that navigates via `history.pushState` instead of a full page reload. Modifier keys (Cmd/Ctrl+click) open in a new tab as expected.\n\n### Programmatic Navigation\n\n```ts\nimport { router } from '@geajs/core'\n\nrouter.navigate('/about')          // push new entry\nrouter.replace('/login')           // replace current entry\nrouter.back()                      // history.back()\nrouter.forward()                   // history.forward()\n\nconsole.log(router.path)           // '/about'\nconsole.log(router.query)          // { q: 'hello' } for ?q=hello\n```\n\n### Route Parameters in Components\n\nFunction components receive matched params as props:\n\n```jsx\nexport default function UserProfile({ id }) {\n  return <h1>User {id}</h1>\n}\n```\n\nClass components receive them via `created(props)` and `template(props)`.\n\n## Related Packages\n\n- **[@geajs/mobile](https://www.npmjs.com/package/@geajs/mobile)** — Mobile UI primitives: views, navigation, gestures, sidebar, tabs, pull-to-refresh, infinite scroll.\n- **[@geajs/vite-plugin](https://www.npmjs.com/package/@geajs/vite-plugin)** — Vite plugin that powers compile-time JSX transforms, reactivity wiring, and HMR.\n- **[create-gea](https://www.npmjs.com/package/create-gea)** — Project scaffolder: `npm create gea@latest`.\n\n## Documentation\n\nFull documentation: [docs](https://github.com/dashersw/gea/tree/master/docs)\n\n## AI-Assisted Development\n\nThis repository includes [agent skills](https://github.com/dashersw/gea/tree/master/skills/gea-framework) that teach AI coding assistants how to work with Gea. If you use Cursor, Codex, or a similar AI-enabled editor, it will automatically pick up the skill files and understand Gea's stores, components, JSX conventions, and reactivity model — so you can scaffold and iterate on Gea apps with full AI assistance out of the box.\n\n## License\n\n[MIT](LICENSE) — Copyright (c) 2017-present Armagan Amcalar\n","readmeFilename":"README.md"}