{"_id":"twiggle","_rev":"32-8a6b34e674d08b3edf400facf38c602c","name":"twiggle","dist-tags":{"latest":"1.7.0"},"versions":{"0.0.0":{"name":"twiggle","version":"0.0.0","author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@0.0.0","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"1dc50cc349b0940bc99bcfae77624a0c92d8e9da","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-0.0.0.tgz","fileCount":4,"integrity":"sha512-lawDv5A6y+FdFyvzK27qayvNLbunSM51Lu+qjxA424++9NNKk9PgxC02EgbcOZN+9rKAhLV3cXZPffwkG0k9eQ==","signatures":[{"sig":"MEQCIGrbSFAr/cOitYwfEnLqpe7RE81pCoZShT3yrpIeDFY5AiAGqev5n/Pnf30fZeoEm7CQXguqAhAzfu8rvWrLpusKnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6301},"main":"./src/index.ts","type":"module","exports":{".":{"import":"./dist/twiggle-es.js"}},"gitHead":"31352231c6ffb92e0e222cff6793b857b8610c49","scripts":{"build":"vite build","start":"vite"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"TwiggleJS is a simple and lightweight frontend framework for building web applications.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","typescript":"^5.9.2","@types/node":"^24.5.2"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_0.0.0_1758974714508_0.9400993075511921","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"twiggle","version":"1.0.0","author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.0.0","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"3bcd092c930be5eda69706037705a96aabf34969","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.0.0.tgz","fileCount":4,"integrity":"sha512-EKflsxwJQevnXV50lT2iOs1I236wL+tKMwgYJ+gXLpGL6247PV3Vf/BzcXVUjCE1extX1NXN8NlZugK0I/8zkg==","signatures":[{"sig":"MEYCIQDmMoE46szFoEZWuGC5aQC691SHGMT8JgOsbROC318+VgIhAPgSW5wsxrZcKXKMdcUMZdgf5+7nU0cyed3Xy4QqYuFw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6301},"main":"./src/index.ts","type":"module","exports":{".":{"import":"./dist/twiggle-es.js"}},"gitHead":"4acd64f0bb659850a636ae18a3d7b1ffa2c62dc3","scripts":{"build":"vite build","start":"vite"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"TwiggleJS is a simple and lightweight frontend framework for building web applications.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","typescript":"^5.9.2","@types/node":"^24.5.2"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.0.0_1758974730847_0.2695682255172469","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"twiggle","version":"1.1.0","author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.1.0","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"ab27329584063491b0605d3e7ad85a59d60f8d0b","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.1.0.tgz","fileCount":2,"integrity":"sha512-SP6zoQfgUAkQ9esO7kUo8tdZDfd24nFqWFebXAxIkfTWhx1JUCinUhqmuZZVoYT5ClyzKeG5/nw0yRkgE5OjZQ==","signatures":[{"sig":"MEYCIQDGeg2IyB0KIT6vExLACu7tnAwmMauDtVYpcw3Q7l2RAgIhAPZD6NmAhCadVw78RzS9UXM9Ul/5DpPDT1tBbQmUUzR+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2995},"main":"./src/index.ts","type":"module","exports":{".":{"import":"./dist/twiggle-es.js"}},"gitHead":"bc39ebc2b99cd0d778061943804565f7ca968118","scripts":{"build":"vite build","start":"vite"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.1.0_1759162774527_0.9139918849759368","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"twiggle","version":"1.1.1","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.1.1","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"4697f6c52759241ea6181dcddcb5fe7434fde6e7","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.1.1.tgz","fileCount":3,"integrity":"sha512-gwjdQlqrNrZvMfoNnOgzpFjX6Q3FfwuBM2WDUmVNYJ/8Jio4Q8dmn70AytyIcPd9GIyDzuNzIdkYdu2omPIJWw==","signatures":[{"sig":"MEYCIQC7EnQBvfss7SaUIfqAUIXCUKtjtjP0IopU+kmH0bdJUwIhAOXgGSEJPXIhc67uexfnPSbAGNW4hlTtK/Kz3KY97gD+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5993},"main":"./src/index.ts","type":"module","exports":{".":{"import":"./dist/twiggle-es.js"}},"gitHead":"bc39ebc2b99cd0d778061943804565f7ca968118","scripts":{"test":"vitest","build":"vite build","start":"vite","test:ui":"vitest --ui"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"TwiggleJS is a simple and lightweight frontend framework for building web applications.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","vitest":"^1.0.0","@vitest/ui":"^1.0.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.1.1_1759163597315_0.07388391931235638","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"twiggle","version":"1.1.2","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.1.2","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"f0aabed1defb5cb83443fb183d059158a8aeed93","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.1.2.tgz","fileCount":3,"integrity":"sha512-fkCS6p7fZlCDjJpfxBCps6m9RWXo8TVaHXhDnwVnnJCJ0AOPws/NutCJurwB3M2+2U2Sn/aZwxe8F/pYbKbX4Q==","signatures":[{"sig":"MEQCIHGZkPdZ600VKmuVS+zu3wYem88mjky7AMfPihLl2lrGAiAc5AK/azylxe0kGjPXIwMLrFMBRAYmz0X8zJto+BNNzQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12489},"main":"./src/index.ts","type":"module","exports":{".":{"import":"./dist/twiggle-es.js"}},"gitHead":"128db693bc3c38f59a58cbb86d4dc7ac9dc45fd5","scripts":{"test":"vitest","build":"vite build","start":"vite","test:ui":"vitest --ui"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"A small, focused collection of front-end primitives for building tiny component-based apps with a custom JSX runtime, minimal renderer, router, and reactive state system.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","vitest":"^1.0.0","@vitest/ui":"^1.0.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.1.2_1759165165353_0.8687067223203511","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"twiggle","version":"1.1.3","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.1.3","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"d87a2ec77cf97ab9a331ce4a1d076b4623cdab86","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.1.3.tgz","fileCount":106,"integrity":"sha512-Hj+gnmjq8nTq/O+ncJguC/mpOsFsDV1SnM/Y55jqpwEVG0gcodO+erQwi6llf4+kvRBaHZgIgFxeL+8R21xAjA==","signatures":[{"sig":"MEYCIQCYefML4KSRIoGyMOaj1mQxnIPFqmXmHQo5KY0/9SMZvAIhAN2oPhd6uAN9mv+5JGVbsm0KEBsVum2Zpbvp95B/MFZp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41214},"main":"./client/index.ts","type":"module","exports":{".":{"import":"./dist/twiggle-es.js"}},"gitHead":"63be700d800334871e773e19c82727f2750cde59","scripts":{"test":"vitest","build":"vite build","start":"vite","test:ui":"vitest --ui"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Tiny, focused front-end primitives: a custom JSX runtime, minimal DOM renderer, a tiny router, and a reactive state primitive.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.1.3_1759325175929_0.8392057363919805","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"twiggle","version":"1.1.4","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.1.4","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"402628e282272046a171d4ea54f8b213140f4ff9","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.1.4.tgz","fileCount":5,"integrity":"sha512-LyF/UMm+UQQn5QdRhipRlRUatsCEf7bBch0JMGiPz06aXCKMNbXQvC+rnB1fXUnSqLMRSixgu2izzTJTYuEanQ==","signatures":[{"sig":"MEUCIBqtqd35reU4QZRM+sQTAPnEX+d8LCsyvC4Sd7STHNqdAiEAjEsVqIHhzsIedTkCMNN+ZfqcYGacCU+HCEphLIp8uWE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12717},"main":"./client/index.ts","type":"module","exports":{"./client":{"import":"./dist/client/twiggle-es.js"},"./server":{"import":"./dist/server/twiggle-es.js"},"./jsx-runtime":{"import":"./dist/client/twiggle-es.js"},"./jsx-dev-runtime":{"import":"./dist/client/twiggle-es.js"}},"gitHead":"4daa6cfc40fc7b532946a6b33be5d50a7c01e8d0","scripts":{"test":"vitest","build":"npm run build:client && npm run build:server && printf \"export * from './client/twiggle-es.js';\\nexport * from './server/twiggle-es.js';\\n\" > dist/index.js","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.js","build:server":"vite build --config vite.config.server.js"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Tiny, focused front-end primitives: a custom JSX runtime, minimal DOM renderer, a tiny router, and a reactive state primitive.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.1.4_1759373642466_0.836705513318377","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"twiggle","version":"1.1.5","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.1.5","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"c86f104eda46c7c9f8400c3a6abebddd3697e895","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.1.5.tgz","fileCount":7,"integrity":"sha512-XlUpXuhoUrrxqUgCvLErpkrFVFTzd/Xx9YHsJX75ccwg+ExiADBIQTJaX/hqhEFB8zoFNnzRsho/WwnaUtvVHg==","signatures":[{"sig":"MEUCICcjvAfOR5UujPhs4oRynNHWvZLjQJ3Y7cjOAqpXmHyLAiEAzrrAug1f52o3l0DUk9g6AvcFNSiIqEAHboyCSyoQzro=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48568},"main":"./dist/index.js","type":"module","types":"./client/types","exports":{".":{"import":"./dist/index.js"},"./client":{"import":"./dist/client/twiggle-es.js"},"./server":{"import":"./dist/server/twiggle-es.js"},"./jsx-runtime":{"import":"./dist/client/twiggle-es.js"},"./jsx-dev-runtime":{"import":"./dist/client/twiggle-es.js"}},"gitHead":"4daa6cfc40fc7b532946a6b33be5d50a7c01e8d0","scripts":{"test":"vitest","build":"npm run build:client && npm run build:server && printf \"export * from './client/twiggle-es.js';\\nexport * from './server/twiggle-es.js';\\n\" > dist/index.js","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.js","build:server":"vite build --config vite.config.server.js"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Tiny, focused front-end primitives: a custom JSX runtime, minimal DOM renderer, a tiny router, and a reactive state primitive.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.1.5_1759373976588_0.7942493782079125","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"twiggle","version":"1.1.6","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.1.6","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"e9ecfe1a0c46ec496d011c1db3e4c01070936af9","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.1.6.tgz","fileCount":7,"integrity":"sha512-20G9fEc88a6/Qt4W4/4wiA2rtIN2+EZO3GyLPqLa1td6le+BrOtMBi9KxJqzvnh/GBVXnHV1Q9NEGA3DVzVeLA==","signatures":[{"sig":"MEYCIQCfBI8cwWs7Oh0UqFyceKg7+hequFCkQw/xTHE7+Ww52wIhAKj+c+r4qKeu3M7JGtYxDrGAQB8uz98ZgwRg5tY7uzz6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48503},"main":"./dist/index.js","type":"module","types":"./types/twiggle.d.ts","exports":{".":{"import":"./dist/index.js"},"./types":{"import":"./types"},"./client":{"import":"./dist/client/twiggle-es.js"},"./server":{"import":"./dist/server/twiggle-es.js"},"./jsx-runtime":{"import":"./dist/client/twiggle-es.js"},"./jsx-dev-runtime":{"import":"./dist/client/twiggle-es.js"}},"gitHead":"d1a2caa4f691ee9189b60b790e9f43cf7047bac2","scripts":{"test":"vitest","build":"npm run build:client && npm run build:server && printf \"export * from './client/twiggle-es.js'\\nexport * from './server/twiggle-es.js'\\n\" > dist/index.js && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.js","build:server":"vite build --config vite.config.server.js"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Tiny, focused front-end primitives: a custom JSX runtime, minimal DOM renderer, a tiny router, and a reactive state primitive.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.1.6_1759404057650_0.03971107775040639","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"twiggle","version":"1.1.7","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.1.7","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"7aee5dcc12c29d1014194138b0c416773887d9ed","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.1.7.tgz","fileCount":7,"integrity":"sha512-p3uPOCdXG/0CwEm3p5azFgxAIpUehmsZcMUkZkqQHvx/2D41CxYK3DEtdR2xiZML/WwnGPUgBcTmZyyXr2XUnA==","signatures":[{"sig":"MEQCIFPTqBGFJcE8/rEr6ryzGNJcGgdgcB41t134RwpO9jgVAiA7ONd1TYVV7miMLwXD4E2er5HJMLQxHbW6dn1uHI9lGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48396},"main":"./dist/index.js","type":"module","types":"./types/twiggle.d.ts","exports":{".":{"types":"./types/twiggle.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"}},"gitHead":"d1a2caa4f691ee9189b60b790e9f43cf7047bac2","scripts":{"test":"vitest","build":"npm run build:client && npm run build:server && printf \"export * from './client/twiggle-es.js'\\nexport * from './server/twiggle-es.js'\\n\" > dist/index.js && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.js","build:server":"vite build --config vite.config.server.js"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Tiny, focused front-end primitives: a custom JSX runtime, minimal DOM renderer, a tiny router, and a reactive state primitive.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.1.7_1759404685774_0.470073187280482","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"twiggle","version":"1.1.8","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.1.8","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"bc53dcd4a96a0f00647594fb49a502affe873367","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.1.8.tgz","fileCount":7,"integrity":"sha512-X9V/iWBZg5MmFr80yO98vDIME9YrXKTBrqVT2iyo2U4XMVmwcuRxc68QqMbLaRNQCfpTzayY/q+JCk7iqjA7iQ==","signatures":[{"sig":"MEUCIQC4JjlPnu7uSrXdil+ryt75A0zzpB/Ju/Wna+ykHrdIzwIgHCALIWzhj5EVStnNwecRW1h4mHzMaiyuA5+Moa+KzNw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50117},"main":"./dist/index.js","type":"module","types":"./types/twiggle.d.ts","exports":{".":{"types":"./types/twiggle.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"}},"gitHead":"4e6ba7e7b47fe24538c8c1f57ca4da8291f61edb","scripts":{"test":"vitest","build":"npm run build:client && npm run build:server && printf \"export * from './client/twiggle-es.js'\\nexport * from './server/twiggle-es.js'\\n\" > dist/index.js && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.js","build:server":"vite build --config vite.config.server.js"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Tiny, focused front-end primitives: a custom JSX runtime, minimal DOM renderer, a tiny router, and a reactive state primitive.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.1.8_1759409668225_0.7500367702747168","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"twiggle","version":"1.1.9","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.1.9","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"16fa827e65f248d7289974ec265960efb993c15b","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.1.9.tgz","fileCount":7,"integrity":"sha512-rljK61E8RiyWkvjcvjhXc0gdz/OXsvXL1FJ8S3GX5ZdDqeeRpF+ujsI4Vy3sz8Fzg0i+u++VPfGvNcF6JRLt3g==","signatures":[{"sig":"MEYCIQDp+l1SpvJ7Ys4FFdAtMF2psSsamUhZaJKTXOHCUtX23QIhAJagnhxeRn8pVy3YVrEyBxZ6F2sGfApoEypsd3ntB7Uc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50117},"main":"./dist/index.js","type":"module","types":"./types/twiggle.d.ts","exports":{".":{"types":"./types/twiggle.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"}},"gitHead":"4e6ba7e7b47fe24538c8c1f57ca4da8291f61edb","scripts":{"test":"vitest","build":"npm run build:client && npm run build:server && printf \"export * from './client/twiggle-es.js'\\nexport * from './server/twiggle-es.js'\\n\" > dist/index.js && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.js","build:server":"vite build --config vite.config.server.js"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Tiny, focused front-end primitives: a custom JSX runtime, minimal DOM renderer, a tiny router, and a reactive state primitive.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.1.9_1759409699184_0.7784807571634831","host":"s3://npm-registry-packages-npm-production"}},"1.1.10":{"name":"twiggle","version":"1.1.10","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.1.10","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"ff892dbad3c6f83bf0e51a9e65c51c9aae4ca42e","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.1.10.tgz","fileCount":7,"integrity":"sha512-rA8++ileB+GC4X16QLtXWB7QdO9/uUOpGnTdK7WrYIW65Cm5xCS/ZDzJLjvrWSNCkDjx5zsIoeb3g8r9W+UO1A==","signatures":[{"sig":"MEQCIGOU896mLAa6dnfypEqs5WzN0dQWQqkJLmQmHt4wWYMHAiAptMReg4LXfZqul1hXv0+jn1vCB7K1V+rkgJQp0WCBhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50118},"main":"./dist/index.js","type":"module","types":"./types/twiggle.d.ts","exports":{".":{"types":"./types/twiggle.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"}},"gitHead":"4e6ba7e7b47fe24538c8c1f57ca4da8291f61edb","scripts":{"test":"vitest","build":"npm run build:client && npm run build:server && printf \"export * from './client/twiggle-es.js'\\nexport * from './server/twiggle-es.js'\\n\" > dist/index.js && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.js","build:server":"vite build --config vite.config.server.js"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Tiny, focused front-end primitives: a custom JSX runtime, minimal DOM renderer, a tiny router, and a reactive state primitive.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.1.10_1759410515671_0.5716279494649144","host":"s3://npm-registry-packages-npm-production"}},"1.1.11":{"name":"twiggle","version":"1.1.11","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.1.11","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"8d0341d24946cbd32e3f9519bcef92ed8033b1ee","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.1.11.tgz","fileCount":7,"integrity":"sha512-Ne4EyDF5F1wiOUpE9y68X/u1USnP5zoiYdB0dqCSiG6rc1VyQFVqpmnqCx4cB9GgqL2+jWptSzsoSxX1g14Yow==","signatures":[{"sig":"MEUCIQDcDubvDaJFYt5wIF0HQRd8zdb1/E+KRmIJoPQZd1UghQIgb7PhHQdZoln1m0Q4309KF4aEcSwgS5OYg7DVDttqDjs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14720},"main":"./dist/index.js","type":"module","types":"./types/twiggle.d.ts","exports":{".":{"types":"./types/twiggle.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"}},"gitHead":"4e6ba7e7b47fe24538c8c1f57ca4da8291f61edb","scripts":{"test":"vitest","build":"npm run build:client && npm run build:server && printf \"export * from './client/twiggle-es.js'\\nexport * from './server/twiggle-es.js'\\n\" > dist/index.js && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.js","build:server":"vite build --config vite.config.server.js"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Tiny, focused front-end primitives: a custom JSX runtime, minimal DOM renderer, a tiny router, and a reactive state primitive.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.1.11_1759411139720_0.8428618549240663","host":"s3://npm-registry-packages-npm-production"}},"1.1.12":{"name":"twiggle","version":"1.1.12","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.1.12","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"5c6975e51034033175ac7bfc8bf01f33a9ee77b0","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.1.12.tgz","fileCount":7,"integrity":"sha512-Kg1Ybl/yElmVA/hLimGV4E5u9D6xhZo31AkzbDytz1IM1xHwYDMoagHwdFFKfpj7qUPvfFaZAKT43UedMROiUQ==","signatures":[{"sig":"MEUCIBfo1vkSU3rMYOWdyKT5AXPNWt5p8sGKjRPIbaoPct2RAiEAnLWVrrLZwY5Hda6Ihq0Qhl4xknXeQkQOpt1rFirZyaQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13970},"main":"./dist/index.js","type":"module","types":"./types/twiggle.d.ts","exports":{".":{"types":"./types/twiggle.d.ts","import":"./dist/index.js"},"./jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"}},"gitHead":"838b70f8836387b3553ea5e84eb15f3aaafad3f1","scripts":{"test":"vitest","build":"npm run build:client && npm run build:server && printf \"export * from './client/twiggle-es.js'\\nexport * from './server/twiggle-es.js'\\n\" > dist/index.js && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.js","build:server":"vite build --config vite.config.server.js"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Tiny, focused front-end primitives: a custom JSX runtime, minimal DOM renderer, a tiny router, and a reactive state primitive.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.1.12_1759464528890_0.23265500452803134","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"twiggle","version":"1.2.0","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.2.0","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"6b577636d51068bd36857b756ef11fb9c07d57e8","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.2.0.tgz","fileCount":6,"integrity":"sha512-ZdQ9JLhm1EMKSR2zM8886fdx0yGJQJZGlMd6kobb08aLfu6UwAqMqvbPvcrFwOHYMNYLqDaikYIo1L4q61U+xw==","signatures":[{"sig":"MEUCICQnxg4XCfWxg6IV5y7yI+HDfs38rf5l1O1HkWtc1+1fAiEA5ot906b6/bXq63Y98O4r1fzk5XS0Ij3W8vjVw6rRWkI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15546},"type":"module","types":"./types/twiggle.d.ts","exports":{"./client":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server":{"types":"./types/twiggle.d.ts","import":"./dist/server/twiggle-es.js","require":"./dist/server/twiggle-es.js"},"./client/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"},"./client/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"}},"gitHead":"c1f555791b5bba5436b97b2adfd5b01433171cd6","scripts":{"test":"vitest","build":"npm run build:client && npm run build:server && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.js","build:server":"vite build --config vite.config.server.js"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Tiny, focused front-end primitives: a custom JSX runtime, minimal DOM renderer, a tiny router, and a reactive state primitive.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.2.0_1759500099920_0.34869997178588963","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"twiggle","version":"1.2.1","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.2.1","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"8bb629e7190d94e8acae54e2121ff2fee0e38155","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.2.1.tgz","fileCount":6,"integrity":"sha512-+CGpgNqqCspWvF+VBujZ0TDVyNK2lx4JnP+eMQcoCVAxai0h2DmODxryc4u8GlXEyaAFQPPbugdZooUNdKnEaw==","signatures":[{"sig":"MEUCIAef94eAovjYiu2rpCck0h/wxsg/3BvVhUH9KlzBK84iAiEAzuXa5fnjGul2NrzQ83DnA8DxD+BM8/hVLddCnFKvR/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18602},"type":"module","types":"./types/twiggle.d.ts","exports":{"./client":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server":{"types":"./types/twiggle.d.ts","import":"./dist/server/twiggle-es.js","require":"./dist/server/twiggle-es.js"},"./client/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"},"./client/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"}},"gitHead":"83c217302ad79568c625b0a7191686d54a61ee94","scripts":{"test":"vitest","build":"npm run build:client && npm run build:server && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.ts","build:server":"vite build --config vite.config.server.ts"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Twiggle is a tiny, focused frontend library designed for building user interfaces. It provides core primitives for JSX rendering, reactive state management, and client-side routing, aiming for clarity and a minimal runtime footprint.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.2.1_1759585277998_0.9348507631761105","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"twiggle","version":"1.2.2","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.2.2","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"e56a3ed1e1c841dd3a56d36e334b05c4818a071b","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.2.2.tgz","fileCount":6,"integrity":"sha512-Fl2s6z3qurGOjtIZQUYTyKxEUEYEckMO9nU4frOW2SMgLF4vRTO6axFUVubTYlfiPdnOZF21RSrI2oMqS32F3w==","signatures":[{"sig":"MEUCIQClppQDxNhmdZaF0+DlL6TBTVlxuu5W2WE5qHcOtUyyXgIgEJkU/RIpkhtgUyeJr4MsS4uRQ7m8cQwjoIzI/P/hWYs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19014},"type":"module","types":"./types/twiggle.d.ts","exports":{"./client":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server":{"types":"./types/twiggle.d.ts","import":"./dist/server/twiggle-es.js","require":"./dist/server/twiggle-es.js"},"./client/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"},"./client/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"}},"gitHead":"813b69854d0d1d7c2feba76b2171e0c86946ac9d","scripts":{"test":"vitest","build":"npm run build:client && npm run build:server && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.ts","build:server":"vite build --config vite.config.server.ts"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Twiggle is a tiny, focused frontend library designed for building user interfaces. It provides core primitives for JSX rendering, reactive state management, and client-side routing, aiming for clarity and a minimal runtime footprint.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.2.2_1760766773975_0.4206713417051977","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"twiggle","version":"1.2.3","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.2.3","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"6ab0d293f85f8ca009fda2bf5a2cbaa5785b3b69","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.2.3.tgz","fileCount":6,"integrity":"sha512-BidMlxLdo7xrD7hB/GIevtp57IPfbnvMe/xO4y0/T8YeuWeKeQUClV3OhM+A2jGm9MWoHjTjA1Mzz56VoMlA0Q==","signatures":[{"sig":"MEUCIFL6TCjgJVgO7+lUkKBBpDZqtqdBAglii1GEHGIeq4oDAiEA8SdzEK8FFTRzDxqj5zRc6bGJ7BqaS+e5jnncSp0czB8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19007},"type":"module","types":"./types/twiggle.d.ts","exports":{"./client":{"types":"./types/twiggle.d.ts","import":"./dist/client/twiggle-es.js"},"./server":{"types":"./types/twiggle.d.ts","import":"./dist/server/twiggle-es.js","require":"./dist/server/twiggle-es.js"},"./client/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"},"./client/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"}},"gitHead":"813b69854d0d1d7c2feba76b2171e0c86946ac9d","scripts":{"test":"vitest","build":"npm run build:client && npm run build:server && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.ts","build:server":"vite build --config vite.config.server.ts"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Twiggle is a tiny, focused frontend library designed for building user interfaces. It provides core primitives for JSX rendering, reactive state management, and client-side routing, aiming for clarity and a minimal runtime footprint.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.2.3_1760767891412_0.7069124847939667","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"twiggle","version":"1.2.4","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.2.4","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"d7f51bef8406324cb8e394ddc48fecfb38acd2ae","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.2.4.tgz","fileCount":6,"integrity":"sha512-i9Hx69fLJEyvtXvgV02KnaKPPZa0eBKZhT1HTwOWvqKsg73xcvjr3cjohPhH5cJtByvhuGo20ZSDGsDUSHaW5A==","signatures":[{"sig":"MEQCIDdzh3L8krGbzsfvEYpZ3TV1nc1B5iFELuV0rMeuchqqAiB/l8ZrbHF5aEtYZlAo76QDXdNEt94/fSJk04pH/FDCBA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19050},"type":"module","types":"./types/twiggle.d.ts","exports":{"./client":{"types":"./types/twiggle.d.ts","import":"./dist/client/twiggle-es.js"},"./server":{"types":"./types/twiggle.d.ts","import":"./dist/server/twiggle-es.js","require":"./dist/server/twiggle-es.js"},"./client/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"},"./client/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"}},"gitHead":"813b69854d0d1d7c2feba76b2171e0c86946ac9d","scripts":{"test":"vitest","build":"npm run build:client && npm run build:server && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.ts","build:server":"vite build --config vite.config.server.ts"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Twiggle is a tiny, focused frontend library designed for building user interfaces. It provides core primitives for JSX rendering, reactive state management, and client-side routing, aiming for clarity and a minimal runtime footprint.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.2.4_1760768053606_0.6430273280675693","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"twiggle","version":"1.3.0","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.3.0","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"85744d3682568fece185445c903c3913683a1c1c","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.3.0.tgz","fileCount":6,"integrity":"sha512-d1qKHvlxxRix/wIiO8Lssi94ncSSNH9XBi+Y6UkVHx/YrL9AR0h7VpojO+TJbwzKLqHe3/0cPTXrj091SuXUIw==","signatures":[{"sig":"MEYCIQDv9MbsXJYlF1BZSK/qIgbNSKWVzXFqUE0AVwoTIosO8AIhANPs+8I2ZQqVaJoq1dJK2yeMWBn3E+WaxTMNqlcIQKES","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19361},"type":"module","types":"./types/twiggle.d.ts","exports":{"./client":{"types":"./types/twiggle.d.ts","import":"./dist/client/twiggle-es.js"},"./server":{"types":"./types/twiggle.d.ts","import":"./dist/server/twiggle-es.js","require":"./dist/server/twiggle-es.js"},"./client/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"},"./client/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"}},"gitHead":"a07cbf5f5b56983aa7507f76349cdc1a9dc28a3c","scripts":{"test":"vitest","build":"npm run build:client && npm run build:server && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.ts","build:server":"vite build --config vite.config.server.ts"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Twiggle is a tiny, focused frontend library designed for building user interfaces. It provides core primitives for JSX rendering, reactive state management, and client-side routing, aiming for clarity and a minimal runtime footprint.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.3.0_1760780529981_0.9899209162629654","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"twiggle","version":"1.3.1","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.3.1","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"5d68fe33b9a6abf56549b7b7beb92dd126b879f2","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.3.1.tgz","fileCount":6,"integrity":"sha512-VZPlohPh674QXaMbDjj0b0YKAvbbRSsiuQaKO2ci4gMWE5pyRFJdzgQgPjJl6lxOy23d2e5s/OBrmr/o+xJDtQ==","signatures":[{"sig":"MEUCIFiWumsZEH3HrwQrMmKE8jqNMYL6cJu5qsjvrzuy2vFIAiEAu7BqvkP288IIJCq36426GiJAwjtfOsqAzfMzMaVjyCs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19361},"type":"module","types":"./types/twiggle.d.ts","exports":{"./client":{"types":"./types/twiggle.d.ts","import":"./dist/client/twiggle-es.js"},"./server":{"types":"./types/twiggle.d.ts","import":"./dist/server/twiggle-es.js","require":"./dist/server/twiggle-es.js"},"./client/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"},"./client/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"}},"gitHead":"47fb80edac43016a43c30285b8ca4dfceb2dd27c","scripts":{"test":"vitest","build":"npm run build:client && npm run build:server && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.ts","build:server":"vite build --config vite.config.server.ts"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Twiggle is a tiny, focused frontend library designed for building user interfaces. It provides core primitives for JSX rendering, reactive state management, and client-side routing, aiming for clarity and a minimal runtime footprint.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.3.1_1760948910264_0.10235358698887498","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"twiggle","version":"1.3.2","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.3.2","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"52e5f01bbddb2e592d09b956b4917c1635b92c14","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.3.2.tgz","fileCount":6,"integrity":"sha512-pjXDz5Vz677H7wr0MN7BwCud5wZyj0sNl3Om47WRkGcs4WJ4WVIZRdGUnroMhcTkchwPPBdyeFWN7IIfmwUnfQ==","signatures":[{"sig":"MEYCIQDw92zq45nk5GlKfrPKni1ZcqheYev4zwo2VYiZBpC/9AIhANOODqefePKpUuqjyfhOWCFQu+m5t9uykcpRIUBhsaSY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19458},"type":"module","types":"./types/twiggle.d.ts","exports":{"./client":{"types":"./types/twiggle.d.ts","import":"./dist/client/twiggle-es.js"},"./server":{"types":"./types/twiggle.d.ts","import":"./dist/server/twiggle-es.js","require":"./dist/server/twiggle-es.js"},"./client/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"},"./client/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"}},"gitHead":"7c004a2ea8e2040b62ce880905fcf3cf2af63747","scripts":{"test":"vitest run","build":"npm run build:client && npm run build:server && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.ts","build:server":"vite build --config vite.config.server.ts"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Twiggle is a tiny, focused frontend library designed for building user interfaces. It provides core primitives for JSX rendering, reactive state management, and client-side routing, aiming for clarity and a minimal runtime footprint.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.3.2_1762323419763_0.014439567896103567","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"twiggle","version":"1.4.0","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.4.0","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"b0e74f18e0aa998bab60da21566ded4a731b049a","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.4.0.tgz","fileCount":6,"integrity":"sha512-oE78KMh3QDUHC9qwjUwpVbnzW4/hXVrQwQkAlxRuoa7O3p9SEEyyByXx3G05Q1yRrLdHxnMo5aldZjREGanDPg==","signatures":[{"sig":"MEQCIFnTpJVO/xjbYMhV9tV5sI3fF96HvYAu07PDGfLxHJzmAiBR7cKULqmGY2zUHid2GYMLv1AJflPZZR6vvx/1vx7y4w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19458},"type":"module","types":"./types/twiggle.d.ts","exports":{"./client":{"types":"./types/twiggle.d.ts","import":"./dist/client/twiggle-es.js"},"./server":{"types":"./types/twiggle.d.ts","import":"./dist/server/twiggle-es.js","require":"./dist/server/twiggle-es.js"},"./client/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"},"./client/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"}},"gitHead":"52d0ec4c48892a7a7709a6bca4285f0bf9b8c05f","scripts":{"test":"vitest run","build":"npm run build:client && npm run build:server && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.ts","build:server":"vite build --config vite.config.server.ts"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Twiggle is a tiny, focused frontend library designed for building user interfaces. It provides core primitives for JSX rendering, reactive state management, and client-side routing, aiming for clarity and a minimal runtime footprint.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.4.0_1762350322634_0.025037749184247282","host":"s3://npm-registry-packages-npm-production"}},"1.6.3":{"name":"twiggle","version":"1.6.3","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.6.3","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"eb0c18b7dddf13842b36b1efab778c4d1bc50d27","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.6.3.tgz","fileCount":6,"integrity":"sha512-AATN9G40nSwBnarX7m0PjGTpPS+vIaeTVxH82abb/HbakmaFVnb2n9ic0PS7sjm9zQrhNjA5BMHNfLKWST3ENw==","signatures":[{"sig":"MEUCIQCEC82LS+3b5nkavqY7jBiBjQ4xwOpiQ21IbYwYEEzxTQIgNIfXzJVR1F2kAcv+n5Xv6YAM9qA76eoo72eZb9TcYk8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19801},"type":"module","types":"./types/twiggle.d.ts","exports":{"./client":{"types":"./types/twiggle.d.ts","import":"./dist/client/twiggle-es.js"},"./server":{"types":"./types/twiggle.d.ts","import":"./dist/server/twiggle-es.js","require":"./dist/server/twiggle-es.js"},"./client/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"},"./client/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"}},"gitHead":"fe7d63484a5dc410d21a546f9cf95ded8a1e5872","scripts":{"test":"vitest run","build":"npm run build:client && npm run build:server && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.ts","build:server":"vite build --config vite.config.server.ts"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Twiggle is a tiny, focused frontend library designed for building user interfaces. It provides core primitives for JSX rendering, reactive state management, and client-side routing, aiming for clarity and a minimal runtime footprint.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.6.3_1762427594371_0.9934432472376178","host":"s3://npm-registry-packages-npm-production"}},"1.6.4":{"name":"twiggle","version":"1.6.4","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.6.4","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"64285172290e12158b622e5717547908e38c8d6b","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.6.4.tgz","fileCount":6,"integrity":"sha512-WxC/qqGvUu9ggG/nAK+GvE91Qsf3kjrchdq0w6jmvZxtDUVf++bJZMGGdWD9RKj0WI7hW5bGj8jFvMTlMZdcYQ==","signatures":[{"sig":"MEUCIQDAo4IuQ4hKB/LkL1eT9NdZBuGgOqZ1BSmh2i+Wj4cbQAIgGYbA5FLS/8kEjs7JZO6Y3JaB2HY6ZOlrX4F58fx716s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19801},"type":"module","types":"./types/twiggle.d.ts","exports":{"./client":{"types":"./types/twiggle.d.ts","import":"./dist/client/twiggle-es.js"},"./server":{"types":"./types/twiggle.d.ts","import":"./dist/server/twiggle-es.js","require":"./dist/server/twiggle-es.js"},"./client/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"},"./client/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"}},"gitHead":"5d09e3134a829e4d1cd6ffa85697c0c997fd1fd4","scripts":{"test":"vitest run","build":"npm run build:client && npm run build:server && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.ts","build:server":"vite build --config vite.config.server.ts"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Twiggle is a tiny, focused frontend library designed for building user interfaces. It provides core primitives for JSX rendering, reactive state management, and client-side routing, aiming for clarity and a minimal runtime footprint.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.6.4_1762430332565_0.2442533108020588","host":"s3://npm-registry-packages-npm-production"}},"1.6.5":{"name":"twiggle","version":"1.6.5","keywords":["frontend","twiggle","routing","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.6.5","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"f4aef02b2f9a59746fd3b1404d1c713f4752eaf2","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.6.5.tgz","fileCount":7,"integrity":"sha512-47xWkWevRRL50d8SfGQUPG17UOjgPE46r6rt3TDr7n/d19BDRH3wRGk22s95sltdM34T4u06p1S6/xbm4Z8YzQ==","signatures":[{"sig":"MEYCIQDWRHoeyUuFRGhB/1cJt3tFIVRVjlCqIC26sVsa0o2lNQIhAJtNnoXCeGBbxrVHoSYuWrNacLtwri/2Cvicwh1i0W1V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20788},"type":"module","types":"./types/twiggle.d.ts","exports":{"./client":{"types":"./types/twiggle.d.ts","import":"./dist/client/twiggle-es.js"},"./server":{"types":"./types/twiggle.d.ts","import":"./dist/server/twiggle-es.js","require":"./dist/server/twiggle-es.js"},"./client/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"},"./client/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"}},"gitHead":"33216115de19fea4045b12052ab2fe1525f38b85","scripts":{"test":"vitest run","build":"npm run build:client && npm run build:server && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.ts","build:server":"vite build --config vite.config.server.ts"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Twiggle is a tiny, focused frontend library designed for building user interfaces. It provides core primitives for JSX rendering and reactive state management, aiming for clarity and a minimal runtime footprint.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.6.5_1762507310755_0.3316427996263156","host":"s3://npm-registry-packages-npm-production"}},"1.6.6":{"name":"twiggle","version":"1.6.6","keywords":["frontend","twiggle","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.6.6","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"a41648be6a58e8157d9f0cc660f9465f320ea018","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.6.6.tgz","fileCount":6,"integrity":"sha512-aCm71NV7zBVrDF68pZ06LCP19h3xN8ckY+tSLx8ZupEox/V6dGrkFwT1R7emxZiMsQH9bvuPorxKCWJTEdOKuA==","signatures":[{"sig":"MEUCIE5H6wbn+4qPKKD2mSd+jgt81CezEVD8vu8esybkOI1GAiEA7mKnrw4fcQ23pD59DS2Kjw3co+Wy3PJHhl0HSuURjrA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19056},"type":"module","types":"./types/twiggle.d.ts","exports":{"./client":{"types":"./types/twiggle.d.ts","import":"./dist/client/twiggle-es.js"},"./server":{"types":"./types/twiggle.d.ts","import":"./dist/server/twiggle-es.js","require":"./dist/server/twiggle-es.js"},"./client/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"},"./client/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"}},"gitHead":"171e6d88adc4b0a98fc41af289666a8e31bc4167","scripts":{"test":"vitest run","build":"npm run build:client && npm run build:server && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.ts","build:server":"vite build --config vite.config.server.ts"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Twiggle is a tiny, focused frontend library designed for building user interfaces. It provides core primitives for JSX rendering and reactive state management, aiming for clarity and a minimal runtime footprint.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.6.6_1762524497555_0.96788677618567","host":"s3://npm-registry-packages-npm-production"}},"1.6.7":{"name":"twiggle","version":"1.6.7","keywords":["frontend","twiggle","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.6.7","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"316f3fcbe0b6577b3350b7dbe4fbdcac42baaa0b","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.6.7.tgz","fileCount":6,"integrity":"sha512-BfO9I+xTee+nQhqrBV0SPb6p4WDolC1647wgLW3SMQhHAV3/fP+yB0McF7qHpuOSr2aPNhpzWk4XIpnKHte+Xw==","signatures":[{"sig":"MEQCICVCSKM/Uwp9dxuhh2TAjM7ueU1dII7S+YVgnhyxT5XBAiB5GYr6QT+MtWZkM4mW0xZns9Ik9rXWCn5a2zdLMDl7DA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19056},"type":"module","types":"./types/twiggle.d.ts","exports":{"./client":{"types":"./types/twiggle.d.ts","import":"./dist/client/twiggle-es.js"},"./server":{"types":"./types/twiggle.d.ts","import":"./dist/server/twiggle-es.js","require":"./dist/server/twiggle-es.js"},"./client/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"},"./client/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"}},"gitHead":"3c9ee93ff857246090a907f0716a3ae6eb44678b","scripts":{"test":"vitest run","build":"npm run build:client && npm run build:server && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.ts","build:server":"vite build --config vite.config.server.ts"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Twiggle is a tiny, focused frontend library designed for building user interfaces. It provides core primitives for JSX rendering and reactive state management, aiming for clarity and a minimal runtime footprint.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.6.7_1763185478522_0.9422056530243534","host":"s3://npm-registry-packages-npm-production"}},"1.6.8":{"name":"twiggle","version":"1.6.8","keywords":["frontend","twiggle","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.6.8","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"caae1f03197426ce92959f9ed560fe10058cd9dd","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.6.8.tgz","fileCount":6,"integrity":"sha512-JK0wBP5nqOc1HzZzJEAnCTzunQTqgh8ZOQ9e5viFrwcFnLi39bYz7A3TAADjaLW71ESa5eZAcoal+p0iLL6gtQ==","signatures":[{"sig":"MEYCIQCKA5vrZ3BCzj1Y080yuUUwH2Xcun/zLX9HiGaHs84UswIhAP8dtjHrPsL0zRwW22cU1XB7X65igI4lHyob5I7gFGp1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21110},"type":"module","types":"./types/twiggle.d.ts","exports":{"./client":{"types":"./types/twiggle.d.ts","import":"./dist/client/twiggle-es.js"},"./server":{"types":"./types/twiggle.d.ts","import":"./dist/server/twiggle-es.js","require":"./dist/server/twiggle-es.js"},"./client/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"},"./client/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"}},"gitHead":"be7438ef12aa14aa2e6eb5fb3b4e19729bca404b","scripts":{"test":"vitest run","build":"npm run build:client && npm run build:server && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.ts","build:server":"vite build --config vite.config.server.ts"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Twiggle is a tiny, focused frontend library designed for building user interfaces. It provides core primitives for JSX rendering and reactive state management, aiming for clarity and a minimal runtime footprint.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.6.8_1763871949046_0.104174650668301","host":"s3://npm-registry-packages-npm-production"}},"1.6.9":{"name":"twiggle","version":"1.6.9","keywords":["frontend","twiggle","state management"],"author":{"name":"Hrutav Modha"},"license":"MIT","_id":"twiggle@1.6.9","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"dist":{"shasum":"35b557667c66e5c9ad56e3ce37aff78662492c6f","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.6.9.tgz","fileCount":7,"integrity":"sha512-rJurKoWs2E5EkP8qkmlZtc4hhNPm+TKr7S7PIGCKumAiZljapMY6/ro4CFmhbXJ6jPRBtZxm5C752d8SUyi9CA==","signatures":[{"sig":"MEQCICBdkjwp54294nisbpNuzdLXRWXx3Yiqs8XWOfta8PchAiAFsP6uOEsbHg5JbGIhVlbfoOaZOONf1qi1ydNa6VQp6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23315},"type":"module","types":"./types/twiggle.d.ts","exports":{"./client":{"types":"./types/twiggle.d.ts","import":"./dist/client/twiggle-es.js"},"./server":{"types":"./types/twiggle.d.ts","import":"./dist/server/twiggle-es.js","require":"./dist/server/twiggle-es.js"},"./client/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"},"./client/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"}},"gitHead":"be7438ef12aa14aa2e6eb5fb3b4e19729bca404b","scripts":{"test":"vitest run","build":"npm run build:client && npm run build:server && echo \"Build successfully\"","start":"vite","test:ui":"vitest --ui","build:client":"vite build --config vite.config.client.ts","build:server":"vite build --config vite.config.server.ts"},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"_npmVersion":"10.9.3","description":"Twiggle is a tiny, focused frontend library designed for building user interfaces. It provides core primitives for JSX rendering and reactive state management, aiming for clarity and a minimal runtime footprint.","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.7","jsdom":"^27.0.0","vitest":"^1.6.0","@vitest/ui":"^1.6.0","typescript":"^5.9.2","@types/node":"^24.5.2","@types/babel__helper-plugin-utils":"^7.10.3"},"_npmOperationalInternal":{"tmp":"tmp/twiggle_1.6.9_1763876706591_0.6654932646416367","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"twiggle","version":"1.7.0","type":"module","author":{"name":"Hrutav Modha"},"maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"types":"./types/twiggle.d.ts","keywords":["frontend","twiggle","state management"],"exports":{"./client":{"types":"./types/twiggle.d.ts","import":"./dist/client/twiggle-es.js"},"./server":{"types":"./types/twiggle.d.ts","import":"./dist/server/twiggle-es.js","require":"./dist/server/twiggle-es.js"},"./client/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./client/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./server/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"},"./server/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/server/twiggle-es.js"},"./jsx/jsx-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"},"./jsx/jsx-dev-runtime":{"types":"./types/jsx.d.ts","import":"./dist/client/twiggle-es.js"}},"scripts":{"start":"vite","build:client":"vite build --config vite.config.client.ts","build:server":"vite build --config vite.config.server.ts","build":"npm run build:client && npm run build:server && echo \"Build successfully\"","test":"vitest run","test:ui":"vitest --ui"},"license":"MIT","devDependencies":{"@types/babel__helper-plugin-utils":"^7.10.3","@types/node":"^24.5.2","@vitest/ui":"^1.6.0","jsdom":"^27.0.0","typescript":"^5.9.2","vite":"^7.1.7","vitest":"^1.6.0"},"_id":"twiggle@1.7.0","gitHead":"ff34a92e8a6ac17844b6b71c4e1a4cf76c654dd5","description":"Twiggle is a tiny, focused frontend library designed for building user interfaces. It provides core primitives for JSX rendering and reactive state management, aiming for clarity and a minimal runtime footprint.","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-u8XO7likceS/TUiYKVZLUwB2AcEsT7dA2w5HMRRuf0bf5RzRmPMJxGrBY6vp6phIgam2vnaotL0u5iad6VaveA==","shasum":"bd19d0e98fde6e0992ccdf17710df9c9ef585c36","tarball":"https://registry.npmjs.org/twiggle/-/twiggle-1.7.0.tgz","fileCount":7,"unpackedSize":28278,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBKCvHZlILEx1RW0alh/5hrhLUPoWYfDVJXbZ2paBExHAiEA8PdzvCw7KOGjM0HYOJsuOnfGrwJT2fHRKq13jv3AtzY="}]},"_npmUser":{"name":"hrutavmodha","email":"modhahrutav@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/twiggle_1.7.0_1786787090197_0.759443023496936"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-27T12:05:14.507Z","modified":"2026-08-15T09:44:50.482Z","0.0.0":"2025-09-27T12:05:14.731Z","1.0.0":"2025-09-27T12:05:31.042Z","1.1.0":"2025-09-29T16:19:34.714Z","1.1.1":"2025-09-29T16:33:17.490Z","1.1.2":"2025-09-29T16:59:25.525Z","1.1.3":"2025-10-01T13:26:16.137Z","1.1.4":"2025-10-02T02:54:02.669Z","1.1.5":"2025-10-02T02:59:36.800Z","1.1.6":"2025-10-02T11:20:57.827Z","1.1.7":"2025-10-02T11:31:26.024Z","1.1.8":"2025-10-02T12:54:28.412Z","1.1.9":"2025-10-02T12:54:59.365Z","1.1.10":"2025-10-02T13:08:35.878Z","1.1.11":"2025-10-02T13:18:59.923Z","1.1.12":"2025-10-03T04:08:49.077Z","1.2.0":"2025-10-03T14:01:40.083Z","1.2.1":"2025-10-04T13:41:18.204Z","1.2.2":"2025-10-18T05:52:54.198Z","1.2.3":"2025-10-18T06:11:31.609Z","1.2.4":"2025-10-18T06:14:13.825Z","1.3.0":"2025-10-18T09:42:10.173Z","1.3.1":"2025-10-20T08:28:30.464Z","1.3.2":"2025-11-05T06:16:59.979Z","1.4.0":"2025-11-05T13:45:22.845Z","1.6.3":"2025-11-06T11:13:14.566Z","1.6.4":"2025-11-06T11:58:52.744Z","1.6.5":"2025-11-07T09:21:51.010Z","1.6.6":"2025-11-07T14:08:17.763Z","1.6.7":"2025-11-15T05:44:38.724Z","1.6.8":"2025-11-23T04:25:49.247Z","1.6.9":"2025-11-23T05:45:06.833Z","1.7.0":"2026-08-15T09:44:50.331Z"},"author":{"name":"Hrutav Modha"},"license":"MIT","keywords":["frontend","twiggle","state management"],"description":"Twiggle is a tiny, focused frontend library designed for building user interfaces. It provides core primitives for JSX rendering and reactive state management, aiming for clarity and a minimal runtime footprint.","maintainers":[{"name":"hrutavmodha","email":"modhahrutav@gmail.com"}],"readme":"# Twiggle\n\nTwiggle is a tiny, focused frontend library designed for building user interfaces. It provides core primitives for JSX rendering and reactive state management, aiming for clarity and a minimal runtime footprint.\n\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/hrutavmodha/twiggle/blob/main/LICENSE)\n[![Version](https://img.shields.io/badge/version-1.2.0-brightgreen)](https://www.npmjs.com/package/twiggle)\n[![Bundle Size](https://img.shields.io/bundlephobia/minzip/twiggle)](https://bundlephobia.com/package/twiggle)\n\n## Table of Contents\n\n- [Overview](#overview)\n- [Features](#features)\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [Core Concepts](#core-concepts)\n    - [JSX & createElement](#jsx--createelement)\n    - [Renderer](#renderer)\n    - [State Primitive](#state-primitive)\n- [Development](#development)\n- [Testing](#testing)\n- [Contributing](#contributing)\n- [License](#license)\n\n---\n\n## Overview\n\nTwiggle is an innovative, minimalist frontend library that empowers developers to construct dynamic and responsive user interfaces with unparalleled clarity and efficiency. Unlike larger, more opinionated frameworks, Twiggle focuses on providing essential primitives: a custom JSX runtime for declarative UI composition, a robust reactive state management system for predictable data flow. Its design philosophy prioritizes a minimal runtime footprint and direct manipulation of the DOM, making it an ideal choice for projects where performance and control are paramount. Twiggle is perfect for learning the intricacies of frontend frameworks, building small to medium-sized applications, or integrating into existing projects where a lightweight, yet powerful, UI solution is needed.\n\n---\n\n## Features\n\nTwiggle offers a carefully curated set of features, each designed to be powerful yet easy to understand and use:\n\n- **Custom JSX Runtime:**\n    - At its core, Twiggle provides its own JSX runtime, allowing you to write declarative UI code that feels familiar to React developers.\n    - This runtime directly translates your JSX into efficient DOM operations, bypassing the need for a virtual DOM and offering direct control over the browser's rendering engine.\n\n- **Minimal DOM Renderer:**\n    - Twiggle's renderer is optimized for performance and simplicity. It efficiently mounts and updates real DOM nodes and fragments.\n    - The design ensures that updates are precise and performant, leading to highly responsive user interfaces.\n\n- **Reactive State Primitive:**\n    - Experience predictable and manageable state with Twiggle's reactive state primitive.\n    - `createState<T>(initialValue: T)`: Easily create state variables that hold any type of data.\n    - `get()`: Retrieve the current value of a state variable.\n    - `set(newValue: T)`: Update the state, triggering automatic re-renders of components that depend on it.\n    - `runSideEffect(fn: () => void)`: A powerful mechanism to define side effects that automatically re-run when any observed state changes, providing a clean way to manage complex interactions and data flows.\n\n---\n\n## Installation\n\nTo integrate Twiggle into your project, you can easily install it using your preferred Node.js package manager:\n\n```bash\nnpm install twiggle\n# or using yarn\nyarn add twiggle\n# or using pnpm\npnpm add twiggle\n```\n\n---\n\n## Quick Start\n\nGet your first Twiggle application up and running in minutes. This example demonstrates a simple counter application using Twiggle's state management and JSX rendering.\n\n**1. Create your main application file (e.g., `src/main.tsx`):**\n\n```tsx\n// src/main.tsx\nimport { render, createState } from 'twiggle'\n\nfunction Counter() {\n    const count = createState(0)\n\n    const increment = () => {\n        count.set(count.get() + 1)\n    }\n\n    return (\n        <div>\n            <h1>Counter App</h1>\n            <p>Count: {count.get()}</p>\n            <button onclick={increment}>Increment</button>\n        </div>\n    )\n}\n\nconst root = document.getElementById('root')\nif (root) {\n    render(<Counter />, root)\n}\n```\n\n**2. Ensure your `index.html` has a root element:**\n\n```html\n<!DOCTYPE html>\n<html lang=\"en\">\n    <head>\n        <meta charset=\"UTF-8\" />\n        <meta\n            name=\"viewport\"\n            content=\"width=device-width, initial-scale=1.0\"\n        />\n        <title>Twiggle App</title>\n    </head>\n    <body>\n        <div id=\"root\"></div>\n        <script\n            type=\"module\"\n            src=\"/src/main.tsx\"\n        ></script>\n    </body>\n</html>\n```\n\n**3. Configure your `vite.config.ts` (if using Vite):**\n\nMake sure you have `vite-plugin-twiggle` installed and configured in your Vite setup to handle JSX transformations correctly.\n\n```typescript\n// vite.config.ts\nimport { defineConfig } from 'vite'\nimport twiggle from 'vite-plugin-twiggle'\n\nexport default defineConfig({\n    plugins: [twiggle()],\n    esbuild: {\n        jsx: 'automatic',\n        jsxDev: true, // Set to false for production\n        jsxImportSource: 'twiggle/client', // Ensure this points to Twiggle's client-side JSX runtime\n    },\n})\n```\n\n**4. Run your development server:**\n\n```bash\nnpm run dev\n```\n\nYour Twiggle application should now be running in your browser!\n\n---\n\n## Core Concepts\n\nUnderstanding these core concepts will help you leverage Twiggle's full potential:\n\n### JSX & CreateElement\n\nTwiggle's approach to UI construction is centered around JSX, a syntax extension for JavaScript. When your code is compiled, JSX elements are transformed into calls to Twiggle's `createElement` function.\n\n- **`type`**: This argument determines the kind of element to create. It can be:\n    - A `string` (e.g., `'div'`, `'span'`, `'p'`) to create standard HTML DOM elements.\n    - The special string `'Fragment'` to create a `DocumentFragment`, useful for grouping multiple children without adding an extra node to the DOM tree.\n    - A `function` (your component) which will be invoked with `props` and is expected to return a DOM node or fragment.\n- **`props`**: An object containing attributes, event handlers, and children for the element.\n    - `children`: A special prop that can be a `string`, `number`, another Twiggle `Element`, or an `Array` of these types.\n    - **DOM Event Handlers**: Twiggle expects DOM event handlers to be named in lowercase (e.g., `onclick`, `oninput`, `onchange`), aligning with native DOM event attributes.\n\n### Renderer\n\nThe `render(element, parent)` function is the entry point for mounting your Twiggle application into the DOM.\n\n- `element`: The Twiggle element (or component instance) you wish to render.\n- `parent`: The target HTML DOM element where your Twiggle application will be attached.\n\nThe current implementation is intentionally straightforward: it clears the `parent.innerHTML` and then appends the `element`. This direct approach contributes to Twiggle's small bundle size and high performance.\n\n### State Primitive\n\nTwiggle's state management is built around a simple yet effective reactive primitive, allowing for explicit control over data flow and UI updates.\n\n- **`createState<T>(initialValue: T)`**: This function initializes a new reactive state variable. It returns an object with two methods:\n    - `get(): T`: Retrieves the current value of the state. When called within a `runSideEffect`, it automatically registers the effect as a subscriber to this state.\n    - `set(newValue: T)`: Updates the state variable to `newValue`. This action triggers all registered side effects that depend on this state to re-execute.\n\n- **`runSideEffect(fn: () => void)`**: This function is central to Twiggle's reactivity. It executes the provided `fn` function. During its execution, any `createState().get()` calls are observed, and the `fn` is registered as a subscriber to those state variables. Consequently, whenever any of those subscribed state variables are updated via `set()`, the `fn` will automatically re-execute, ensuring your UI or other logic remains synchronized with your application's state.\n\nThis minimal reactive system, based on an effect stack and per-state subscriber lists, offers a transparent and easy-to-reason-about approach to reactivity, without the complexity of a full-blown reactive framework.\n\n---\n\n## Development\n\nFor those interested in contributing to Twiggle or exploring its internal architecture, follow these steps to set up your development environment:\n\n1.  **Clone the Monorepo:**\n    Twiggle is developed as part of a monorepo. Begin by cloning the entire repository from GitHub:\n\n    ```bash\n    git clone https://github.com/hrutavmodha/twiggle.git\n    cd twiggle\n    ```\n\n2.  **Install Dependencies:**\n    Navigate to the `twiggle` package directory and install all its development and runtime dependencies:\n\n    ```bash\n    cd packages/twiggle\n    npm install\n    ```\n\n3.  **Start Development Server:**\n    To run the example/dev server for the `twiggle` package and see changes live:\n\n    ```bash\n    npm run start\n    ```\n\n4.  **Build the Package:**\n    To compile the Twiggle library for distribution:\n\n    ```bash\n    npm run build\n    ```\n\n---\n\n## Testing\n\nTwiggle uses Vitest for its testing framework. To run the test suite and ensure all components are functioning as expected:\n\n```bash\ncd packages/twiggle\nnpm run test\n```\n\nYou can also run the tests with a UI for a more interactive experience:\n\n```bash\nnpm run test:ui\n```\n\n---\n\n## Contributing\n\nWe warmly welcome contributions to Twiggle! Your efforts help improve the library for everyone. Please refer to the main [CONTRIBUTING.md](https://github.com/hrutavmodha/twiggle/blob/main/CONTRIBUTING.md) file in the monorepo root for comprehensive guidelines on how to contribute effectively to the Twiggle project.\n\nBefore submitting a pull request, please ensure that you have:\n\n- Adhered to the project's established coding style and conventions.\n- Crafted clear, concise, and descriptive commit messages.\n- Added new tests or updated existing ones to cover your changes.\n- Verified that all existing tests pass successfully.\n\n---\n\n## License\n\nTwiggle is open-source software, freely available under the terms of the [MIT License](https://github.com/hrutavmodha/twiggle/blob/main/LICENSE).\n","readmeFilename":"README.md"}