{"_id":"@elurjs/vite-plugin-elur","_rev":"7-cb5dc012cae4d542cae959abcdbdda03","name":"@elurjs/vite-plugin-elur","dist-tags":{"beta":"2.2.0-beta.0","latest":"2.2.1"},"versions":{"2.0.2":{"name":"@elurjs/vite-plugin-elur","version":"2.0.2","keywords":["vite","plugin","elur","hmr","hot-module-replacement"],"author":{"name":"Deiver Vasquez"},"license":"MIT","_id":"@elurjs/vite-plugin-elur@2.0.2","maintainers":[{"name":"deijose","email":"estudiandovazmore@gmail.com"}],"homepage":"https://github.com/elurjs/vite-plugin-elur#readme","bugs":{"url":"https://github.com/elurjs/vite-plugin-elur/issues"},"dist":{"shasum":"1200e5c0b9d186a5b728aa82eceeb2ea7f472555","tarball":"https://registry.npmjs.org/@elurjs/vite-plugin-elur/-/vite-plugin-elur-2.0.2.tgz","fileCount":20,"integrity":"sha512-pXvtUcy2DLUkVS7zl3p+sSMpwtru6pt6/xlDG5HBGdqV+fpIxfYtE0fZB1rJbEW1vu2uteweliecIy0XCzc+4g==","signatures":[{"sig":"MEYCIQDDDcdo8aUfQ5nT7G0J0vHJLeOH6ZiSxfBREjRJ/OzpzQIhAK+lrx5o8Gl95jDTnUZQVLub+PPiO0m7CjsaecyAoQnj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":483228},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js","require":"./dist/runtime.cjs"}},"gitHead":"dc1ce26aeabb198597f994fee4076899c946ae05","scripts":{"dev":"vite build --watch","test":"vitest run","build":"tsc --noEmit && vite build && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"deijose","email":"estudiandovazmore@gmail.com"},"repository":{"url":"git+https://github.com/elurjs/vite-plugin-elur.git","type":"git"},"_npmVersion":"10.9.9","description":"Vite plugin for Elur with Hot Module Replacement and full state preservation (signals, stores, routers, forms)","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"@babel/core":"^7.26.0","@babel/types":"^7.26.0","@babel/parser":"^7.26.0","@babel/traverse":"^7.26.0","@babel/generator":"^7.26.0","@elurjs/core-compiler":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.0","vitest":"^4.0.18","happy-dom":"^20.8.3","typescript":"~5.9.3","@types/node":"^22.0.0","@types/babel__core":"^7.20.5","@types/babel__traverse":"^7.20.6","@types/babel__generator":"^7.6.8"},"peerDependencies":{"vite":"^7.0.0 || ^8.0.0","@elurjs/core":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/vite-plugin-elur_2.0.2_1787937532876_0.604957708274962","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@elurjs/vite-plugin-elur","version":"2.0.3","keywords":["vite","plugin","elur","hmr","hot-module-replacement"],"author":{"name":"Deiver Vasquez"},"license":"MIT","_id":"@elurjs/vite-plugin-elur@2.0.3","maintainers":[{"name":"deijose","email":"estudiandovazmore@gmail.com"}],"homepage":"https://github.com/elurjs/vite-plugin-elur#readme","bugs":{"url":"https://github.com/elurjs/vite-plugin-elur/issues"},"dist":{"shasum":"6e13f928dda653c75d8726ae194152ddcd95cf66","tarball":"https://registry.npmjs.org/@elurjs/vite-plugin-elur/-/vite-plugin-elur-2.0.3.tgz","fileCount":20,"integrity":"sha512-RiyODieE5WDZZhMbWamBqdVWhII9swd6qyAPShyKx8KqEaibVPoP0LuO+bhJ1jgOEk9wv7z3S16OnN/Vb5C8uQ==","signatures":[{"sig":"MEQCIAxMZaWL7tB7mcKuxvu0JqfIawIfI29okJE0RWB3NzE7AiAdeYd8L6ryKVoWvW1VSqZb4lRilYRp6SrZOYuHsPF7JA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":489715},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js","require":"./dist/runtime.cjs"}},"gitHead":"22f25e2d25af3f3c5b45a981aee3daabaa9ce8a0","scripts":{"dev":"vite build --watch","test":"vitest run","build":"tsc --noEmit && vite build && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"deijose","email":"estudiandovazmore@gmail.com"},"repository":{"url":"git+https://github.com/elurjs/vite-plugin-elur.git","type":"git"},"_npmVersion":"10.9.9","description":"Vite plugin for Elur with Hot Module Replacement and full state preservation (signals, stores, routers, forms)","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"@babel/core":"^7.26.0","@babel/types":"^7.26.0","@babel/parser":"^7.26.0","@babel/traverse":"^7.26.0","@babel/generator":"^7.26.0","@elurjs/core-compiler":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.0","vitest":"^4.0.18","happy-dom":"^20.8.3","typescript":"~5.9.3","@types/node":"^22.0.0","@types/babel__core":"^7.20.5","@types/babel__traverse":"^7.20.6","@types/babel__generator":"^7.6.8"},"peerDependencies":{"vite":"^7.0.0 || ^8.0.0","@elurjs/core":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/vite-plugin-elur_2.0.3_1787977818151_0.9950389715167285","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@elurjs/vite-plugin-elur","version":"2.0.4","keywords":["vite","plugin","elur","hmr","hot-module-replacement"],"author":{"name":"Deiver Vasquez"},"license":"MIT","_id":"@elurjs/vite-plugin-elur@2.0.4","maintainers":[{"name":"deijose","email":"estudiandovazmore@gmail.com"}],"homepage":"https://github.com/elurjs/vite-plugin-elur#readme","bugs":{"url":"https://github.com/elurjs/vite-plugin-elur/issues"},"dist":{"shasum":"5c951628844a58ca6899f43360b04d975235825d","tarball":"https://registry.npmjs.org/@elurjs/vite-plugin-elur/-/vite-plugin-elur-2.0.4.tgz","fileCount":20,"integrity":"sha512-X5eXM70jva2pyxR2ha4zFVNBUcwNS0LvA8hIx/TjuKp+JZACCRWmkPhZdW/wvb4PyE91AuCkXXXeaBgWgw+2Tw==","signatures":[{"sig":"MEQCIBAPHX2cvZRaTea4gnRuRa/oyLardUrr6cxprypVt4QNAiBEX0C50cy+RG1qkPWXSfrEMXUi4Onc0awk2N7v1fkNLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":492700},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js","require":"./dist/runtime.cjs"}},"gitHead":"0c5941209cc39dbe137a6de11274ccf409b62a80","scripts":{"dev":"vite build --watch","test":"vitest run","build":"tsc --noEmit && vite build && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"deijose","email":"estudiandovazmore@gmail.com"},"repository":{"url":"git+https://github.com/elurjs/vite-plugin-elur.git","type":"git"},"_npmVersion":"10.9.9","description":"Vite plugin for Elur with Hot Module Replacement and full state preservation (signals, stores, routers, forms)","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"@babel/core":"^7.26.0","@babel/types":"^7.26.0","@babel/parser":"^7.26.0","@babel/traverse":"^7.26.0","@babel/generator":"^7.26.0","@elurjs/core-compiler":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.0","vitest":"^4.0.18","happy-dom":"^20.8.3","typescript":"~5.9.3","@types/node":"^22.0.0","@types/babel__core":"^7.20.5","@types/babel__traverse":"^7.20.6","@types/babel__generator":"^7.6.8"},"peerDependencies":{"vite":"^7.0.0 || ^8.0.0","@elurjs/core":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/vite-plugin-elur_2.0.4_1787980021436_0.5183729392973815","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@elurjs/vite-plugin-elur","version":"2.1.0","keywords":["vite","plugin","elur","hmr","hot-module-replacement"],"author":{"name":"Deiver Vasquez"},"license":"MIT","_id":"@elurjs/vite-plugin-elur@2.1.0","maintainers":[{"name":"deijose","email":"estudiandovazmore@gmail.com"}],"homepage":"https://github.com/elurjs/vite-plugin-elur#readme","bugs":{"url":"https://github.com/elurjs/vite-plugin-elur/issues"},"dist":{"shasum":"5487598d1065c93a3e592d50b600cc117d2da1ff","tarball":"https://registry.npmjs.org/@elurjs/vite-plugin-elur/-/vite-plugin-elur-2.1.0.tgz","fileCount":22,"integrity":"sha512-75dogRbi7DbQRcoGVKJWSEoon51EvE54pixqi+2KPFWzAqZLVxHqFhIjhi3sVdK76VFl2t+o9kG4iLCHjbIIMg==","signatures":[{"sig":"MEYCIQDwmtwC7XgVuZkyWaZldyOnXYXn3qPqCvqPpq42D58BlwIhAKTDV8WxcMfxq1uRIXST821ni5WQ3LeGoAyHtMkfQG/g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":504194},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js","require":"./dist/runtime.cjs"}},"gitHead":"0f8e975f6a398a9b8384c84bfa3e033beaec34f9","scripts":{"dev":"vite build --watch","test":"vitest run","build":"tsc --noEmit && vite build && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"deijose","email":"estudiandovazmore@gmail.com"},"repository":{"url":"git+https://github.com/elurjs/vite-plugin-elur.git","type":"git"},"_npmVersion":"10.9.9","description":"Vite plugin for Elur with Hot Module Replacement and full state preservation (signals, stores, routers, forms)","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"@babel/core":"^7.26.0","@babel/types":"^7.26.0","@babel/parser":"^7.26.0","@babel/traverse":"^7.26.0","@babel/generator":"^7.26.0","@elurjs/core-compiler":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.0","vitest":"^4.0.18","happy-dom":"^20.8.3","typescript":"~5.9.3","@types/node":"^22.0.0","@types/babel__core":"^7.20.5","@types/babel__traverse":"^7.20.6","@types/babel__generator":"^7.6.8"},"peerDependencies":{"vite":"^7.0.0 || ^8.0.0","@elurjs/core":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/vite-plugin-elur_2.1.0_1788109047895_0.3118077205302938","host":"s3://npm-registry-packages-npm-production"}},"2.2.0-beta.0":{"name":"@elurjs/vite-plugin-elur","version":"2.2.0-beta.0","keywords":["vite","plugin","elur","hmr","hot-module-replacement"],"author":{"name":"Deiver Vasquez"},"license":"MIT","_id":"@elurjs/vite-plugin-elur@2.2.0-beta.0","maintainers":[{"name":"deijose","email":"estudiandovazmore@gmail.com"}],"homepage":"https://github.com/elurjs/vite-plugin-elur#readme","bugs":{"url":"https://github.com/elurjs/vite-plugin-elur/issues"},"dist":{"shasum":"b3922775e601f01c171a4c0d414353b536c0332b","tarball":"https://registry.npmjs.org/@elurjs/vite-plugin-elur/-/vite-plugin-elur-2.2.0-beta.0.tgz","fileCount":46,"integrity":"sha512-BAQvcjWc+FnhCapRTiE0pVCjrUK9BJQQKSTuZW5TtPltCCwzFw729ru4lTHPKN7/HOALCrpb5Rt1diLmI6L4WA==","signatures":[{"sig":"MEQCIBpKfntuzigMsB4EvT4eTqPl3m2QL4cSVFnu9DAcHucRAiBnQm1e18Qt+l7BPyTF8LNkIeIDBqwrKPPo+1N9fq+Ojw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":796514},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js","require":"./dist/runtime.cjs"},"./runtime/hmr":{"types":"./dist/runtime/hmr.d.ts","import":"./dist/runtime/hmr.js","require":"./dist/runtime/hmr.cjs"},"./runtime/compiler":{"types":"./dist/runtime/compiler.d.ts","import":"./dist/runtime/compiler.js","require":"./dist/runtime/compiler.cjs"}},"gitHead":"79dcb51c9ebbab1a139a309c38b002d8bf1d7a88","scripts":{"dev":"vite build --watch","test":"vitest run","build":"tsc --noEmit && vite build && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"deijose","email":"estudiandovazmore@gmail.com"},"repository":{"url":"git+https://github.com/elurjs/vite-plugin-elur.git","type":"git"},"_npmVersion":"10.9.9","description":"Vite plugin for Elur with Hot Module Replacement and full state preservation (signals, stores, routers, forms)","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"@babel/core":"^7.26.0","@babel/types":"^7.26.0","@babel/parser":"^7.26.0","@babel/traverse":"^7.26.0","@babel/generator":"^7.26.0","@elurjs/core-compiler":"^1.0.0 || ^1.1.0-beta.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^8.0.0","vitest":"^5.0.0","happy-dom":"^20.8.3","typescript":"~7.0.2","@types/node":"^26.5.0","@types/babel__core":"^7.20.5","@types/babel__traverse":"^7.20.6","@types/babel__generator":"^7.6.8"},"peerDependencies":{"vite":"^7.0.0 || ^8.0.0","@elurjs/core":"^3.6.2 || ^3.7.0-beta.0"},"_npmOperationalInternal":{"tmp":"tmp/vite-plugin-elur_2.2.0-beta.0_1789264447076_0.02167854971592109","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@elurjs/vite-plugin-elur","version":"2.2.0","keywords":["vite","plugin","elur","hmr","hot-module-replacement"],"author":{"name":"Deiver Vasquez"},"license":"MIT","_id":"@elurjs/vite-plugin-elur@2.2.0","maintainers":[{"name":"deijose","email":"estudiandovazmore@gmail.com"}],"homepage":"https://github.com/elurjs/vite-plugin-elur#readme","bugs":{"url":"https://github.com/elurjs/vite-plugin-elur/issues"},"dist":{"shasum":"c8e04ae456670d8c88d477c031c200f93ad514de","tarball":"https://registry.npmjs.org/@elurjs/vite-plugin-elur/-/vite-plugin-elur-2.2.0.tgz","fileCount":46,"integrity":"sha512-ndWNoDgoMUWDOYKS1dGmyelpkATVk6rTO07D0Q5LoNWwGL9oFHzpbZPVO9OrtgZ2OrV0OePdaqO9yPYYIKpkfA==","signatures":[{"sig":"MEUCICPkCks6uV0NGPuovGQd4vivpzw3c9lEALj+EZ7dgwikAiEA3XOqCX2q1RrRR5oiRANAyLfFLSTTy8D+g9BsQM63Qxg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":796517},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js","require":"./dist/runtime.cjs"},"./runtime/hmr":{"types":"./dist/runtime/hmr.d.ts","import":"./dist/runtime/hmr.js","require":"./dist/runtime/hmr.cjs"},"./runtime/compiler":{"types":"./dist/runtime/compiler.d.ts","import":"./dist/runtime/compiler.js","require":"./dist/runtime/compiler.cjs"}},"gitHead":"7884b24d6cdf6643bd221767d4e7d02e391aafc3","scripts":{"dev":"vite build --watch","test":"vitest run","build":"tsc --noEmit && vite build && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"_npmUser":{"name":"deijose","email":"estudiandovazmore@gmail.com"},"repository":{"url":"git+https://github.com/elurjs/vite-plugin-elur.git","type":"git"},"_npmVersion":"10.9.9","description":"Vite plugin for Elur with Hot Module Replacement and full state preservation (signals, stores, routers, forms)","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"@babel/core":"^7.26.0","@babel/types":"^7.26.0","@babel/parser":"^7.26.0","@babel/traverse":"^7.26.0","@babel/generator":"^7.26.0","@elurjs/core-compiler":"^1.0.0 || ^1.1.0-beta.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.0","vitest":"^5.0.0","happy-dom":"^20.8.3","typescript":"~7.0.2","@types/node":"^26.5.0","@types/babel__core":"^7.20.5","@types/babel__traverse":"^7.20.6","@types/babel__generator":"^7.6.8"},"peerDependencies":{"vite":"^7.0.0 || ^8.0.0","@elurjs/core":"^3.6.2 || ^3.7.0-beta.0 || ^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vite-plugin-elur_2.2.0_1789266838525_0.8349148398625761","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"_id":"@elurjs/vite-plugin-elur@2.2.1","bugs":{"url":"https://github.com/elurjs/vite-plugin-elur/issues"},"dist":{"shasum":"b9e3e1750f45f8a90ef92986d37dfc628eebcb49","tarball":"https://registry.npmjs.org/@elurjs/vite-plugin-elur/-/vite-plugin-elur-2.2.1.tgz","fileCount":46,"integrity":"sha512-qxRK0IJ9r83dWucZfUEgM2hKSDt3jj/4sTmEdPnI3kdozFGi6raivAB9uZDTSSyBAzydW5xcVZ964IAFRzZyrg==","signatures":[{"sig":"MEQCIFt0ZDhnDJrM42PAq15Fu3WggWnDirneZedMKEY2oWkEAiBjmIPY0IwEoMB4tsOg/TkNny4HPO8XhiSM1Zfq8V6Cqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIC3XkfUWo8JQqKqzYywu3ORJFKdd+1FDIrHkf2xZOy5RAiEA1//JceVpCprwFEnT6JAV9WkTlwe1pH5iZWe4eQm7Wmw="}],"unpackedSize":797651},"main":"./dist/index.cjs","name":"@elurjs/vite-plugin-elur","type":"module","types":"./dist/index.d.ts","author":{"name":"Deiver Vasquez"},"module":"./dist/index.js","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./runtime":{"types":"./dist/runtime.d.ts","import":"./dist/runtime.js","require":"./dist/runtime.cjs"},"./runtime/hmr":{"types":"./dist/runtime/hmr.d.ts","import":"./dist/runtime/hmr.js","require":"./dist/runtime/hmr.cjs"},"./runtime/compiler":{"types":"./dist/runtime/compiler.d.ts","import":"./dist/runtime/compiler.js","require":"./dist/runtime/compiler.cjs"}},"gitHead":"a475f660d2c2b83a39a99312edf112ac65704791","license":"MIT","scripts":{"dev":"vite build --watch","test":"vitest run","build":"tsc --noEmit && vite build && tsc --emitDeclarationOnly","typecheck":"tsc --noEmit"},"version":"2.2.1","_npmUser":{"name":"deijose","email":"estudiandovazmore@gmail.com"},"homepage":"https://github.com/elurjs/vite-plugin-elur#readme","keywords":["vite","plugin","elur","hmr","hot-module-replacement"],"repository":{"url":"git+https://github.com/elurjs/vite-plugin-elur.git","type":"git"},"_npmVersion":"10.9.9","description":"Vite plugin for Elur with Hot Module Replacement and full state preservation (signals, stores, routers, forms)","directories":{},"maintainers":[{"name":"deijose","email":"estudiandovazmore@gmail.com"}],"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"@babel/core":"^7.26.0","@babel/types":"^7.26.0","@babel/parser":"^7.26.0","@babel/traverse":"^7.26.0","@babel/generator":"^7.26.0","@elurjs/core-compiler":"^1.0.0 || ^1.1.0-beta.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.0","vitest":"^5.0.0","happy-dom":"^20.8.3","typescript":"~7.0.2","@types/node":"^26.5.0","@types/babel__core":"^7.20.5","@types/babel__traverse":"^7.20.6","@types/babel__generator":"^7.6.8"},"peerDependencies":{"vite":"^7.0.0 || ^8.0.0","@elurjs/core":"^3.6.2 || ^3.7.0-beta.0 || ^4.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vite-plugin-elur_2.2.1_1790014923997_0.6818830783271685"}}},"time":{"created":"2026-08-28T17:18:52.591Z","modified":"2026-09-21T18:22:04.358Z","2.0.2":"2026-08-28T17:18:53.052Z","2.0.3":"2026-08-29T04:30:18.322Z","2.0.4":"2026-08-29T05:07:01.601Z","2.1.0":"2026-08-30T16:57:28.063Z","2.2.0-beta.0":"2026-09-13T01:54:07.220Z","2.2.0":"2026-09-13T02:33:58.668Z","2.2.1":"2026-09-21T18:22:04.163Z"},"bugs":{"url":"https://github.com/elurjs/vite-plugin-elur/issues"},"author":{"name":"Deiver Vasquez"},"license":"MIT","homepage":"https://github.com/elurjs/vite-plugin-elur#readme","keywords":["vite","plugin","elur","hmr","hot-module-replacement"],"repository":{"url":"git+https://github.com/elurjs/vite-plugin-elur.git","type":"git"},"description":"Vite plugin for Elur with Hot Module Replacement and full state preservation (signals, stores, routers, forms)","maintainers":[{"name":"deijose","email":"estudiandovazmore@gmail.com"}],"readme":"# @elurjs/vite-plugin-elur\n\nVite plugin for [Elur](https://elur.dev/) that adds **compile-time partial attribute interpolation** and **Hot Module Replacement (HMR)** with state, scroll, and focus preservation.\n\n## Requirements\n\n- Vite `^8.0.0`\n- `@elurjs/core` `^3.5.0`\n\n## Installation\n\n```bash\nnpm install -D @elurjs/vite-plugin-elur\n# or\npnpm add -D @elurjs/vite-plugin-elur\n# or\nyarn add -D @elurjs/vite-plugin-elur\n```\n\n## Usage\n\n```ts\n// vite.config.ts\nimport { defineConfig } from \"vite\";\nimport elurJs from \"@elurjs/vite-plugin-elur\";\n\nexport default defineConfig({\n  plugins: [elurJs()],\n});\n```\n\nNo extra configuration is required.\n\n## What it does\n\n- **Partial attribute interpolation** — rewrites `class=\"btn ${size}\"` into\n  `class=${__elurCompose(\"btn \", size, \"\")}` at compile time, so the core\n  `html()` function only sees full bindings.\n- **Hot-reloads** components without a full page refresh.\n- **Preserves state** of module-scoped stores, routers, forms, and signals.\n- **Preserves scroll position** and the currently focused element.\n- **Works automatically** — no manual `import.meta.hot` wrapping needed.\n\n## Partial attribute interpolation\n\nThe plugin includes a state-machine lexer that runs at compile time. It finds\n`html` tagged template expressions and rewrites partial attribute\ninterpolations into full bindings:\n\n```typescript\n// Input (author code)\nhtml`<div class=\"btn btn-${() => size.value}\">…</div>`\n\n// Output (after plugin transform)\nhtml`<div class=${__elurCompose(\"btn btn-\", () => size.value, \"\")}>…</div>`\n```\n\nThe lexer handles:\n- HTML comments, doctype, processing instructions\n- Raw-text tags (`<script>`, `<style>`, `<textarea>`)\n- Quoted and unquoted attribute values\n- Multi-segment interpolations (`class=\"a ${x} b ${y} c\"`)\n- Multiple attributes in the same tag\n- Validation: rejects partials on `@event`, `ref`/`show`/`hide`, and boolean\n  attributes (`checked`, `disabled`, …) with descriptive errors\n\nTemplates without partials are left byte-identical (fast path).\n\n## How it works\n\nThe plugin transforms source files at build time to wrap stable calls with a small runtime module:\n\n| Call | Wrapped to |\n|------|------------|\n| `signal(...)` | `__elurGetOrCreateSignal(id, factory)` |\n| `createForm(...)` | `__elurGetOrCreateForm(id, factory)` |\n| `createStore(...)` | `__elurGetOrCreateStore(id, factory)` |\n| `createRouter(...)` | `__elurGetOrCreateRouter(id, factory)` |\n| `mount(...)` | `__elurMount(id, factory, ...)` |\n\nFor example, this developer-written code:\n\n```ts\nimport { signal } from \"@elurjs/core\";\nimport { createForm } from \"@elurjs/core/form\";\n\nconst count = signal(0);\nconst form = createForm({ name: \"\" });\nconst cart = createStore({ items: [] }, { name: \"cart\" });\nconst router = createRouter(routes);\nmount(App(), \"#app\", { router });\n```\n\nis transformed into:\n\n```ts\nimport { __elurGetOrCreateSignal, __elurGetOrCreateForm, __elurGetOrCreateStore, __elurGetOrCreateRouter, __elurMount, __elurHmrAccept } from \"@elurjs/vite-plugin-elur/runtime\";\n\nconst count = __elurGetOrCreateSignal(\"src/main.ts:count\", () => signal(0));\nconst form = __elurGetOrCreateForm(\"src/main.ts:form\", () => createForm({ name: \"\" }));\nconst cart = __elurGetOrCreateStore(\"src/main.ts:cart\", () => createStore({ items: [] }, { name: \"cart\" }));\nconst router = __elurGetOrCreateRouter(\"src/main.ts:router\", () => createRouter(routes));\n__elurMount(\"src/main.ts\", () => App(), \"#app\", { router });\n\nif (import.meta.hot) {\n  import.meta.hot.accept((newModule) => {\n    __elurHmrAccept(newModule, \"src/main.ts\");\n  });\n}\n```\n\nThe runtime keeps a global singleton on `window.__elurHmrRuntime` that re-uses existing stores, routers, and application mounts, while unmounting and re-mounting the changed component and restoring scroll/focus.\n\n## Supported cases\n\n- **Multiple mount points** in the same file.\n- **Mount assigned to a variable** (`const handle = mount(...)`) as well as bare `mount(...)` statements.\n- **Module-scoped signals, forms, stores, and routers**.\n- **Named exports** and **aliased imports**.\n- **TypeScript** annotations, `as`, `satisfies` and parenthesized expressions.\n- **Async components** (`mount(await loadApp(), \"#app\")`).\n\nSignals, forms, stores, and routers declared **inside functions** are intentionally left untouched, so they still produce a fresh instance on each call.\n\n## Common patterns\n\nKeep state at module scope so it is preserved across updates:\n\n```ts\nimport { signal, html } from \"@elurjs/core\";\n\n// ✅ Preserved\nconst count = signal(0);\n\nfunction Counter() {\n  return html`<button @click=${() => count.update((v) => v + 1)}>${() => count.value}</button>`;\n}\n```\n\nAvoid declaring state inside the component if you want it to survive HMR:\n\n```ts\nfunction Counter() {\n  // ❌ Reset on every update\n  const count = signal(0);\n  return html`<button @click=${() => count.update((v) => v + 1)}>${() => count.value}</button>`;\n}\n```\n\nFor class components, store shared state in a module-scoped `createStore` or `signal`.\n\n## Known limitations\n\n- `ElurComponent` class instance state (private properties set in `onInit`/`onMount`) is not preserved across HMR updates.\n- HMR is module-granular: when a file changes, every mount point declared in that file is re-mounted.\n- Only module-scoped `signal`, `createForm`, `createStore`, `createRouter`, and `mount` calls are tracked; declarations nested inside functions are left untouched.\n\n## Development\n\n```bash\ncd vite-plugin-elur\nnpm install\nnpm run typecheck\nnpm run build\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}