{"_id":"zustand-lite","_rev":"33-c89dbcc26579d1ce6d0f5ce4aa97f994","name":"zustand-lite","dist-tags":{"latest":"2.0.0"},"versions":{"0.1.2":{"name":"zustand-lite","version":"0.1.2","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.1.2","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"0ce781a0a397d6420b76d2dcfb6b4e0f41845a66","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.1.2.tgz","fileCount":23,"integrity":"sha512-YbaiXZSSZpG1N2/CVPOi3bEveLMBL+e2HdSLs5cNICYkpouLRh/U/HXgBAUPlVzyPljFPqHKv73li4RhB3tprQ==","signatures":[{"sig":"MEUCIBVYF95U2+ZTDXjbI+YtfFJW8Hy1QmNSeNbdBzaCHIPXAiEA/fgRouiwUxQt8xVpSBJebB4lGM159MrObGa+ZRrVy0A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19043},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"1ca82667b33cf88c76213211a8ff8e9472bc7c66","private":false,"scripts":{"build":"tsc"},"_npmUser":{"name":"siatkowski.piotr","actor":{"name":"siatkowski.piotr","type":"user","email":"siatkowski.p@gmail.com"},"email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"_nodeVersion":"20.15.1","dependencies":{"zustand":"^5.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.1.2_1750198336673_0.3233734698736479","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"zustand-lite","version":"0.1.3","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.1.3","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"dfd5ffd78db1b1fd2f2ffda72084f9e6d3a47668","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.1.3.tgz","fileCount":8,"integrity":"sha512-aueIrePjdQaCa52HtL4BqiIy1hm3ytGjaHgnxkIdJg5VsEHxd/rXWNyoelSFpsBPWA6+An4mcYMsSv53f28y4g==","signatures":[{"sig":"MEQCIFsOGowMPSGNh9sirA4BfLDtgtigCxEzz4TDtJqfhXmkAiBFIn66pysBOB0YhQzW10V9ssWA9fIVCg3oVFmNpyEm5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45018},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","module":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"4dc76fffaea51328f5c2caeffcd02cc64a0fe669","private":false,"scripts":{"build":"npx tsup src/index.ts --format cjs,esm --dts --clean --sourcemap"},"_npmUser":{"name":"siatkowski.piotr","actor":{"name":"siatkowski.piotr","type":"user","email":"siatkowski.p@gmail.com"},"email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.1.3_1750200100054_0.5157432891031308","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"zustand-lite","version":"0.2.0","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.2.0","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"3b7335d96ed3bc20224466dbe1446ae57bbe8254","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.2.0.tgz","fileCount":9,"integrity":"sha512-0Dw73rKg9kt5OS3KDJUZ4pbnPLcpTFEXY9EkoORt3YW/RIj7tIT2a5OBgESn60rNMnCLrqPZ9Crax5sWVBbbRQ==","signatures":[{"sig":"MEQCIH/djPIgVDdwZdfa642ZFiE2lVq+MQMdpwTolFQxzbSuAiANoNlJ4sA4Lzc8TAFadF0HROzPJBiNhdAtVcUuJ/sZsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47073},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","module":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"8123c59387a4d24466315a931f4df131dde812de","private":false,"scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","actor":{"name":"siatkowski.piotr","type":"user","email":"siatkowski.p@gmail.com"},"email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.2.0_1750249183493_0.06000216691575888","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"zustand-lite","version":"0.2.1","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.2.1","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"9ddbe0df67760637a092f3081430eff13aa45a4c","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.2.1.tgz","fileCount":9,"integrity":"sha512-tyKn3suGwDw9PiNakVVdMnIgDiWav5e49hb+hLIETn9f1nt2GT1Z4XgEy9kOV1hQJT6fim+O/fWvzXW/pAu6sg==","signatures":[{"sig":"MEUCIQCLDvYyPr48n4H6R82FFFbNqvfF4E9ODBBDtHLvaqu13QIgYpMnNmgA/qSWZcubbDK6qkvruUcAg84oIUdFfsR6zzc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47073},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","module":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"aa5d8bb0785180d8e56202ad2b0ce9cdf06472f8","private":false,"scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","actor":{"name":"siatkowski.piotr","type":"user","email":"siatkowski.p@gmail.com"},"email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.2.1_1750250453779_0.5698971328503752","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"zustand-lite","version":"0.2.2","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.2.2","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"fdf25a3960abe228d27a77eec687cf75456d256b","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.2.2.tgz","fileCount":9,"integrity":"sha512-EyCk3uyO8sYqdfeJvzbJMPxC8OMHjIx9FcunLq/IYYlhQDCXytBCfcuV3ubYsRUmWf15KcCLs6lm7HklauCDnQ==","signatures":[{"sig":"MEUCIQD9SmMPnfPhtvJDZL9R4QvEhQI/ukljpwo3M7cUo85kdwIgNr5JL00jikEn8LRtqNoop/Q2Xlre2zc+gRJoCzknmJ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47097},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","module":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"81177e12b3eae46e5d795afc873ddf65795e0ec4","private":false,"scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","actor":{"name":"siatkowski.piotr","type":"user","email":"siatkowski.p@gmail.com"},"email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.2.2_1750251400325_0.5853937055824796","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"zustand-lite","version":"0.2.3","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.2.3","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"135242cbba5c60fb78fad81dcbb9d8aef7b1e7de","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.2.3.tgz","fileCount":9,"integrity":"sha512-KIQ0dTJ7cAiIX3XKTVhSKyEM9ZAVgPO10vwq/YvVI3V3yc7B7Ra0/D58c4CYNsXjebrr/xwwJAJPBH+JZVP16Q==","signatures":[{"sig":"MEUCIGtZj2ybkJ5w1MQyAlsAXkMBhEm/MT2MjaVGZoaHIZiXAiEA4POlQtCSDvGb/s7X7j96eEwxmdjsasF+HuXSSTrLcQU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47097},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","module":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"2112b9958bfce26570d7b0fae5fdb878e8a9b21b","private":false,"scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","actor":{"name":"siatkowski.piotr","type":"user","email":"siatkowski.p@gmail.com"},"email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.2.3_1750251761866_0.02609743060453029","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"zustand-lite","version":"0.2.4","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.2.4","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"254652fa9627a6f12a65b679646c86e479eb1604","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.2.4.tgz","fileCount":9,"integrity":"sha512-/NdnENVGMIoftxXaxb53rhA6alLJDv1h1OzIDt0zEWThPezJdYznSXCszJQTfogEeqCF2ILS9i6VVCwWn2+knw==","signatures":[{"sig":"MEQCIBkt4GkpXDNEC9EafgW+16TwBhpJqmidkrS0Shkv0S1CAiAxjL6n/GuLigTXOxf8th3ZbNEfl7ub2AEIqt9bvYYy2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52614},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","module":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"dd6785527ca28dda8131f4ba01c378f9670adb41","private":false,"scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","actor":{"name":"siatkowski.piotr","type":"user","email":"siatkowski.p@gmail.com"},"email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","prettier":"^3.5.3","typescript":"5.8.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.2.4_1750437965225_0.08719544147003466","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"zustand-lite","version":"0.3.0","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.3.0","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"a29435af49cf5a165a251bfd2923b23643e4c362","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.3.0.tgz","fileCount":9,"integrity":"sha512-RXVUU1RR6+K4s1OdSD20lYUvIs4c/xW1pGUidPVK8sKOC5xRCYISIJEuhGMSFAY2dcDt93C994vU7GbYmefPBg==","signatures":[{"sig":"MEYCIQDM7MolMVDzcSkD6D9Ov71O2USY/bXjwUIYYfMIa552nwIhAM1UW6hATmFkN56Ks84jHxfeE5p4j8wi1EXShH+n32XA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56740},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","module":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"6664957eb91f103e264f8d4c993672d742760875","private":false,"scripts":{"test":"jest","build":"jest && tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","actor":{"name":"siatkowski.piotr","type":"user","email":"siatkowski.p@gmail.com"},"email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","tsup":"^8.5.0","react":"^19.0.0","ts-jest":"^29.4.0","prettier":"^3.5.3","react-dom":"^19.0.0","typescript":"5.8.3","@types/jest":"^30.0.0","@types/react":"^19.1.8","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.2","use-sync-external-store":"^1.5.0","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.3.0_1750630527885_0.008041264647666635","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"zustand-lite","version":"0.3.1","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.3.1","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"d3175f68b871dc2fd1563dfc2298546497062f33","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.3.1.tgz","fileCount":9,"integrity":"sha512-FIPlUSDNpxejECS0B/1kHaYmt/YW66iDvT2LELbC/kLF304WPnnJb1N9AzQ9iIWcI/hsgTJzadbjMjdwgwsLZw==","signatures":[{"sig":"MEUCIQDXGULxmfrpkQ8TWAuWebr4CfiLI26hpOy+tx6UU+eAmQIgF4T7RZPqoeNbql2Eb95uejkC3+dlivUJdE3uuWIMHgM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56758},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","module":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"384c73b751ffc5a26e9ddfd334f8d263118c52af","private":false,"scripts":{"test":"jest","build":"jest && tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","actor":{"name":"siatkowski.piotr","type":"user","email":"siatkowski.p@gmail.com"},"email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","tsup":"^8.5.0","react":"^19.0.0","ts-jest":"^29.4.0","prettier":"^3.5.3","react-dom":"^19.0.0","typescript":"5.8.3","@types/jest":"^30.0.0","@types/react":"^19.1.8","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.2","use-sync-external-store":"^1.5.0","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.3.1_1750667728592_0.7875119104571584","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"zustand-lite","version":"0.3.2","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.3.2","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"9d10882ac7f1ca1fb79c1fc94229e2b335a44e4b","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.3.2.tgz","fileCount":9,"integrity":"sha512-eojxhcNmsmgQpnc2Z0hwLC5nFNsUiVXX5ymBuyvOEYji3y2PyQiqrgdz/J8dbW34OP/1e8AF6Drj091g50scWQ==","signatures":[{"sig":"MEUCIQCvkLCJ0TW6+mDN8iJVzhH3UQQN4/rgN4bjnDPNUtBvvwIgFBFTNOyuELPhbM0USd7F4yqL4pKStVXr/XX+CqtLOr0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57133},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","module":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"5ce824614f74b1e1d9a4f1d665707c8ad6e55460","private":false,"scripts":{"test":"jest","build":"jest && tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","actor":{"name":"siatkowski.piotr","type":"user","email":"siatkowski.p@gmail.com"},"email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","tsup":"^8.5.0","react":"^19.0.0","ts-jest":"^29.4.0","prettier":"^3.5.3","react-dom":"^19.0.0","typescript":"5.8.3","@types/jest":"^30.0.0","@types/react":"^19.1.8","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.2","use-sync-external-store":"^1.5.0","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.3.2_1750671439204_0.21239307714351496","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"zustand-lite","version":"0.3.3","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.3.3","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"595146c810db9f03a1a88113b195db9680a253d1","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.3.3.tgz","fileCount":9,"integrity":"sha512-60EXrRhSj3UFhf7S6FHot26WjRtcO1CpjnpWO5RlNhY9+p1+wV1mY0UhRP2YTalD3otinVGpHpjzvCXjaQlYZQ==","signatures":[{"sig":"MEUCIGMHIQd2mABSmN6ovtO4SYBeA2OEVIdgEB13BSAeOW1ZAiEAxX4fLDiJ2n18f2KBN4sgaPGl2JZ97UNOR0NTrpyAgyw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63050},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","module":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"78509b42b7bba4e6d02230a2234e05a7c66e5019","private":false,"scripts":{"test":"jest","build":"jest && tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","actor":{"name":"siatkowski.piotr","type":"user","email":"siatkowski.p@gmail.com"},"email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","tsup":"^8.5.0","react":"^19.0.0","ts-jest":"^29.4.0","prettier":"^3.5.3","react-dom":"^19.0.0","typescript":"5.8.3","@types/jest":"^30.0.0","@types/react":"^19.1.8","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.2","use-sync-external-store":"^1.5.0","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.3.3_1750689807412_0.08979082182928222","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"zustand-lite","version":"0.3.4","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.3.4","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"5a5438a7b82854391d4184839134df71b92899af","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.3.4.tgz","fileCount":9,"integrity":"sha512-r61hjhoqzs9zigzJANWPV1jv9GxwOzu8SQuGaBdtoeyM6tJAMWFJFQ9lUIMFKrvdL1aErxoBoduS619kQAL5Fw==","signatures":[{"sig":"MEQCIGrlNj3R+UQGzeZRcvMsogJvzsI7h6kjMT+auWGY789HAiAwYZCu8KWsLOotR/eU3EawCm9gSVzBEnb2IyPtVAZJZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65317},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","module":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"e13791385b7fd58a1cd8928be668ed8176433e75","private":false,"scripts":{"test":"jest","build":"jest && tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","actor":{"name":"siatkowski.piotr","type":"user","email":"siatkowski.p@gmail.com"},"email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","tsup":"^8.5.0","react":"^19.0.0","ts-jest":"^29.4.0","prettier":"^3.5.3","react-dom":"^19.0.0","typescript":"5.8.3","@types/jest":"^30.0.0","@types/react":"^19.1.8","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.2","use-sync-external-store":"^1.5.0","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.3.4_1750840830746_0.4353015074457389","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"zustand-lite","version":"0.3.5","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.3.5","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"e758ada859c6635e151147c21a687265ee2b9790","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.3.5.tgz","fileCount":9,"integrity":"sha512-3+oY9Aj2RYz2RNEm2zEAzZRpHHwuycWz9F7/hYBl9qHD86lg2Omn40g4Y9AboLoy/sfj+oPTviCmwXuze0P0TQ==","signatures":[{"sig":"MEQCIHes+CYkakDWygpLK6PCiNwAoiViTRBXadvrNx9DHdZfAiBWmztdSBIP8xdK42YOL/lVIUsX7cl/Roz00R7mMxwRSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68037},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","module":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"a8e433c46e961f9abc17103fd19468b367037584","private":false,"scripts":{"test":"jest","build":"jest && tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","actor":{"name":"siatkowski.piotr","type":"user","email":"siatkowski.p@gmail.com"},"email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","tsup":"^8.5.0","react":"^19.0.0","ts-jest":"^29.4.0","prettier":"^3.5.3","react-dom":"^19.0.0","typescript":"5.8.3","@types/jest":"^30.0.0","@types/react":"^19.1.8","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.2","use-sync-external-store":"^1.5.0","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.3.5_1750967806011_0.9372046568534369","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"zustand-lite","version":"0.4.0","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.4.0","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"390ea7a4e2187a2679248fb4f15851f5867559ee","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.4.0.tgz","fileCount":9,"integrity":"sha512-ebin6dv2mn/9W+8ZLc9n4Bl+QEcHeH1nsgxdRMxQRC9FSJJrK/on9Av9Y3Glln4BSYkTcupMDE8Ks4X+OEKc9g==","signatures":[{"sig":"MEUCIQCwdAki/7oMoKZ36rAja4p12ER+4qXFu69wT09LbTTjMwIgIexrsYHdzyEdRvVk/cOq85t2/LxMpSZerAk42zuYCvQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68037},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","module":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"513dcbe8341d58fc668e33a1992375c18f8803e2","private":false,"scripts":{"test":"jest","build":"jest && tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","tsup":"^8.5.0","react":"^19.0.0","ts-jest":"^29.4.0","prettier":"^3.5.3","react-dom":"^19.0.0","typescript":"5.8.3","@types/jest":"^30.0.0","@types/react":"^19.1.8","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.2","use-sync-external-store":"^1.5.0","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.4.0_1754899445330_0.5699617841322437","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"zustand-lite","version":"0.4.1","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.4.1","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"8ccec0917032b75a20d3cf3457107f687c80db9e","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.4.1.tgz","fileCount":9,"integrity":"sha512-ymtAFLG8z3DIIxvQyXF0jWzNUuABr/X9F82x6rbjGhoZAKfO9SebUvEa9kwC/uorxJP09ATGItRLUXuzu5XPbg==","signatures":[{"sig":"MEQCIHcfL+R6OcSB1MJsVrocQjvzs54+9b0cAa6FrTse2+hsAiBDs7sB9YrytO2NPsuov0k62ESbUL6L2GTg+KzrUP8bcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80990},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","module":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"3af600b61daeb1c550b5c89bd184677107182b58","private":false,"scripts":{"test":"jest","build":"jest && tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5","error-stack-parser":"2.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","tsup":"^8.5.0","react":"^19.0.0","ts-jest":"^29.4.0","prettier":"^3.5.3","react-dom":"^19.0.0","typescript":"5.8.3","@types/jest":"^30.0.0","@types/react":"^19.1.8","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.2","use-sync-external-store":"^1.5.0","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.4.1_1759610867345_0.311492466879169","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"zustand-lite","version":"0.4.2","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.4.2","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"bc28e5a23418997f888b0455f81dfa6aa5626e37","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.4.2.tgz","fileCount":9,"integrity":"sha512-4eQmeauqbzWX0YeSwoZLn6+r0cOBP7217L+o/9ly1NNhIQRlLh+uq6A93RnjrfP9Ybp18TI2V6VeqxhDkH2AGw==","signatures":[{"sig":"MEYCIQDtkiNMWt3uUF0Tj1sT1rjEqogxRFG08fPOpVRUELAhwwIhAKYc7/efbqbLvh0mYNlVbGy+lH+Vjme3S2s/YKO7BoCw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74937},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"fd2fc3a0a84c7dca2c196d5046a3289b698b82e4","private":false,"scripts":{"test":"jest","build":"jest && tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5","error-stack-parser":"2.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","tsup":"^8.5.0","react":"^19.0.0","ts-jest":"^29.4.0","prettier":"^3.5.3","react-dom":"^19.0.0","typescript":"5.8.3","@types/jest":"^30.0.0","@types/react":"^19.1.8","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.2","use-sync-external-store":"^1.5.0","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.4.2_1759685113390_0.06178260832425231","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"zustand-lite","version":"0.4.3","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.4.3","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"7f176250d2687cefee98269d87ffb17e8fb40843","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.4.3.tgz","fileCount":9,"integrity":"sha512-Y3peQyFUY66SVI9JKnW2PFt03h/vfE8t0jGPBJCVC9MYu1k//cyHf0ylzr+OlbAURV185+GL3HdJrqvEzunIDw==","signatures":[{"sig":"MEUCIBpqzHu4uw+AY6qzLG1QpV3Sch/HTaTCy3rrkW5bFyf5AiEA1XK7I/e8eH8YO0vozGYmg5hqLdW7RE6G7ZB0O7EwL4M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75021},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4f91a9544ef540c6c1fd718ae0ac88cf54835332","private":false,"scripts":{"test":"jest","build":"jest && tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5","error-stack-parser":"2.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","tsup":"^8.5.0","react":"^19.0.0","ts-jest":"^29.4.0","prettier":"^3.5.3","react-dom":"^19.0.0","typescript":"5.8.3","@types/jest":"^30.0.0","@types/react":"^19.1.8","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.2","use-sync-external-store":"^1.5.0","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.4.3_1759700133113_0.941204705879126","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"zustand-lite","version":"0.5.0","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.5.0","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"85b986b1b345807a668573035eef5aea370db854","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.5.0.tgz","fileCount":9,"integrity":"sha512-fZfEyK90QWEC/Uc6ZM5U9ROKvX7KCg3H0u080A70XKb3769mmDT4CDGaHn8/1XlJ8HlBOKLDwO+amdkfHkrWTQ==","signatures":[{"sig":"MEQCIG1MRv5/UbmXmV+HiYTJAHDZXqQzZc+9KzXuwx25W8BRAiA6JdEGzc+Pu4W5buB0ugx8HSQv2PK4NJt4RIMq93yxRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75469},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4ce66b8b682dd09116e312dfa60cd5b220d9d84b","private":false,"scripts":{"test":"jest","build":"jest && tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5","error-stack-parser":"2.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","tsup":"^8.5.0","react":"^19.0.0","ts-jest":"^29.4.0","prettier":"^3.5.3","react-dom":"^19.0.0","typescript":"5.8.3","@types/jest":"^30.0.0","@types/react":"^19.1.8","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.2","use-sync-external-store":"^1.5.0","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.5.0_1762558723308_0.2602563537768794","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"zustand-lite","version":"0.6.0","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.6.0","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"dfa9463c3ef37f6bc8c653a39eb69bf31fb717b1","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.6.0.tgz","fileCount":9,"integrity":"sha512-QlIxaxVjwsbAMT17HW+LaHnBqR9kkAMBLI80KiIFv+Tvk8SplpVOdj5zHgvCOiwYiakeI+O1RuLrvLnuEM7eDA==","signatures":[{"sig":"MEYCIQD3h299VJsQ6crNQU9l3DPAHVLzxSQLDN8VQKPToe8QeAIhAJqZicl3ef8H+6Mw1aUEXbMFcpapFpqyR2lldg4qrzWA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83678},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ddd642db1b4b1c1aab349ab50461afa4c9372098","private":false,"scripts":{"test":"jest","build":"jest && tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5","error-stack-parser":"2.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","tsup":"^8.5.0","react":"^19.0.0","ts-jest":"^29.4.0","prettier":"^3.5.3","react-dom":"^19.0.0","typescript":"5.8.3","@types/jest":"^30.0.0","@types/react":"^19.1.8","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.2","use-sync-external-store":"^1.5.0","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.6.0_1762693217438_0.5793448558323935","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"zustand-lite","version":"0.6.1","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.6.1","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"e06fa7ac4b836f1ca5aac12aa1fcbcd88d06f54f","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.6.1.tgz","fileCount":9,"integrity":"sha512-pKNqrU76YAnNRrP3OGPRYv0oPmJ+bwzuyz5YxxMWjCas/0nakt1JfMEIafG1zZ731SjwIpEIVd4kkghBsUE1MQ==","signatures":[{"sig":"MEUCICjyq/5h1/tpDKwpZSiCytsQrl+0tw3XSIFan9HZO3OmAiEAqHDnGEvIEjBlFXrgBT9o48ZGreP6bCW/GNFXD4kzIwE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84675},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"953713bd5ef30d6a19b4a2d31fc3772d4d9d6a09","private":false,"scripts":{"test":"jest","build":"jest && tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5","error-stack-parser":"2.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","tsup":"^8.5.0","react":"^19.0.0","ts-jest":"^29.4.0","prettier":"^3.5.3","react-dom":"^19.0.0","typescript":"5.8.3","@types/jest":"^30.0.0","@types/react":"^19.1.8","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.2","use-sync-external-store":"^1.5.0","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.6.1_1762774682435_0.6268809434741642","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"zustand-lite","version":"0.7.0","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.7.0","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"640a2a1af2eac8dffd5da90f0157f2aefdc05fdf","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.7.0.tgz","fileCount":9,"integrity":"sha512-yf+nMK5smLG53zj3SxQjp5rCDJkmPhA+p6HjTF+nzdjrdxm9kCN0vblYHyFpQVZDANNGBomos2YzmyzCOU0CXQ==","signatures":[{"sig":"MEQCIHi2hT9r0Sf+RjkKZrcxzr12SbPk4fL7JTsY36R1cLe/AiAc+f50OosZ9vdTT13STElBXEDzJlaZLlysTN/WSOzhtQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83323},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e103baed71a33cae0e6ba0a4175940eda5a59816","private":false,"scripts":{"test":"jest","build":"jest && tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5","error-stack-parser":"2.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","tsup":"^8.5.0","react":"^19.0.0","ts-jest":"^29.4.0","prettier":"^3.5.3","react-dom":"^19.0.0","typescript":"5.8.3","@types/jest":"^30.0.0","@types/react":"^19.1.8","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.2","use-sync-external-store":"^1.5.0","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.7.0_1765109352025_0.1695684317127506","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"zustand-lite","version":"0.7.1","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.7.1","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"76090c7a2dc2e6a5d059a2f350cc9fe0bc859145","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.7.1.tgz","fileCount":9,"integrity":"sha512-vryzJ1iYShfgu+nrc0LY8rW05reIeLf/XLmH+o5ViBoaQdUfc8hcQkxK7JIX9GFsmI52V1zDlwhBAp56SJhxOw==","signatures":[{"sig":"MEUCIQC3CpVej41IxQ65J5HBI0HWqw58IsC8kVwRdpocIuRFIgIgQ3+ElQz1ZBbVTFb4CcNnLYRhpj4SlU/N/oxYaZ3uz3A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83813},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"b629f7420989b1e518ff2d0877ffbc59afd5898a","private":false,"scripts":{"test":"jest","build":"jest && tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5","error-stack-parser":"2.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","tsup":"^8.5.0","react":"^19.0.0","ts-jest":"^29.4.0","prettier":"^3.5.3","react-dom":"^19.0.0","typescript":"5.8.3","@types/jest":"^30.0.0","@types/react":"^19.1.8","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.2","use-sync-external-store":"^1.5.0","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.7.1_1765148843390_0.3020868023981431","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"zustand-lite","version":"0.7.2","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.7.2","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"2f9a608c2f7309636a85cb6e02ee18473e5fd1a8","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.7.2.tgz","fileCount":9,"integrity":"sha512-JIMDPGSDe+imBk3uAlYIhIdcP3n2uDn/XKBX6NlxuINVw+s4zXK9FG9VLUIBn0zHNDMmM1/JtFVE4AipZIjbqQ==","signatures":[{"sig":"MEUCIGUlTPX+4/ccJciVxvuRIcXoKl6ioGcK9NggC/C2UqLNAiEAzQCUjIbJhyUr30p3DpBikZYDUoVlnU87WY13XONxtPw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83813},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"f6ca471915e9b7fda68278ea1e1a1dac26e7efd6","private":false,"scripts":{"test":"jest","build":"jest && tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5","error-stack-parser":"2.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","tsup":"^8.5.0","react":"^19.0.0","ts-jest":"^29.4.0","prettier":"^3.5.3","react-dom":"^19.0.0","typescript":"5.8.3","@types/jest":"^30.0.0","@types/react":"^19.1.8","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.2","use-sync-external-store":"^1.5.0","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.7.2_1766840484229_0.4969422580752636","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"zustand-lite","version":"0.7.3","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@0.7.3","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"0fedb349c0fd5b4f4b4d34d9b51a9af3b9568d2c","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-0.7.3.tgz","fileCount":9,"integrity":"sha512-ieGjI+uk55MFQsd7VSWzTaZWsKP3prWM8ZqSmSvuqgvO1LS2U48DRJ2Fa7VteP+04fO9VObnSAL0JPujRFVlAA==","signatures":[{"sig":"MEUCIQCM9vFFzVi/SJYs40RoaRIc3ELjJK7gBaMz7ghtIDnJYgIgMKnjHND95u/0OZKrlCDJ9NdJ27gBLSjFRTnaqMYjR4k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84174},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d1b5bfd859e4e398473fd8ae5590278b42d3c964","private":false,"scripts":{"test":"jest","build":"jest && tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5","error-stack-parser":"2.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","tsup":"^8.5.0","react":"^19.0.0","ts-jest":"^29.4.0","prettier":"^3.5.3","react-dom":"^19.0.0","typescript":"5.8.3","@types/jest":"^30.0.0","@types/react":"^19.1.8","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.2","use-sync-external-store":"^1.5.0","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_0.7.3_1768340491667_0.21896397823753255","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"zustand-lite","version":"1.0.0","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@1.0.0","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"1b50dcb5b7fcbdbe4f40261589f6874622d3cb8f","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-1.0.0.tgz","fileCount":9,"integrity":"sha512-c7idJvSjcgH6gLoMUNpxJD+9D1R1YXP4oDO4HeMhXcK8LDwCQF+gd/BhtrgF7EexOpHCCabgeUn9CL9ledw4RQ==","signatures":[{"sig":"MEYCIQCAVnN4WTzr4+PWfmvmCiY+odUDZt7e/PGOsgKey+avpQIhALZP2oU6gGJqAvyYPvmkvYCST7PrP0o5Ai5RkF+dkog3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84383},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8e3eeb0533b849b248eb09a6e5db0a2c4a5c030d","private":false,"scripts":{"test":"jest","build":"jest && tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5","error-stack-parser":"2.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","tsup":"^8.5.0","react":"^19.0.0","ts-jest":"^29.4.0","prettier":"^3.5.3","react-dom":"^19.0.0","typescript":"5.8.3","@types/jest":"^30.0.0","@types/react":"^19.1.8","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.2","use-sync-external-store":"^1.5.0","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_1.0.0_1769374074543_0.4683811377898568","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"zustand-lite","version":"1.0.1","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@1.0.1","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"042b49e68a4b80f28dae3a7f9305b64655edb59f","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-1.0.1.tgz","fileCount":9,"integrity":"sha512-sbOv1SEhH2XHj3OxlAQvpIuGb/SEhdOHrfTKfN2/r2yUhTWNU6Rq6ePsz9EiKTdtzuKbIrlY53UYzWMjLG73Eg==","signatures":[{"sig":"MEQCIGqqybxGECRe2HFS6myS8EABSGMGtrwWJU906rDrcxaIAiAmMzc0i5SuCDYd2YfJ91y2/T3uEtJigZS34W23O04ryg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84283},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"13decc7dc356231991e3840a24bdb87db64f17f5","private":false,"scripts":{"test":"jest","build":"jest && tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5","error-stack-parser":"2.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","tsup":"^8.5.0","react":"^19.0.0","ts-jest":"^29.4.0","prettier":"^3.5.3","react-dom":"^19.0.0","typescript":"5.8.3","@types/jest":"^30.0.0","@types/react":"^19.1.8","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.2","use-sync-external-store":"^1.5.0","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_1.0.1_1771255831596_0.057675180260585046","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"zustand-lite","version":"1.0.2","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@1.0.2","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"ca32253b847b018592aff08977df91d49d939f5b","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-1.0.2.tgz","fileCount":9,"integrity":"sha512-rpsCZdmE8ALI6LPT50HMZFXc1Ozp2rlRmWnOliWKRGghMRPaMyi6twkPXTenOFaEVKaMeQgJ22waZH53XuJq/A==","signatures":[{"sig":"MEYCIQCheVu84+cgyVG32IneVArWwUfwewxtnGLHG+4ZP436BgIhAKfcZznDztGtvQt9Doxtf5qHBK6Zf1TSLs+9nLB/IMNZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84961},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ef7b89648e0e62e28a1851a01b7fb19f4ba5f922","private":false,"scripts":{"test":"jest","build":"jest && tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.5","error-stack-parser":"2.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","tsup":"^8.5.0","react":"^19.0.0","ts-jest":"^29.4.0","prettier":"^3.5.3","react-dom":"^19.0.0","typescript":"5.8.3","@types/jest":"^30.0.0","@types/react":"^19.1.8","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.2","use-sync-external-store":"^1.5.0","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_1.0.2_1771405731169_0.844786855602971","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"zustand-lite","version":"1.1.0","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","_id":"zustand-lite@1.1.0","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"dist":{"shasum":"63f30545b50af383b92e3f73f8e67b67bf2d5559","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-1.1.0.tgz","fileCount":9,"integrity":"sha512-tSCip56c0KdOld5CwFrFTKMkYoMjjNtVKGftTk/rzh/eBzpG7kPunlzRWH0gCgg89HaC4sBE8oWUWTf+TNsepw==","signatures":[{"sig":"MEUCIDsUcJOMMt8KA9wj2n7+uPaszNBesTwyqCgl9cSKZgmhAiEAnhq1obN3GH3GKasKFfW+M0LgzIb5+lQgwrGKRFf64QI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86389},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"232606cd8dc7498e6615e2441104ba7bfadaea71","private":false,"scripts":{"test":"jest","build":"jest && tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify"},"_npmUser":{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"},"repository":{"url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite","type":"git"},"_npmVersion":"10.7.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","dependencies":{"zustand":"5.0.14","error-stack-parser":"2.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","tsup":"^8.5.0","react":"^19.0.0","ts-jest":"^29.4.0","prettier":"^3.5.3","react-dom":"^19.0.0","typescript":"5.8.3","@types/jest":"^30.0.0","@types/react":"^19.1.8","@testing-library/react":"^16.3.0","jest-environment-jsdom":"^30.0.2","use-sync-external-store":"^1.5.0","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/zustand-lite_1.1.0_1784411693836_0.0470639422864958","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"zustand-lite","version":"2.0.0","description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"repository":{"type":"git","url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite"},"bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"sideEffects":false,"type":"module","main":"dist/index.cjs","module":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"default":"./dist/index.js"}},"scripts":{"build":"npm test && tsup src/index.ts --format cjs,esm --dts --clean --sourcemap --minify && npm run test:dist","test":"npm run test:runtime && npm run test:types","test:runtime":"jest","test:types":"tsc --noEmit -p type-tests/tsconfig.json","test:dist":"node type-tests/dist-smoke.mjs && tsc --noEmit -p type-tests/tsconfig.dist.json","prepack":"npm run build"},"dependencies":{"error-stack-parser":"2.1.4","use-sync-external-store":"^1.5.0","zustand":"5.0.14"},"peerDependencies":{"react":">=18.0.0"},"devDependencies":{"@testing-library/jest-dom":"^6.6.3","@testing-library/react":"^16.3.0","@types/jest":"^30.0.0","@types/react":"^19.1.8","jest":"^30.0.2","jest-environment-jsdom":"^30.0.2","prettier":"^3.5.3","react":"^19.0.0","react-dom":"^19.0.0","ts-jest":"^29.4.0","tsup":"^8.5.0","typescript":"5.8.3"},"private":false,"_id":"zustand-lite@2.0.0","gitHead":"2514d24678187e1454e87141f00a6921b9c37cc0","homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","_nodeVersion":"20.15.1","_npmVersion":"10.7.0","dist":{"integrity":"sha512-0QhG2BM5MigYopKeZ9sNwcxui7kxA54qdKNUbU7oE4V0PrWgep22EqwR/LIaTwNZ7Jfq14Xss3n4bxGgIsnHxQ==","shasum":"e78aefce025a3be711999d3d67c39ec628e8ecfc","tarball":"https://registry.npmjs.org/zustand-lite/-/zustand-lite-2.0.0.tgz","fileCount":9,"unpackedSize":154981,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDBADDMe0AcZ+wlni1l3KkNxC0VokoBAeMpi/60PYOCSAiBGrzVZNyvtyEP0pm+hqYgpR4mOlqD6niVqbUw4mtZ6ig=="}]},"_npmUser":{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"},"directories":{},"maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/zustand-lite_2.0.0_1784556414069_0.6473483259403039"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-17T22:12:16.585Z","modified":"2026-07-20T14:06:54.407Z","0.1.0":"2025-06-16T10:16:42.292Z","0.1.1":"2025-06-16T19:17:02.526Z","0.1.2":"2025-06-17T22:12:16.857Z","0.1.3":"2025-06-17T22:41:40.248Z","0.2.0":"2025-06-18T12:19:43.726Z","0.2.1":"2025-06-18T12:40:53.955Z","0.2.2":"2025-06-18T12:56:40.496Z","0.2.3":"2025-06-18T13:02:42.078Z","0.2.4":"2025-06-20T16:46:05.447Z","0.3.0":"2025-06-22T22:15:28.077Z","0.3.1":"2025-06-23T08:35:28.792Z","0.3.2":"2025-06-23T09:37:19.381Z","0.3.3":"2025-06-23T14:43:27.569Z","0.3.4":"2025-06-25T08:40:30.921Z","0.3.5":"2025-06-26T19:56:46.209Z","0.4.0":"2025-08-11T08:04:05.590Z","0.4.1":"2025-10-04T20:47:47.585Z","0.4.2":"2025-10-05T17:25:13.595Z","0.4.3":"2025-10-05T21:35:33.309Z","0.5.0":"2025-11-07T23:38:43.488Z","0.6.0":"2025-11-09T13:00:17.668Z","0.6.1":"2025-11-10T11:38:02.642Z","0.7.0":"2025-12-07T12:09:12.176Z","0.7.1":"2025-12-07T23:07:23.570Z","0.7.2":"2025-12-27T13:01:24.382Z","0.7.3":"2026-01-13T21:41:31.819Z","1.0.0":"2026-01-25T20:47:54.702Z","1.0.1":"2026-02-16T15:30:31.821Z","1.0.2":"2026-02-18T09:08:51.314Z","1.1.0":"2026-07-18T21:54:53.966Z","2.0.0":"2026-07-20T14:06:54.219Z"},"bugs":{"url":"https://github.com/PiotrSiatkowski/zustand-lite/issues"},"author":{"name":"Piotr Siatkowski","email":"p.siatkowski@gmail.com"},"license":"MIT","homepage":"https://github.com/PiotrSiatkowski/zustand-lite#readme","keywords":["zustand","state-management","react","store","plugin","typescript","no-boilerplate"],"repository":{"type":"git","url":"git://github.com/PiotrSiatkowski/zustand-lite.git","web":"https://github.com/PiotrSiatkowski/zustand-lite"},"description":"Zustand Lite builds upon zustand, by auto-generating selectors and simplifying API even more.","maintainers":[{"name":"siatkowski.piotr","email":"siatkowski.p@gmail.com"}],"readme":"![Zustand Lite Image](https://raw.githubusercontent.com/PiotrSiatkowski/zustand-lite/main/image.png)\n\n# Zustand Lite\n\n[![npm version](https://img.shields.io/npm/v/zustand-lite?color=blue)](https://www.npmjs.com/package/zustand-lite)\n[![bundle size](https://img.shields.io/bundlephobia/minzip/zustand-lite)](https://bundlephobia.com/package/zustand-lite)\n[![license](https://img.shields.io/npm/l/zustand-lite)](./LICENSE)\n[![Types](https://img.shields.io/badge/TypeScript-ready-blue?logo=typescript)](https://www.typescriptlang.org/)\n[![GitHub stars](https://img.shields.io/github/stars/PiotrSiatkowski/zustand-lite?style=social)](https://github.com/PiotrSiatkowski/zustand-lite)\n\nA thin wrapper around [Zustand](https://github.com/pmndrs/zustand) that generates getters, setters, and hooks for you.\n\n```ts\nimport { createStore } from 'zustand-lite'\n\nconst store = createStore({ count: 0 })\n    .extendSetters(({ get, set }) => ({\n        increment: () => set.count(get().count + 1),\n    }))\n\nstore.use.count()        // React hook\nstore.get().count        // Direct access\nstore.set.increment()    // Action\n```\n\nThat's it. No providers, no boilerplate, full TypeScript support.\n\n---\n\n## Why?\n\nZustand Lite is a **zero-boilerplate** state management built specifically for frontend\ndevelopers who want **powerful and scalable** global state **without the usual complexity**.\nDesigned for simplicity, it gives you everything you need out-of-the-box — from selectors to\nsetters to middleware — while remaining lightweight and extensible. With seamless support for\nplugins, devtools, and state encapsulation, managing state becomes a breeze, not a chore.\n\nZustand is great, but you still end up writing repetitive code: selectors for each field, actions that follow the same patterns, hooks that look almost identical.\n\nZustand Lite fixes that. You define your state once, and it generates:\n- `store.use.fieldName()` - React hooks with proper subscriptions\n- `store.set.fieldName(value)` - Type-safe setters\n- `store.get()` - Synchronous access to current state\n\nPlus a chainable API for computed values, custom actions, and plugins.\n\n## Install\n\n```bash\nnpm install zustand-lite\n```\n\nReact 18 or newer is required as a peer dependency.\nThe package includes ESM, CommonJS, and matching TypeScript declarations.\n\n---\n\n## Examples\n\n### Basic usage\n\n```ts\nimport { createStore } from 'zustand-lite'\n\nexport const store = createStore({ name: '', email: '' })\n\n// In your component\nfunction Profile() {\n    const name = store.use.name()\n    const email = store.use.email()\n    \n    return <div>{name} ({email})</div>\n}\n\n// Update from anywhere\nstore.set.name('John')\nstore.set.email('john@example.com')\n```\n\nRoot state and `.extendByState(...)` patches must be plain objects. Arrays, dates,\ncollections, class instances, and other opaque values can be stored as fields, where they\nare treated as leaf values. The prototype-mutating `__proto__` key is rejected.\n\n### Custom setters\n\n```ts\nconst store = createStore({ count: 0 })\n    .extendSetters(({ get, set }) => ({\n        increment: () => set.count(get().count + 1),\n        decrement: () => set.count(get().count - 1),\n        reset: () => set.count(0),\n    }))\n\n// Use them directly\nstore.set.increment()\nstore.set.reset()\n\n// Or in components\n<button onClick={store.set.increment}>+</button>\n```\n\n### Computed values (getters)\n\n```ts\nconst store = createStore({ \n    items: [] as { price: number; qty: number }[] \n})\n    .extendGetters(({ get }) => ({\n        total: () => get().items.reduce((sum, item) => sum + item.price * item.qty, 0),\n        itemCount: () => get().items.length,\n    }))\n\n// Computed values work as hooks too\nfunction CartSummary() {\n    const total = store.use.total()\n    const count = store.use.itemCount()\n    \n    return <div>{count} items, ${total}</div>\n}\n```\n\n### Deep selectors\n\nNested state? No problem. Zustand Lite auto-generates deep selectors from the plain-object\nshape present when a state field is added:\n\n```ts\nconst store = createStore({ \n    user: { \n        profile: { \n            name: 'John' \n        } \n    } \n})\n\n// These are all valid and properly subscribed\nstore.use.user()\nstore.use.user.profile()\nstore.use.user.profile.name()\n```\n\nArrays are treated as leaf values because their indices are dynamic. Read an array with\n`store.use.items()` or subscribe to a specific item with\n`store.use((state) => state.items[index])`. Dates, collections, class instances, boxed\nprimitives, and other opaque objects are also treated as leaf values. Deep hooks are not\ncreated later for object paths that were absent from the initial shape.\n\n### Select multiple fields\n\n```ts\nconst store = createStore({ a: 1, b: 2, c: 3, d: 4 })\n\nfunction Component() {\n    // Only re-renders when a or c change\n    const { a, c } = store.use(['a', 'c'])\n}\n```\n\n### Custom equality\n\n```ts\nconst store = createStore({ data: { id: 1, name: 'test', updatedAt: Date.now() } })\n\n// Default uses shallow equality\nconst data = store.use.data()\n\n// Custom equality for auto-generated selectors\nconst data = store.use.data((a, b) => a.id === b.id)\n\n// Custom equality for ad-hoc selectors\nconst data = store.use(\n    (state) => state.data,\n    (a, b) => a.id === b.id\n)\n```\n\nFor getters with parameters, pass `withOptions(...)` as the last argument:\n\n```ts\nimport { withOptions } from 'zustand-lite'\n\nconst store = createStore({ items: [{ id: 1, name: 'Item', meta: {} }] })\n    .extendGetters(({ get }) => ({\n        getById: (id: number) => get().items.find(i => i.id === id),\n    }))\n\nfunction Item({ id }: { id: number }) {\n    // Only re-render when id or name changes, ignore meta\n    const item = store.use.getById(\n        id,\n        withOptions({\n            eq: (a, b) => a?.id === b?.id && a?.name === b?.name\n        })\n    )\n}\n```\n\n### Extending state\n\nAdd more state fields after creation:\n\n```ts\nconst store = createStore({ a: 'a' })\n    .extendByState({ b: 'b' })  // Plain object\n    .extendByState(({ get }) => ({ c: get().a + get().b }))  // Derived from existing state\n```\n\nExtensions can only add fields. TypeScript rejects patches that overlap existing state keys.\n\n### Overriding getters and setters\n\nChain multiple `extendGetters` or `extendSetters` to override previous definitions. The new definition can access the previous getter through `get.<getterName>()`:\n\n```ts\nconst store = createStore({ price: 100 })\n    .extendGetters(({ get }) => ({\n        displayPrice: () => get().price,\n    }))\n    .extendGetters(({ get }) => ({\n        // Override: add currency formatting, but use previous getter\n        displayPrice: () => `$${get.displayPrice().toFixed(2)}`,\n    }))\n\nstore.get.displayPrice() // \"$100.00\"\n```\n\n### Setting state\n\nMultiple ways to update state:\n\n```ts\nconst store = createStore({ a: 1, b: 2 })\n\n// Auto-generated setters\nstore.set.a(10)\n\n// Partial update (shallow merge)\nstore.set({ a: 10 })\n\n// Function update\nstore.set((state) => ({ a: state.a + 1 }))\n\n// Replace entire state (second arg = true)\nstore.set({ a: 100, b: 200 }, true)\n```\n\nUpdates that would leave the affected values shallowly equal are ignored. Distinct opaque\nobjects, such as two different `Date` instances, are still treated as real updates.\n\n### Private state\n\nSometimes you want internal state that components can't access directly:\n\n```ts\nconst store = createStore({ \n    publicValue: 'visible',\n    _internalCache: new Map(),\n})\n    .extendGetters(({ get }) => ({\n        getCached: (key: string) => get()._internalCache.get(key),\n    }))\n    .restrictState(['_internalCache'])\n\n// Works\nstore.get().publicValue\nstore.get.getCached('key')\n\n// TypeScript error - _internalCache is hidden\nstore.get()._internalCache\n```\n\nRestriction applies consistently to `get`, `set`, `use`, low-level API reads and writes,\nsubscriptions, persistence, migrations, and hydration callbacks. Custom getters and setters\ndefined before restriction may intentionally provide controlled access to private values.\n\n### Plugins\n\nExtract reusable patterns into plugins:\n\n```ts\nimport { definePlugin } from 'zustand-lite'\n\n// A loading state plugin\nconst withLoading = definePlugin((store) =>\n    store\n        .extendByState({ isLoading: false, error: null as string | null })\n        .extendSetters(({ set }) => ({\n            startLoading: () => { set.isLoading(true); set.error(null) },\n            stopLoading: () => set.isLoading(false),\n            setError: (error: string) => { set.error(error); set.isLoading(false) },\n        }))\n)\n\n// Use it\nconst store = createStore({ data: null })\n    .composePlugin(withLoading)\n    .extendSetters(({ set }) => ({\n        async fetchData() {\n            set.startLoading()\n            try {\n                const data = await api.getData()\n                set.data(data)\n            } catch (error) {\n                set.setError(error instanceof Error ? error.message : String(error))\n            } finally {\n                set.stopLoading()\n            }\n        },\n    }))\n```\n\nThe built-in `withReset` plugin restores the complete initial state assembled through\n`createStore` and `extendByState`:\n\n```ts\nimport { createStore, withReset } from 'zustand-lite'\n\nconst store = createStore({ count: 0 })\n    .composePlugin(withReset)\n\nstore.set.count(10)\nstore.set.reset()\n```\n\n### Middleware\n\n```ts\nconst store = createStore(\n    { count: 0 },\n    {\n        name: 'CounterStore',\n        middlewares: {\n            devtools: true,  // Redux DevTools integration\n            persist: true,   // localStorage persistence\n        },\n    }\n)\n```\n\nActions show up in DevTools with clear labels like `CounterStore/count` or `CounterStore/myOwnAction`.\n\nBoth middleware entries also accept their corresponding Zustand options objects. Persistence\nautomatically uses a key derived from the global application name and store name:\n\n```ts\nconst store = createStore(\n    { session: null as { id: string } | null, temporary: '' },\n    {\n        name: 'SessionStore',\n        middlewares: {\n            persist: {\n                partialize: ({ session }) => ({ session }),\n            },\n        },\n    }\n)\n\nconst persisted = await store.api.persist.read()\nawait store.api.persist.rehydrate()\nstore.api.persist.clearStorage()\n```\n\n`store.api.persist` also exposes Zustand's hydration listeners, status, options, and storage\ncontrols. `read()` returns the persisted state without its storage envelope. Restricted fields\nare removed from storage reads and writes as well as persistence callbacks.\n\nWhen browser storage is unavailable, such as during SSR, persistence uses a no-op fallback.\nThis keeps the persist API and hydration lifecycle available without accessing `localStorage`.\n\nUse `setGlobalConfig` once during application setup to customize the DevTools application name\nor enable action logging for every store:\n\n```ts\nimport { setGlobalConfig } from 'zustand-lite'\n\nsetGlobalConfig({ appName: 'My App', logging: true })\n```\n\nSelector subscriptions are available by default, without receiving unrelated updates:\n\n```ts\nconst unsubscribe = store.api.subscribe(\n    (state) => state.count,\n    (count, previousCount) => {\n        console.log({ count, previousCount })\n    },\n    { fireImmediately: true }\n)\n\nunsubscribe()\n```\n\nSet `fireImmediately` to `true` to call the listener as soon as it subscribes. The\ncurrent selected value is passed as both `count` and `previousCount`; without this\noption, the listener runs only after the selected value changes.\n\n---\n\n## API Reference\n\n### Exports\n\n- `createStore` — create a Zustand Lite store\n- `definePlugin` — define a reusable, type-safe plugin\n- `setGlobalConfig` — configure the application name and global action logging\n- `withOptions` — configure options for a custom getter hook\n- `withReset` — add a setter that restores the complete initial state\n- `StoreApi`, `StoreApiEncapsulated`, `UseGetterOptions` — public TypeScript types\n\n### `createStore(initialState, options?)`\n\nCreates a store with auto-generated hooks and setters.\n\n**Options:**\n| Key | Type | Description |\n|-----|------|-------------|\n| `name` | `string` | Name for DevTools |\n| `middlewares` | `{ devtools?, persist? }` | Enable middleware |\n\n### Chainable methods\n\n| Method | Description |\n|--------|-------------|\n| `.extendByState(obj \\| fn)` | Add more state fields |\n| `.extendGetters(fn)` | Add computed values |\n| `.extendSetters(fn)` | Add custom actions |\n| `.composePlugin(plugin)` | Apply a plugin |\n| `.restrictState(keys?)` | Hide fields from public API |\n\n### Store interface\n\n| Property | Description |\n|----------|-------------|\n| `store.use.field()` | React hook for `field` |\n| `store.use(selector, eq?)` | Hook with custom selector |\n| `store.use(['a', 'b'])` | Hook for multiple fields |\n| `store.get()` | Current state (no subscription) |\n| `store.get.getter()` | Call a computed getter |\n| `store.set.field(value)` | Update a field |\n| `store.set(partial)` | Merge partial state |\n| `store.set(fn)` | Update with function |\n| `store.api` | Low-level wrapped Zustand API |\n| `store.api.subscribe(...)` | Subscribe to state or a selected value |\n| `store.api.persist` | Persistence controls when persist middleware is enabled |\n\n---\n\n## Testing\n\nNo mocks needed. Just use the store directly:\n\n```ts\nimport { store } from './store'\n\ntest('increment works', () => {\n    store.set.count(0)\n    store.set.increment()\n    expect(store.get().count).toBe(1)\n})\n\ntest('component updates', () => {\n    render(<Counter />)\n    act(() => store.set.count(5))\n    expect(screen.getByText('5')).toBeInTheDocument()\n})\n```\n\n---\n\n## Roadmap\n\n- [x] Custom equality for parameterized getters\n- [ ] Auto-generate deep setters (currently only first level)\n- [x] Subscribe with selector middleware\n\n---\n\n## Credits\n\nBuilt on [Zustand](https://github.com/pmndrs/zustand). Inspired by [zustand-x](https://github.com/udecode/zustand-x).\n\n## License\n\nMIT\n","readmeFilename":"README.md"}