{"_id":"@sucoza/zustand-devtools-plugin","_rev":"6-2a001756f70ec1efde13a2857029aa4a","name":"@sucoza/zustand-devtools-plugin","dist-tags":{"latest":"0.1.9"},"versions":{"0.1.3-0":{"name":"@sucoza/zustand-devtools-plugin","version":"0.1.3-0","keywords":["devtools","zustand","state-management","store","inspector","debugging","tanstack","react"],"author":{"name":"tyevco"},"license":"MIT","_id":"@sucoza/zustand-devtools-plugin@0.1.3-0","maintainers":[{"name":"tyevco","email":"npm@tyev.co"}],"dist":{"shasum":"83a1a6bb3148cc6830d010577144f189360c458b","tarball":"https://registry.npmjs.org/@sucoza/zustand-devtools-plugin/-/zustand-devtools-plugin-0.1.3-0.tgz","fileCount":3,"integrity":"sha512-8r4Zg/ciwL/GNVKLhrqy1jFfk3aoTL+EgyFMSyqKKg/oWO7QCuWc7eNGiLYq8TLvMlWoPjIFbvV+Re3XpmBVug==","signatures":[{"sig":"MEUCIBk9ayzKMJ5HpUlKrslKWXAJiAy6ObbspFal4hUzNpCZAiEA1NXyJWcb4cTesjggr5KgvbHAgzAJ1HUwrmi1uSLYsDA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7168},"main":"dist/index.js","type":"module","_from":"file:sucoza-zustand-devtools-plugin-0.1.3-0.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"rollup -c","format":"prettier --write src/**/*.{ts,tsx}","example":"cd example && npm run dev","test:ui":"vitest --ui","typecheck":"tsc --noEmit"},"_npmUser":{"name":"tyevco","email":"npm@tyev.co"},"_resolved":"/tmp/30411c573d9acab3045ff0748ff79458/sucoza-zustand-devtools-plugin-0.1.3-0.tgz","_integrity":"sha512-8r4Zg/ciwL/GNVKLhrqy1jFfk3aoTL+EgyFMSyqKKg/oWO7QCuWc7eNGiLYq8TLvMlWoPjIFbvV+Re3XpmBVug==","_npmVersion":"10.8.2","description":"Zustand store inspector plugin for TanStack DevTools","directories":{},"_nodeVersion":"20.19.4","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.542.0","@tanstack/devtools":"^0.6.2","@sucoza/plugin-core":"0.1.2","@sucoza/devtools-common":"0.1.2","use-sync-external-store":"^1.5.0","@sucoza/shared-components":"0.1.2","@tanstack/devtools-event-client":"^0.2.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.3","jsdom":"^26.1.0","react":"^19.1.1","tslib":"^2.8.1","eslint":"^8.57.0","rollup":"^4.49.0","vitest":"^3.2.4","zustand":"^5.0.8","prettier":"^3.6.2","react-dom":"^19.1.1","typescript":"^5.9.2","@types/node":"^24.3.0","@types/react":"^19.1.12","@types/react-dom":"^19.1.9","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.0.2","rollup-plugin-postcss":"^4.0.2","@testing-library/react":"^16.3.0","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@testing-library/jest-dom":"^6.8.0","@typescript-eslint/parser":"^8.41.0","eslint-plugin-react-hooks":"^5.2.0","@rollup/plugin-node-resolve":"^16.0.1","@typescript-eslint/eslint-plugin":"^8.41.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=18.0.0","zustand":">=5.0.8","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-devtools-plugin_0.1.3-0_1756672823531_0.529377644734035","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@sucoza/zustand-devtools-plugin","version":"0.1.5","keywords":["devtools","zustand","state-management","store","inspector","debugging","tanstack","react"],"author":{"name":"tyevco"},"license":"MIT","_id":"@sucoza/zustand-devtools-plugin@0.1.5","maintainers":[{"name":"tyevco","email":"npm@tyev.co"}],"dist":{"shasum":"8fbbad616e8398d2300dd024baa93d384f439db9","tarball":"https://registry.npmjs.org/@sucoza/zustand-devtools-plugin/-/zustand-devtools-plugin-0.1.5.tgz","fileCount":3,"integrity":"sha512-2q0gcJ9MxrWKkXhHpvaBULNfgg6skeFfPehPPjG8DQJA/zghJ3G6PrSXiSRtV4JZisomh0Yp6lebj5439JqxVQ==","signatures":[{"sig":"MEUCIAliUeGAVGRSTYIRz2TNICRZRia3a8YoAhTMactxlL9GAiEAoS8+yExGt0DueIsaH46eQ4TG3nVWLwlWoeeNXRrUm9U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7166},"main":"dist/index.js","type":"module","_from":"file:sucoza-zustand-devtools-plugin-0.1.5.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"rollup -c","format":"prettier --write src/**/*.{ts,tsx}","example":"cd example && npm run dev","test:ui":"vitest --ui","typecheck":"tsc --noEmit"},"_npmUser":{"name":"tyevco","email":"npm@tyev.co"},"_resolved":"/tmp/1088424173a6c60a16c533d501ac576e/sucoza-zustand-devtools-plugin-0.1.5.tgz","_integrity":"sha512-2q0gcJ9MxrWKkXhHpvaBULNfgg6skeFfPehPPjG8DQJA/zghJ3G6PrSXiSRtV4JZisomh0Yp6lebj5439JqxVQ==","_npmVersion":"10.8.2","description":"Zustand store inspector plugin for TanStack DevTools","directories":{},"_nodeVersion":"20.19.4","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.542.0","@tanstack/devtools":"^0.6.2","@sucoza/plugin-core":"0.1.5","@sucoza/devtools-common":"0.1.5","use-sync-external-store":"^1.5.0","@sucoza/shared-components":"0.1.5","@tanstack/devtools-event-client":"^0.2.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.3","jsdom":"^26.1.0","react":"^19.1.1","tslib":"^2.8.1","eslint":"^8.57.0","rollup":"^4.49.0","vitest":"^3.2.4","zustand":"^5.0.8","prettier":"^3.6.2","react-dom":"^19.1.1","typescript":"^5.9.2","@types/node":"^24.3.0","@types/react":"^19.1.12","@types/react-dom":"^19.1.9","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.0.2","rollup-plugin-postcss":"^4.0.2","@testing-library/react":"^16.3.0","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@testing-library/jest-dom":"^6.8.0","@typescript-eslint/parser":"^8.41.0","eslint-plugin-react-hooks":"^5.2.0","@rollup/plugin-node-resolve":"^16.0.1","@typescript-eslint/eslint-plugin":"^8.41.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=18.0.0","zustand":">=5.0.8","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-devtools-plugin_0.1.5_1756780659859_0.9543941299426115","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@sucoza/zustand-devtools-plugin","version":"0.1.6","keywords":["devtools","zustand","state-management","store","inspector","debugging","tanstack","react"],"author":{"name":"tyevco"},"license":"MIT","_id":"@sucoza/zustand-devtools-plugin@0.1.6","maintainers":[{"name":"tyevco","email":"npm@tyev.co"}],"dist":{"shasum":"f76f9ca0ff9422c875cbe1bcd87e86e1520461b4","tarball":"https://registry.npmjs.org/@sucoza/zustand-devtools-plugin/-/zustand-devtools-plugin-0.1.6.tgz","fileCount":3,"integrity":"sha512-aDMp6qFp9rv3z6yXUu+v+DqkgBiRTTNBMxWeVRZ1+aJuW3Pv3rRPhFNax9VoUeNrf4kz0DUVuWvPE1BuPykPzA==","signatures":[{"sig":"MEUCIEJJvM/gTnfXqM6J4VHm98bAne9Gr0fm2QffjVawFVyzAiEA/ERqp1TlajtvICqLpKjVx83Nc6V1QtON8IDBzDfjtDA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7166},"main":"dist/index.js","type":"module","_from":"file:sucoza-zustand-devtools-plugin-0.1.6.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"rollup -c","format":"prettier --write src/**/*.{ts,tsx}","example":"cd example && npm run dev","test:ui":"vitest --ui","typecheck":"tsc --noEmit"},"_npmUser":{"name":"tyevco","email":"npm@tyev.co"},"_resolved":"/tmp/87c99bc2099d074d04e0d0c2b78dde24/sucoza-zustand-devtools-plugin-0.1.6.tgz","_integrity":"sha512-aDMp6qFp9rv3z6yXUu+v+DqkgBiRTTNBMxWeVRZ1+aJuW3Pv3rRPhFNax9VoUeNrf4kz0DUVuWvPE1BuPykPzA==","_npmVersion":"10.8.2","description":"Zustand store inspector plugin for TanStack DevTools","directories":{},"_nodeVersion":"20.19.4","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.542.0","@tanstack/devtools":"^0.6.2","@sucoza/plugin-core":"0.1.5","@sucoza/devtools-common":"0.1.5","use-sync-external-store":"^1.5.0","@sucoza/shared-components":"0.1.5","@tanstack/devtools-event-client":"^0.2.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.3","jsdom":"^26.1.0","react":"^19.1.1","tslib":"^2.8.1","eslint":"^8.57.0","rollup":"^4.49.0","vitest":"^3.2.4","zustand":"^5.0.8","prettier":"^3.6.2","react-dom":"^19.1.1","typescript":"^5.9.2","@types/node":"^24.3.0","@types/react":"^19.1.12","@types/react-dom":"^19.1.9","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.0.2","rollup-plugin-postcss":"^4.0.2","@testing-library/react":"^16.3.0","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@testing-library/jest-dom":"^6.8.0","@typescript-eslint/parser":"^8.41.0","eslint-plugin-react-hooks":"^5.2.0","@rollup/plugin-node-resolve":"^16.0.1","@typescript-eslint/eslint-plugin":"^8.41.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=18.0.0","zustand":">=5.0.8","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-devtools-plugin_0.1.6_1756825489962_0.4599925132239753","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@sucoza/zustand-devtools-plugin","version":"0.1.7","keywords":["devtools","zustand","state-management","store","inspector","debugging","tanstack","react"],"author":{"name":"tyevco"},"license":"MIT","_id":"@sucoza/zustand-devtools-plugin@0.1.7","maintainers":[{"name":"tyevco","email":"npm@tyev.co"}],"dist":{"shasum":"6a253f3ea9d2b579e08b195399a26c9e72a18d54","tarball":"https://registry.npmjs.org/@sucoza/zustand-devtools-plugin/-/zustand-devtools-plugin-0.1.7.tgz","fileCount":3,"integrity":"sha512-rZKlY5Pj3xN+6jyf8tbwMCQR3jwNoqAnbDbgmMb2zraL6jnWHj+q+cSpKVwc65dFLyfX20Pv5AaRdd4DPs4JYQ==","signatures":[{"sig":"MEYCIQDOpic+9E3Yzo+fWKH70lLhkdvROcOQ+mZLMctHGRsWPwIhALWTCsWp7lS8VAcuyernToQDlA7Y8YQrm+3/FhnKbC+c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7166},"main":"dist/index.js","type":"module","_from":"file:sucoza-zustand-devtools-plugin-0.1.7.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"rollup -c","format":"prettier --write src/**/*.{ts,tsx}","example":"cd example && npm run dev","test:ui":"vitest --ui","typecheck":"tsc --noEmit"},"_npmUser":{"name":"tyevco","email":"npm@tyev.co"},"_resolved":"/tmp/7a71243993b6cbd5b18f5d32dfffdc0f/sucoza-zustand-devtools-plugin-0.1.7.tgz","_integrity":"sha512-rZKlY5Pj3xN+6jyf8tbwMCQR3jwNoqAnbDbgmMb2zraL6jnWHj+q+cSpKVwc65dFLyfX20Pv5AaRdd4DPs4JYQ==","_npmVersion":"10.8.2","description":"Zustand store inspector plugin for TanStack DevTools","directories":{},"_nodeVersion":"20.19.4","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.542.0","@tanstack/devtools":"^0.6.2","@sucoza/plugin-core":"0.1.7","@sucoza/devtools-common":"0.1.7","use-sync-external-store":"^1.5.0","@sucoza/shared-components":"0.1.7","@tanstack/devtools-event-client":"^0.2.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.4","jsdom":"^26.1.0","react":"^19.1.1","tslib":"^2.8.1","eslint":"^8.57.0","rollup":"^4.49.0","vitest":"^3.2.4","zustand":"^5.0.8","prettier":"^3.6.2","react-dom":"^19.1.1","typescript":"^5.9.2","@types/node":"^24.3.0","@types/react":"^19.1.12","@types/react-dom":"^19.1.9","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.0.2","rollup-plugin-postcss":"^4.0.2","@testing-library/react":"^16.3.0","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@testing-library/jest-dom":"^6.8.0","@typescript-eslint/parser":"^8.41.0","eslint-plugin-react-hooks":"^5.2.0","@rollup/plugin-node-resolve":"^16.0.1","@typescript-eslint/eslint-plugin":"^8.41.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=18.0.0","zustand":">=5.0.8","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-devtools-plugin_0.1.7_1756828372973_0.9481199629921375","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@sucoza/zustand-devtools-plugin","version":"0.1.8","keywords":["devtools","zustand","state-management","store","inspector","debugging","tanstack","react"],"author":{"name":"tyevco"},"license":"MIT","_id":"@sucoza/zustand-devtools-plugin@0.1.8","maintainers":[{"name":"tyevco","email":"npm@tyev.co"}],"dist":{"shasum":"330754c6f2a0f26f8b1601306b14b15fd6135469","tarball":"https://registry.npmjs.org/@sucoza/zustand-devtools-plugin/-/zustand-devtools-plugin-0.1.8.tgz","fileCount":3,"integrity":"sha512-yORVMPvjyGgOC5m+w/EsXf8TeeY/0yiw1Fz/m7k8PNJNZnARVR1Ct+Srzmi/vWUqfjGWzofRUSFphM8+XA4FsQ==","signatures":[{"sig":"MEUCIH4lJl67/zLj5mDd21C6p6arKx2C1RXsCFhYbsoy5gHPAiEAjpa95ZpPEhLdxK0blw6dmFGUEJMV7K6qGQbupIUiRQY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7166},"main":"dist/index.js","type":"module","_from":"file:sucoza-zustand-devtools-plugin-0.1.8.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"rollup -c","format":"prettier --write src/**/*.{ts,tsx}","example":"cd example && npm run dev","test:ui":"vitest --ui","typecheck":"tsc --noEmit"},"_npmUser":{"name":"tyevco","email":"npm@tyev.co"},"_resolved":"/tmp/9d1e54bd8d379620f3d67dfccd552373/sucoza-zustand-devtools-plugin-0.1.8.tgz","_integrity":"sha512-yORVMPvjyGgOC5m+w/EsXf8TeeY/0yiw1Fz/m7k8PNJNZnARVR1Ct+Srzmi/vWUqfjGWzofRUSFphM8+XA4FsQ==","_npmVersion":"10.8.2","description":"Zustand store inspector plugin for TanStack DevTools","directories":{},"_nodeVersion":"20.19.4","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.542.0","@tanstack/devtools":"^0.6.3","@sucoza/plugin-core":"0.1.7","@sucoza/devtools-common":"0.1.7","use-sync-external-store":"^1.5.0","@sucoza/shared-components":"0.1.7","@tanstack/devtools-event-client":"^0.2.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.4","jsdom":"^26.1.0","react":"^19.1.1","tslib":"^2.8.1","eslint":"^8.57.1","rollup":"^4.50.0","vitest":"^3.2.4","zustand":"^5.0.8","prettier":"^3.6.2","react-dom":"^19.1.1","typescript":"^5.9.2","@types/node":"^24.3.0","@types/react":"^19.1.12","@types/react-dom":"^19.1.9","eslint-plugin-react":"^7.37.5","@vitejs/plugin-react":"^5.0.2","rollup-plugin-postcss":"^4.0.2","@testing-library/react":"^16.3.0","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@testing-library/jest-dom":"^6.8.0","@typescript-eslint/parser":"^8.42.0","eslint-plugin-react-hooks":"^5.2.0","@rollup/plugin-node-resolve":"^16.0.1","@typescript-eslint/eslint-plugin":"^8.42.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=18.0.0","zustand":">=5.0.8","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-devtools-plugin_0.1.8_1756836008301_0.3186019481830873","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@sucoza/zustand-devtools-plugin","version":"0.1.9","description":"Zustand store inspector plugin for TanStack DevTools","type":"module","main":"dist/index.js","module":"dist/index.esm.js","types":"dist/index.d.ts","keywords":["devtools","zustand","state-management","store","inspector","debugging","tanstack","react"],"author":{"name":"tyevco"},"license":"MIT","peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","zustand":">=5.0.8"},"dependencies":{"@tanstack/devtools":"^0.6.3","@tanstack/devtools-event-client":"^0.2.3","clsx":"^2.1.1","lucide-react":"^0.542.0","use-sync-external-store":"^1.5.0","@sucoza/plugin-core":"0.1.9","@sucoza/shared-components":"0.1.9","@sucoza/devtools-common":"0.1.9"},"devDependencies":{"@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-node-resolve":"^16.0.1","@rollup/plugin-typescript":"^12.1.4","@testing-library/jest-dom":"^6.8.0","@testing-library/react":"^16.3.0","@types/node":"^24.3.0","@types/react":"^19.1.12","@types/react-dom":"^19.1.9","@typescript-eslint/eslint-plugin":"^8.42.0","@typescript-eslint/parser":"^8.42.0","@vitejs/plugin-react":"^5.0.2","eslint":"^8.57.1","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.2.0","jsdom":"^26.1.0","prettier":"^3.6.2","react":"^19.1.1","react-dom":"^19.1.1","rollup":"^4.50.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-postcss":"^4.0.2","tslib":"^2.8.1","typescript":"^5.9.2","vite":"^7.1.4","vitest":"^3.2.4","zustand":"^5.0.8"},"scripts":{"build":"rollup -c","dev":"rollup -c -w","example":"cd example && npm run dev","test":"vitest","test:ui":"vitest --ui","typecheck":"tsc --noEmit","lint":"eslint src --ext .ts,.tsx","format":"prettier --write src/**/*.{ts,tsx}"},"_id":"@sucoza/zustand-devtools-plugin@0.1.9","_integrity":"sha512-yFRT662wIhWCPLpx4DhuilpOu6gkxYEmXZgS5PAWWV1oVQWBFrSDtVSay35RDnNOuYBuXkFaYkkm0bSeH9jvgQ==","_resolved":"/tmp/b6f004a80c2e5b1f388f47caa9055108/sucoza-zustand-devtools-plugin-0.1.9.tgz","_from":"file:sucoza-zustand-devtools-plugin-0.1.9.tgz","_nodeVersion":"20.19.4","_npmVersion":"10.8.2","dist":{"integrity":"sha512-yFRT662wIhWCPLpx4DhuilpOu6gkxYEmXZgS5PAWWV1oVQWBFrSDtVSay35RDnNOuYBuXkFaYkkm0bSeH9jvgQ==","shasum":"9a608baad24a8e67d2a69da0a6b0a980ad4cfc7a","tarball":"https://registry.npmjs.org/@sucoza/zustand-devtools-plugin/-/zustand-devtools-plugin-0.1.9.tgz","fileCount":17,"unpackedSize":151791,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCv5/JPciA33c2IGM6KbsHQEBH2EidLRPrNaBGejCTIeQIhANeCVRvxkmCXfFHlPAEW8x3ebxe9Kffy4Ss3b3Mh/Mu0"}]},"_npmUser":{"name":"tyevco","email":"npm@tyev.co"},"directories":{},"maintainers":[{"name":"tyevco","email":"npm@tyev.co"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/zustand-devtools-plugin_0.1.9_1756838356989_0.4882394072091998"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-31T20:40:23.399Z","modified":"2025-09-02T18:39:17.339Z","0.1.3-0":"2025-08-31T20:40:23.940Z","0.1.5":"2025-09-02T02:37:40.044Z","0.1.6":"2025-09-02T15:04:50.173Z","0.1.7":"2025-09-02T15:52:53.115Z","0.1.8":"2025-09-02T18:00:08.484Z","0.1.9":"2025-09-02T18:39:17.173Z"},"author":{"name":"tyevco"},"license":"MIT","keywords":["devtools","zustand","state-management","store","inspector","debugging","tanstack","react"],"description":"Zustand store inspector plugin for TanStack DevTools","maintainers":[{"name":"tyevco","email":"npm@tyev.co"}],"readme":"# Zustand DevTools Plugin\n\nA custom plugin for TanStack DevTools that allows you to inspect and debug Zustand stores in real-time.\n\n## Features\n\n- 🔍 **Real-time State Inspection**: View the current state of all registered Zustand stores\n- 📊 **Action History**: Track state changes with before/after diffs\n- 🎯 **Store Selection**: Click on any store to inspect its state in detail\n- 🔎 **Search**: Filter stores by name\n- 🔄 **Auto-refresh**: Toggle automatic updates when state changes\n- 📝 **JSON View**: Expandable/collapsible JSON representation of store states\n\n## Installation\n\n```bash\nnpm install @sucoza/zustand-devtools-plugin\n```\n\n## Usage\n\n### 1. Basic Setup with `createDevToolsStore`\n\nThe easiest way to integrate is using the `createDevToolsStore` wrapper:\n\n```typescript\nimport { create } from 'zustand';\nimport { createDevToolsStore } from '@sucoza/zustand-devtools-plugin';\n\ninterface UserState {\n  user: User | null;\n  login: (email: string) => void;\n  logout: () => void;\n}\n\n// Wrap your store creation with createDevToolsStore\n// The store hook type is preserved for full type safety\nexport const useUserStore = createDevToolsStore(\n  'UserStore', // Store name for DevTools\n  () => create<UserState>()((set) => ({\n    user: null,\n    login: (email) => {\n      // Your login logic\n    },\n    logout: () => set({ user: null }),\n  }))\n);\n\n// useUserStore is now fully typed with all UserState properties\n```\n\n### 2. Manual Registration (for existing stores)\n\nIf you have existing stores, you can register them manually:\n\n```typescript\nimport { useRegisterZustandStore } from '@sucoza/zustand-devtools-plugin';\n\n// In your component\nfunction MyComponent() {\n  // Register an existing store\n  useRegisterZustandStore('MyStore', useMyStore);\n  \n  // Your component logic...\n}\n```\n\n### 3. Add the Plugin to TanStack DevTools\n\n```tsx\nimport { TanStackDevtools } from '@tanstack/react-devtools';\nimport { ZustandDevToolsPanel } from '@sucoza/zustand-devtools-plugin';\n\nfunction App() {\n  return (\n    <>\n      {/* Your app content */}\n      \n      <TanStackDevtools\n        plugins={[\n          {\n            name: 'Zustand Stores',\n            render: () => <ZustandDevToolsPanel />,\n          },\n        ]}\n      />\n    </>\n  );\n}\n```\n\n## Advanced Usage\n\n### Using the DevTools Middleware\n\nFor more detailed action tracking, use the `devtoolsMiddleware`:\n\n```typescript\nimport { devtoolsMiddleware } from '@sucoza/zustand-devtools-plugin';\n\nconst useStore = create<State>()(\n  devtoolsMiddleware((set) => ({\n    // Your store configuration\n  }))\n);\n```\n\n### Programmatic Access\n\nYou can also access store information programmatically:\n\n```typescript\nimport { zustandRegistry } from '@sucoza/zustand-devtools-plugin';\n\n// Get all registered stores\nconst stores = zustandRegistry.getStores();\n\n// Get action history\nconst history = zustandRegistry.getActionHistory();\n\n// Clear action history\nzustandRegistry.clearActionHistory();\n```\n\n## Example\n\nSee the `example` directory for a complete working example with multiple stores:\n- User authentication store\n- Todo list store\n- Theme preferences store\n- Shopping cart store\n\n## How It Works\n\n1. **Event Client**: Uses TanStack's event system to communicate between your app and the DevTools\n2. **Store Registry**: Maintains a registry of all Zustand stores and subscribes to their changes\n3. **DevTools Panel**: React component that displays store states and action history\n4. **Automatic Integration**: `createDevToolsStore` wrapper handles all the setup automatically\n\n## API Reference\n\n### `createDevToolsStore(name, storeCreator)`\nCreates a Zustand store with automatic DevTools registration.\n\n### `useRegisterZustandStore(name, store)`\nReact hook to register an existing store with DevTools.\n\n### `devtoolsMiddleware(config)`\nMiddleware for enhanced action tracking.\n\n### `ZustandDevToolsPanel`\nReact component for the DevTools panel UI.\n\n## License\n\nMIT\n\n---\n\nPart of the @sucoza TanStack DevTools ecosystem.","readmeFilename":"README.md"}