{"_id":"@stainless-code/persist","_rev":"8-3e33c0b13ebfb5e22d3f1b4a1a2130fe","name":"@stainless-code/persist","dist-tags":{"latest":"0.4.1"},"versions":{"0.0.0":{"name":"@stainless-code/persist","version":"0.0.0","keywords":["hydration","indexeddb","localstorage","persist","persistence","state","store","tanstack"],"license":"MIT","_id":"@stainless-code/persist@0.0.0","maintainers":[{"name":"sutusebastian","email":"sebiitv@gmail.com"}],"homepage":"https://github.com/stainless-code/persist#readme","bugs":{"url":"https://github.com/stainless-code/persist/issues"},"dist":{"shasum":"a2e30a1088f2475f96e813fe736cec46755aebbe","tarball":"https://registry.npmjs.org/@stainless-code/persist/-/persist-0.0.0.tgz","fileCount":16,"integrity":"sha512-2PSiyDWvk4s/Vd+QPh3goumSQUPJhvT8ceSdfoKz6NBvGgDUl8M5vqtu+iQEsN4wDdXtj5cmA/MDSEEdozWvug==","signatures":[{"sig":"MEYCIQDUQtz9XGEM6kRMuujjEpaxorwrB8IpnqxCls5Xtt7fEgIhAJMEz4zt5iJAy+pyH5tI8G7KJDieuoiNOxhkfPadCViW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65745},"type":"module","engines":{"bun":">=1.0.0","node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./idb":{"types":"./dist/persist-idb.d.mts","import":"./dist/persist-idb.mjs"},"./react":{"types":"./dist/use-hydrated.d.mts","import":"./dist/use-hydrated.mjs"},"./seroval":{"types":"./dist/persist-seroval.d.mts","import":"./dist/persist-seroval.mjs"},"./tanstack-store":{"types":"./dist/persist-tanstack.d.mts","import":"./dist/persist-tanstack.mjs"}},"gitHead":"debd6896782e5bd239cdaabf3aef0ded438ded06","scripts":{"fix":"bun run lint:fix && bun run format","lint":"oxlint --no-error-on-unmatched-pattern","test":"bun test ./src","build":"tsdown","check":"bun run build && bun run --parallel format:check lint:ci test test:dom typecheck","clean":"git clean -xdf -e .env","format":"oxfmt --no-error-on-unmatched-pattern","lint:ci":"oxlint --quiet","prepare":"husky || true","release":"changeset publish","version":"changeset version && bun run format CHANGELOG.md","docs:api":"typedoc","lint:fix":"bun run lint --fix","test:dom":"vitest run","typecheck":"tsgo --noEmit","fix:changes":"bun run lint:fix:changes && bun run format:changes","lint-staged":"lint-staged","format:check":"oxfmt --check --no-error-on-unmatched-pattern","lint:changes":"bun scripts/run-on-changed-files.ts lint","check-updates":"bun update -i --latest","format:changes":"bun scripts/run-on-changed-files.ts format","prepublishOnly":"bun run check","lint:fix:changes":"bun scripts/run-on-changed-files.ts lint:fix"},"_npmUser":{"name":"sutusebastian","email":"sebiitv@gmail.com"},"repository":{"url":"git+https://github.com/stainless-code/persist.git","type":"git"},"_npmVersion":"10.9.8","description":"Hydration-aware persistence middleware for reactive stores (storage × codec seams, TanStack Store adapters, React hydration hook)","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"9.1.7","jsdom":"29.1.1","oxfmt":"0.56.0","react":"19.2.7","oxlint":"1.71.0","tsdown":"0.22.3","vitest":"4.1.9","seroval":"1.5.4","typedoc":"0.28.19","react-dom":"19.2.7","@types/bun":"1.3.14","idb-keyval":"6.2.6","typescript":"6.0.3","@types/node":"26.0.1","lint-staged":"17.0.8","@types/react":"19.2.17","@changesets/cli":"2.31.0","@tanstack/store":"0.11.0","@types/react-dom":"19.2.3","@testing-library/dom":"10.4.1","@testing-library/react":"16.3.2","@typescript/native-preview":"7.0.0-dev.20260628.1","@changesets/changelog-github":"0.7.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","seroval":">=1.0.0","idb-keyval":">=4.0.0","@tanstack/store":">=0.10.0"},"peerDependenciesMeta":{"react":{"optional":true},"seroval":{"optional":true},"idb-keyval":{"optional":true},"@tanstack/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/persist_0.0.0_1783087127348_0.40175613140967936","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@stainless-code/persist","version":"0.1.0","keywords":["hydration","indexeddb","localstorage","persist","persistence","state","store","tanstack","tanstack-intent"],"license":"MIT","_id":"@stainless-code/persist@0.1.0","maintainers":[{"name":"sutusebastian","email":"sebiitv@gmail.com"}],"homepage":"https://github.com/stainless-code/persist#readme","bugs":{"url":"https://github.com/stainless-code/persist/issues"},"dist":{"shasum":"206191c4be7f2fe9c44c7fb13f0453c9388e446b","tarball":"https://registry.npmjs.org/@stainless-code/persist/-/persist-0.1.0.tgz","fileCount":17,"integrity":"sha512-wOvFFpHKtsvR45jNnmf3dS+v9Bj3TDZusfGsICqMguGR9tB5Lo7ZVEUpgMrtrSSrKAM4n37oKtrk8mmOoZQCbw==","signatures":[{"sig":"MEQCIGRsV0oUI+NzoJnfIkmeSKeLQrSazruY+Tpeh0AzKZAcAiAISb5zgS5/Qa+FmtrxcOTl8sJa2WTFAmFnuKfFB2anaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75687},"type":"module","engines":{"bun":">=1.0.0","node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./idb":{"types":"./dist/persist-idb.d.mts","import":"./dist/persist-idb.mjs"},"./react":{"types":"./dist/use-hydrated.d.mts","import":"./dist/use-hydrated.mjs"},"./seroval":{"types":"./dist/persist-seroval.d.mts","import":"./dist/persist-seroval.mjs"},"./tanstack-store":{"types":"./dist/persist-tanstack.d.mts","import":"./dist/persist-tanstack.mjs"}},"gitHead":"2262194604c10fd055ee1c83260e856543bf7197","scripts":{"fix":"bun run lint:fix && bun run format","lint":"oxlint --no-error-on-unmatched-pattern","test":"bun test ./src","build":"tsdown","check":"bun run build && bun run --parallel format:check lint:ci test test:dom typecheck","clean":"git clean -xdf -e .env","format":"oxfmt --no-error-on-unmatched-pattern","lint:ci":"oxlint --quiet","prepare":"husky || true","release":"changeset publish","version":"changeset version && bun run format CHANGELOG.md","docs:api":"typedoc","lint:fix":"bun run lint --fix","test:dom":"vitest run","typecheck":"tsgo --noEmit","fix:changes":"bun run lint:fix:changes && bun run format:changes","lint-staged":"lint-staged","format:check":"oxfmt --check --no-error-on-unmatched-pattern","intent:stale":"intent stale","lint:changes":"bun scripts/run-on-changed-files.ts lint","check-updates":"bun update -i --latest","format:changes":"bun scripts/run-on-changed-files.ts format","prepublishOnly":"bun run check && bun run intent:validate","intent:validate":"intent validate","lint:fix:changes":"bun scripts/run-on-changed-files.ts lint:fix"},"_npmUser":{"name":"sutusebastian","email":"sebiitv@gmail.com"},"repository":{"url":"git+https://github.com/stainless-code/persist.git","type":"git"},"_npmVersion":"10.9.8","description":"Hydration-aware persistence middleware for reactive stores (storage × codec seams, TanStack Store adapters, React hydration hook)","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"9.1.7","jsdom":"29.1.1","oxfmt":"0.56.0","react":"19.2.7","oxlint":"1.71.0","tsdown":"0.22.3","vitest":"4.1.9","seroval":"1.5.4","typedoc":"0.28.19","react-dom":"19.2.7","@types/bun":"1.3.14","idb-keyval":"6.2.6","typescript":"6.0.3","@types/node":"26.0.1","lint-staged":"17.0.8","@types/react":"19.2.17","@changesets/cli":"2.31.0","@tanstack/store":"0.11.0","@tanstack/intent":"0.3.4","@types/react-dom":"19.2.3","@testing-library/dom":"10.4.1","@testing-library/react":"16.3.2","@typescript/native-preview":"7.0.0-dev.20260628.1","@changesets/changelog-github":"0.7.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","seroval":">=1.0.0","idb-keyval":">=4.0.0","@tanstack/store":">=0.10.0"},"peerDependenciesMeta":{"react":{"optional":true},"seroval":{"optional":true},"idb-keyval":{"optional":true},"@tanstack/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/persist_0.1.0_1783094566199_0.3998795023138755","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@stainless-code/persist","version":"0.1.1","keywords":["hydration","indexeddb","localstorage","persist","persistence","state","store","tanstack","tanstack-intent"],"license":"MIT","_id":"@stainless-code/persist@0.1.1","maintainers":[{"name":"sutusebastian","email":"sebiitv@gmail.com"}],"homepage":"https://github.com/stainless-code/persist#readme","bugs":{"url":"https://github.com/stainless-code/persist/issues"},"dist":{"shasum":"0f785a2122bcb4f88bb11afdd3c1e1381eee2011","tarball":"https://registry.npmjs.org/@stainless-code/persist/-/persist-0.1.1.tgz","fileCount":17,"integrity":"sha512-Mj5rfmQSGIleUBr2FAwDtgE2ozwvBiEcU79C2tbEgfh52ILbTT2hS2vIBNAf0FrmBTIMGY+cHMyb1fLAEZp9YQ==","signatures":[{"sig":"MEUCIQCDLCCZmmfjufFujIJZAMT36mktsn5ctmwby74SmkBc0wIgLayatdxjlWvk21hWq+5Y1GGb7YCTDemyPO25Mr/k65A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75848},"type":"module","engines":{"bun":">=1.0.0","node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./idb":{"types":"./dist/persist-idb.d.mts","import":"./dist/persist-idb.mjs"},"./react":{"types":"./dist/use-hydrated.d.mts","import":"./dist/use-hydrated.mjs"},"./seroval":{"types":"./dist/persist-seroval.d.mts","import":"./dist/persist-seroval.mjs"},"./tanstack-store":{"types":"./dist/persist-tanstack.d.mts","import":"./dist/persist-tanstack.mjs"}},"gitHead":"bf1d28567ec61b922cde2bb1d8e8e2d754f81fd5","scripts":{"fix":"bun run lint:fix && bun run format","lint":"oxlint --no-error-on-unmatched-pattern","test":"bun test ./src","build":"tsdown","check":"bun run build && bun run --parallel format:check lint:ci test test:dom typecheck","clean":"git clean -xdf -e .env","format":"oxfmt --no-error-on-unmatched-pattern","lint:ci":"oxlint --quiet","prepare":"husky || true","release":"changeset publish","version":"changeset version && bun scripts/sync-skill-versions.ts && bun run format CHANGELOG.md","docs:api":"typedoc","lint:fix":"bun run lint --fix","test:dom":"vitest run","typecheck":"tsgo --noEmit","fix:changes":"bun run lint:fix:changes && bun run format:changes","lint-staged":"lint-staged","format:check":"oxfmt --check --no-error-on-unmatched-pattern","intent:stale":"intent stale","lint:changes":"bun scripts/run-on-changed-files.ts lint","check-updates":"bun update -i --latest","format:changes":"bun scripts/run-on-changed-files.ts format","prepublishOnly":"bun run check && bun run intent:validate","intent:validate":"intent validate","lint:fix:changes":"bun scripts/run-on-changed-files.ts lint:fix"},"_npmUser":{"name":"sutusebastian","email":"sebiitv@gmail.com"},"repository":{"url":"git+https://github.com/stainless-code/persist.git","type":"git"},"_npmVersion":"10.9.8","description":"Hydration-aware persistence middleware for reactive stores (storage × codec seams, TanStack Store adapters, React hydration hook)","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"9.1.7","jsdom":"29.1.1","oxfmt":"0.56.0","react":"19.2.7","oxlint":"1.71.0","tsdown":"0.22.3","vitest":"4.1.9","seroval":"1.5.4","typedoc":"0.28.19","react-dom":"19.2.7","@types/bun":"1.3.14","idb-keyval":"6.2.6","typescript":"6.0.3","@types/node":"26.0.1","lint-staged":"17.0.8","@types/react":"19.2.17","@changesets/cli":"2.31.0","@tanstack/store":"0.11.0","@tanstack/intent":"0.3.4","@types/react-dom":"19.2.3","@testing-library/dom":"10.4.1","@testing-library/react":"16.3.2","@typescript/native-preview":"7.0.0-dev.20260628.1","@changesets/changelog-github":"0.7.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","seroval":">=1.0.0","idb-keyval":">=4.0.0","@tanstack/store":">=0.10.0"},"peerDependenciesMeta":{"react":{"optional":true},"seroval":{"optional":true},"idb-keyval":{"optional":true},"@tanstack/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/persist_0.1.1_1783162347244_0.6590259050878942","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@stainless-code/persist","version":"0.2.0","keywords":["angular","broadcastchannel","codec","compression","cross-tab","encryption","hydration","indexeddb","jotai","localstorage","middleware","migration","mmkv","mobx","persistence","preact","react","react-native","reactive","seroval","solid","state-management","store","svelte","tanstack","tanstack-store","typescript","valtio","vue","zod","zustand"],"license":"MIT","_id":"@stainless-code/persist@0.2.0","maintainers":[{"name":"sutusebastian","email":"sebiitv@gmail.com"}],"homepage":"https://github.com/stainless-code/persist#readme","bugs":{"url":"https://github.com/stainless-code/persist/issues"},"dist":{"shasum":"867e767608e88a72056f77130cb2ce712e02d78e","tarball":"https://registry.npmjs.org/@stainless-code/persist/-/persist-0.2.0.tgz","fileCount":53,"integrity":"sha512-km2bRK3CDObfuRZ1/9KDUqlvbnvA7GuuOtJTO1LqYuJXzOp+J4Soi7crz1SgpaGrNRtChwGsYDLOAC3IGEMYoA==","signatures":[{"sig":"MEYCIQDyy9PvSyq8X0b+CjoJ5rdzVvGUBwgN2XLdfJAmYV1tIgIhAPCJOlzGXormT7UG4d/pJN9GKwwIGfwX1bxFG1q7Cz5Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@stainless-code%2fpersist@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176362},"type":"module","engines":{"bun":">=1.0.0","node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/core/index.d.mts","import":"./dist/core/index.mjs"},"./codecs/zod":{"types":"./dist/codecs/zod.d.mts","import":"./dist/codecs/zod.mjs"},"./backends/idb":{"types":"./dist/backends/idb.d.mts","import":"./dist/backends/idb.mjs"},"./sources/mobx":{"types":"./dist/sources/mobx.d.mts","import":"./dist/sources/mobx.mjs"},"./backends/mmkv":{"types":"./dist/backends/mmkv.d.mts","import":"./dist/backends/mmkv.mjs"},"./sources/jotai":{"types":"./dist/sources/jotai.d.mts","import":"./dist/sources/jotai.mjs"},"./codecs/seroval":{"types":"./dist/codecs/seroval.d.mts","import":"./dist/codecs/seroval.mjs"},"./frameworks/vue":{"types":"./dist/frameworks/vue.d.mts","import":"./dist/frameworks/vue.mjs"},"./sources/valtio":{"types":"./dist/sources/valtio.d.mts","import":"./dist/sources/valtio.mjs"},"./sources/zustand":{"types":"./dist/sources/zustand.d.mts","import":"./dist/sources/zustand.mjs"},"./backends/node-fs":{"types":"./dist/backends/node-fs.d.mts","import":"./dist/backends/node-fs.mjs"},"./frameworks/react":{"types":"./dist/frameworks/react.d.mts","import":"./dist/frameworks/react.mjs"},"./frameworks/solid":{"types":"./dist/frameworks/solid.d.mts","import":"./dist/frameworks/solid.mjs"},"./frameworks/preact":{"types":"./dist/frameworks/preact.d.mts","import":"./dist/frameworks/preact.mjs"},"./frameworks/svelte":{"types":"./dist/frameworks/svelte.d.mts","import":"./dist/frameworks/svelte.mjs"},"./backends/encrypted":{"types":"./dist/backends/encrypted.d.mts","import":"./dist/backends/encrypted.mjs"},"./frameworks/angular":{"types":"./dist/frameworks/angular.d.mts","import":"./dist/frameworks/angular.mjs"},"./transport/crosstab":{"types":"./dist/transport/crosstab.d.mts","import":"./dist/transport/crosstab.mjs"},"./backends/compressed":{"types":"./dist/backends/compressed.d.mts","import":"./dist/backends/compressed.mjs"},"./backends/secure-store":{"types":"./dist/backends/secure-store.d.mts","import":"./dist/backends/secure-store.mjs"},"./backends/async-storage":{"types":"./dist/backends/async-storage.d.mts","import":"./dist/backends/async-storage.mjs"},"./sources/tanstack-store":{"types":"./dist/sources/tanstack-store.d.mts","import":"./dist/sources/tanstack-store.mjs"},"./frameworks/svelte-store":{"types":"./dist/frameworks/svelte-store.d.mts","import":"./dist/frameworks/svelte-store.mjs"}},"gitHead":"d75117f97bf422e16e53b198460b2ba38321a81e","scripts":{"fix":"bun run lint:fix && bun run format","lint":"oxlint --no-error-on-unmatched-pattern","size":"size-limit","test":"bun test ./src","build":"tsdown","check":"bun run build && bun run --parallel format:check lint:ci test test:dom typecheck","clean":"git clean -xdf -e .env","format":"oxfmt --no-error-on-unmatched-pattern","lint:ci":"oxlint --quiet","prepare":"husky || true","release":"changeset publish","version":"changeset version && bun scripts/sync-skill-versions.ts && bun run format CHANGELOG.md","docs:api":"typedoc","lint:fix":"bun run lint --fix","test:dom":"vitest run","typecheck":"tsgo --noEmit","check:pack":"attw --pack . --profile esm-only && publint && knip","fix:changes":"bun run lint:fix:changes && bun run format:changes","lint-staged":"lint-staged","format:check":"oxfmt --check --no-error-on-unmatched-pattern","intent:stale":"intent stale","lint:changes":"bun scripts/run-on-changed-files.ts lint","check-updates":"bun update -i --latest","test:coverage":"bun test ./src --coverage --coverage-threshold=0.90","format:changes":"bun scripts/run-on-changed-files.ts format","prepublishOnly":"bun run check && bun run intent:validate && bun run check:pack && bun run size && bun run test:coverage","intent:validate":"intent validate","lint:fix:changes":"bun scripts/run-on-changed-files.ts lint:fix"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:06b2eb2d-4649-4228-addc-f2ae0025020e"}},"overrides":{"uuid":">=11.1.1"},"repository":{"url":"git+https://github.com/stainless-code/persist.git","type":"git"},"_npmVersion":"11.16.0","description":"Hydration-aware persistence for any reactive store — zero-dep persistSource core; codecs, backends, cross-tab transport, source + framework hydration adapters ship as opt-in recipes","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"vue":"^3.5.39","zod":"^4.4.3","knip":"6.24.0","mobx":"6.16.1","husky":"9.1.7","jotai":"2.20.1","jsdom":"29.1.1","oxfmt":"0.57.0","react":"19.2.7","oxlint":"1.72.0","preact":"10.29.4","svelte":"^5.56.4","tsdown":"0.22.3","valtio":"2.3.2","vitest":"4.1.9","publint":"0.3.21","seroval":"1.5.4","typedoc":"0.28.19","zustand":"5.0.14","solid-js":"^1.9.14","react-dom":"19.2.7","@types/bun":"1.3.14","idb-keyval":"6.2.6","size-limit":"12.1.0","typescript":"6.0.3","@types/node":"26.1.0","lint-staged":"17.0.8","@types/react":"19.2.17","@angular/core":"22.0.5","@changesets/cli":"2.31.0","@tanstack/store":"0.11.0","@tanstack/intent":"0.3.5","@types/react-dom":"19.2.3","expo-secure-store":"^57.0.0","react-native-mmkv":"^4.3.2","@testing-library/dom":"10.4.1","@arethetypeswrong/cli":"0.18.4","@testing-library/react":"16.3.2","@stainless-code/codemap":"0.11.1","@typescript/native-preview":"7.0.0-dev.20260705.1","@changesets/changelog-github":"0.7.0","@size-limit/preset-small-lib":"12.1.0","@react-native-async-storage/async-storage":"^3.1.1"},"peerDependencies":{"vue":">=3.3.0","zod":">=3.20.0","mobx":">=6.0.0","jotai":">=2.0.0","react":"^18.0.0 || ^19.0.0","preact":">=10.19.0","svelte":">=3.0.0","valtio":">=1.0.0","seroval":">=1.0.0","zustand":">=4.0.0","solid-js":">=1.6.0","idb-keyval":">=4.0.0","@angular/core":">=17.0.0","@tanstack/store":">=0.10.0","expo-secure-store":">=12.0.0","react-native-mmkv":">=4.0.0","@react-native-async-storage/async-storage":">=1.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"zod":{"optional":true},"mobx":{"optional":true},"jotai":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"valtio":{"optional":true},"seroval":{"optional":true},"zustand":{"optional":true},"solid-js":{"optional":true},"idb-keyval":{"optional":true},"@angular/core":{"optional":true},"@tanstack/store":{"optional":true},"expo-secure-store":{"optional":true},"react-native-mmkv":{"optional":true},"@react-native-async-storage/async-storage":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/persist_0.2.0_1783336801865_0.2655583258521892","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@stainless-code/persist","version":"0.2.1","keywords":["angular","broadcastchannel","codec","compression","cross-tab","encryption","hydration","indexeddb","jotai","localstorage","middleware","migration","mmkv","mobx","persistence","preact","react","react-native","reactive","seroval","solid","state-management","store","svelte","tanstack","tanstack-store","typescript","valtio","vue","zod","zustand"],"license":"MIT","_id":"@stainless-code/persist@0.2.1","maintainers":[{"name":"sutusebastian","email":"sebiitv@gmail.com"}],"homepage":"https://stainless-code.com/persist","bugs":{"url":"https://github.com/stainless-code/persist/issues"},"dist":{"shasum":"a222c257fd00bae263a15e792f4f7daf5ff8ad0d","tarball":"https://registry.npmjs.org/@stainless-code/persist/-/persist-0.2.1.tgz","fileCount":53,"integrity":"sha512-wbaV6RJgdtsLSxbhqPkl2Y+B/HsafZf5kGebftb1pqn6OjStLVf9EyC3ulE4xfxTaitrOdXqqbME96ZLWE8mmQ==","signatures":[{"sig":"MEUCIQDlIVNECzpXTkr3/IVEsSih5l4YmBJvIYFLf3iGWVkolQIgGjp6nT91NWCdzqxJTGzLEehoMv7cowUQ8SRGHCRtT6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@stainless-code%2fpersist@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":127283},"type":"module","engines":{"bun":">=1.0.0","node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/core/index.d.mts","import":"./dist/core/index.mjs"},"./codecs/zod":{"types":"./dist/codecs/zod.d.mts","import":"./dist/codecs/zod.mjs"},"./backends/idb":{"types":"./dist/backends/idb.d.mts","import":"./dist/backends/idb.mjs"},"./sources/mobx":{"types":"./dist/sources/mobx.d.mts","import":"./dist/sources/mobx.mjs"},"./backends/mmkv":{"types":"./dist/backends/mmkv.d.mts","import":"./dist/backends/mmkv.mjs"},"./sources/jotai":{"types":"./dist/sources/jotai.d.mts","import":"./dist/sources/jotai.mjs"},"./codecs/seroval":{"types":"./dist/codecs/seroval.d.mts","import":"./dist/codecs/seroval.mjs"},"./frameworks/vue":{"types":"./dist/frameworks/vue.d.mts","import":"./dist/frameworks/vue.mjs"},"./sources/valtio":{"types":"./dist/sources/valtio.d.mts","import":"./dist/sources/valtio.mjs"},"./sources/zustand":{"types":"./dist/sources/zustand.d.mts","import":"./dist/sources/zustand.mjs"},"./backends/node-fs":{"types":"./dist/backends/node-fs.d.mts","import":"./dist/backends/node-fs.mjs"},"./frameworks/react":{"types":"./dist/frameworks/react.d.mts","import":"./dist/frameworks/react.mjs"},"./frameworks/solid":{"types":"./dist/frameworks/solid.d.mts","import":"./dist/frameworks/solid.mjs"},"./frameworks/preact":{"types":"./dist/frameworks/preact.d.mts","import":"./dist/frameworks/preact.mjs"},"./frameworks/svelte":{"types":"./dist/frameworks/svelte.d.mts","import":"./dist/frameworks/svelte.mjs"},"./backends/encrypted":{"types":"./dist/backends/encrypted.d.mts","import":"./dist/backends/encrypted.mjs"},"./frameworks/angular":{"types":"./dist/frameworks/angular.d.mts","import":"./dist/frameworks/angular.mjs"},"./transport/crosstab":{"types":"./dist/transport/crosstab.d.mts","import":"./dist/transport/crosstab.mjs"},"./backends/compressed":{"types":"./dist/backends/compressed.d.mts","import":"./dist/backends/compressed.mjs"},"./backends/secure-store":{"types":"./dist/backends/secure-store.d.mts","import":"./dist/backends/secure-store.mjs"},"./backends/async-storage":{"types":"./dist/backends/async-storage.d.mts","import":"./dist/backends/async-storage.mjs"},"./sources/tanstack-store":{"types":"./dist/sources/tanstack-store.d.mts","import":"./dist/sources/tanstack-store.mjs"},"./frameworks/svelte-store":{"types":"./dist/frameworks/svelte-store.d.mts","import":"./dist/frameworks/svelte-store.mjs"}},"gitHead":"8cfa06bc4165a45fad1a9c3867f99b66cec6d482","scripts":{"fix":"bun run lint:fix && bun run format","lint":"oxlint --no-error-on-unmatched-pattern","size":"size-limit","test":"bun test ./src","build":"tsdown","check":"bun run build && bun run --parallel format:check lint:ci test test:dom typecheck","clean":"git clean -xdf -e .env","format":"oxfmt --no-error-on-unmatched-pattern","lint:ci":"oxlint --quiet","prepare":"husky || true","release":"changeset publish","version":"changeset version && bun scripts/sync-skill-versions.ts && bun run format CHANGELOG.md","docs:api":"bun apps/docs/scripts/rewrite-api-links.ts --clean && typedoc && bun apps/docs/scripts/rewrite-api-links.ts","docs:dev":"bun run --filter '@stainless-code/persist-docs' dev","lint:fix":"bun run lint --fix","test:dom":"vitest run","typecheck":"tsgo --noEmit","check:pack":"attw --pack . --profile esm-only && publint && knip","docs:audit":"bun run --filter '@stainless-code/persist-docs' audit","docs:build":"bun run --filter '@stainless-code/persist-docs' build","docs:check":"bun run --filter '@stainless-code/persist-docs' check","fix:changes":"bun run lint:fix:changes && bun run format:changes","lint-staged":"lint-staged","docs:preview":"bun run --filter '@stainless-code/persist-docs' preview","format:check":"oxfmt --check --no-error-on-unmatched-pattern","intent:stale":"intent stale","lint:changes":"bun scripts/run-on-changed-files.ts lint","check-updates":"bun update -i --latest","docs:validate":"bun run --filter '@stainless-code/persist-docs' validate","test:coverage":"bun test ./src --coverage --coverage-threshold=0.90","format:changes":"bun scripts/run-on-changed-files.ts format","prepublishOnly":"bun run check && bun run intent:validate && bun run check:pack && bun run size && bun run test:coverage","intent:validate":"intent validate","lint:fix:changes":"bun scripts/run-on-changed-files.ts lint:fix"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:06b2eb2d-4649-4228-addc-f2ae0025020e"}},"overrides":{"uuid":">=11.1.1","path-to-regexp":"6.3.0"},"repository":{"url":"git+https://github.com/stainless-code/persist.git","type":"git"},"workspaces":[".","apps/*"],"_npmVersion":"11.16.0","description":"Hydration-aware persistence for any reactive store — zero-dep persistSource core; codecs, backends, cross-tab transport, source + framework hydration adapters ship as opt-in recipes","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"vue":"3.5.39","zod":"4.4.3","knip":"6.24.0","mobx":"6.16.1","husky":"9.1.7","jotai":"2.20.1","jsdom":"29.1.1","oxfmt":"0.57.0","react":"19.2.7","oxlint":"1.72.0","preact":"10.29.4","svelte":"5.56.4","tsdown":"0.22.3","valtio":"2.3.2","vitest":"4.1.9","publint":"0.3.21","seroval":"1.5.4","typedoc":"0.28.19","zustand":"5.0.14","solid-js":"1.9.14","react-dom":"19.2.7","@types/bun":"1.3.14","idb-keyval":"6.2.6","size-limit":"12.1.0","typescript":"6.0.3","@types/node":"26.1.0","lint-staged":"17.0.8","@types/react":"19.2.17","@angular/core":"22.0.5","@changesets/cli":"2.31.0","@tanstack/store":"0.11.0","@tanstack/intent":"0.3.5","@types/react-dom":"19.2.3","expo-secure-store":"57.0.0","react-native-mmkv":"4.3.2","@testing-library/dom":"10.4.1","@arethetypeswrong/cli":"0.18.4","@testing-library/react":"16.3.2","@stainless-code/codemap":"0.11.1","typedoc-plugin-markdown":"4.12.0","@typescript/native-preview":"7.0.0-dev.20260705.1","typedoc-plugin-frontmatter":"1.3.1","@changesets/changelog-github":"0.7.0","@size-limit/preset-small-lib":"12.1.0","@react-native-async-storage/async-storage":"3.1.1"},"peerDependencies":{"vue":">=3.3.0","zod":">=3.20.0","mobx":">=6.0.0","jotai":">=2.0.0","react":"^18.0.0 || ^19.0.0","preact":">=10.19.0","svelte":">=3.0.0","valtio":">=1.0.0","seroval":">=1.0.0","zustand":">=4.0.0","solid-js":">=1.6.0","idb-keyval":">=4.0.0","@angular/core":">=17.0.0","@tanstack/store":">=0.10.0","expo-secure-store":">=12.0.0","react-native-mmkv":">=4.0.0","@react-native-async-storage/async-storage":">=1.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"zod":{"optional":true},"mobx":{"optional":true},"jotai":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"valtio":{"optional":true},"seroval":{"optional":true},"zustand":{"optional":true},"solid-js":{"optional":true},"idb-keyval":{"optional":true},"@angular/core":{"optional":true},"@tanstack/store":{"optional":true},"expo-secure-store":{"optional":true},"react-native-mmkv":{"optional":true},"@react-native-async-storage/async-storage":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/persist_0.2.1_1784472036932_0.3711533466245278","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@stainless-code/persist","version":"0.3.0","keywords":["alpine","angular","broadcastchannel","codec","compression","cross-tab","encryption","hydration","indexeddb","jotai","lit","localstorage","middleware","migration","mmkv","mobx","persistence","pinia","preact","react","react-native","reactive","redux","seroval","solid","state-management","store","svelte","tanstack","tanstack-store","typescript","valtio","vue","zod","zustand"],"license":"MIT","_id":"@stainless-code/persist@0.3.0","maintainers":[{"name":"sutusebastian","email":"sebiitv@gmail.com"}],"homepage":"https://stainless-code.com/persist","bugs":{"url":"https://github.com/stainless-code/persist/issues"},"dist":{"shasum":"97b475810895b33ce8e299dc4b2d56851c409789","tarball":"https://registry.npmjs.org/@stainless-code/persist/-/persist-0.3.0.tgz","fileCount":61,"integrity":"sha512-BCFGET5pyesAv9BT7xjSVzCd+gYgZbWLObuUmWOL3bmtHM7JqfRnFbRKG6XZeeXc10lFX+AWWm2DUUvHs4/VSg==","signatures":[{"sig":"MEQCIFk8Z5Ehs+39TfTFfyZqfRp9YI4G4j/0Lw4k2f7rM9zZAiAoTaGTGzivfDrtZMlyx1eCK2am48pBu8mUzLQxxlwN7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@stainless-code%2fpersist@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":141030},"type":"module","engines":{"bun":">=1.0.0","node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/core/index.d.mts","import":"./dist/core/index.mjs"},"./codecs/zod":{"types":"./dist/codecs/zod.d.mts","import":"./dist/codecs/zod.mjs"},"./backends/idb":{"types":"./dist/backends/idb.d.mts","import":"./dist/backends/idb.mjs"},"./sources/mobx":{"types":"./dist/sources/mobx.d.mts","import":"./dist/sources/mobx.mjs"},"./backends/mmkv":{"types":"./dist/backends/mmkv.d.mts","import":"./dist/backends/mmkv.mjs"},"./sources/jotai":{"types":"./dist/sources/jotai.d.mts","import":"./dist/sources/jotai.mjs"},"./sources/pinia":{"types":"./dist/sources/pinia.d.mts","import":"./dist/sources/pinia.mjs"},"./sources/redux":{"types":"./dist/sources/redux.d.mts","import":"./dist/sources/redux.mjs"},"./codecs/seroval":{"types":"./dist/codecs/seroval.d.mts","import":"./dist/codecs/seroval.mjs"},"./frameworks/lit":{"types":"./dist/frameworks/lit.d.mts","import":"./dist/frameworks/lit.mjs"},"./frameworks/vue":{"types":"./dist/frameworks/vue.d.mts","import":"./dist/frameworks/vue.mjs"},"./sources/valtio":{"types":"./dist/sources/valtio.d.mts","import":"./dist/sources/valtio.mjs"},"./sources/zustand":{"types":"./dist/sources/zustand.d.mts","import":"./dist/sources/zustand.mjs"},"./backends/node-fs":{"types":"./dist/backends/node-fs.d.mts","import":"./dist/backends/node-fs.mjs"},"./frameworks/react":{"types":"./dist/frameworks/react.d.mts","import":"./dist/frameworks/react.mjs"},"./frameworks/solid":{"types":"./dist/frameworks/solid.d.mts","import":"./dist/frameworks/solid.mjs"},"./frameworks/alpine":{"types":"./dist/frameworks/alpine.d.mts","import":"./dist/frameworks/alpine.mjs"},"./frameworks/preact":{"types":"./dist/frameworks/preact.d.mts","import":"./dist/frameworks/preact.mjs"},"./frameworks/svelte":{"types":"./dist/frameworks/svelte.d.mts","import":"./dist/frameworks/svelte.mjs"},"./backends/encrypted":{"types":"./dist/backends/encrypted.d.mts","import":"./dist/backends/encrypted.mjs"},"./frameworks/angular":{"types":"./dist/frameworks/angular.d.mts","import":"./dist/frameworks/angular.mjs"},"./transport/crosstab":{"types":"./dist/transport/crosstab.d.mts","import":"./dist/transport/crosstab.mjs"},"./backends/compressed":{"types":"./dist/backends/compressed.d.mts","import":"./dist/backends/compressed.mjs"},"./backends/secure-store":{"types":"./dist/backends/secure-store.d.mts","import":"./dist/backends/secure-store.mjs"},"./backends/async-storage":{"types":"./dist/backends/async-storage.d.mts","import":"./dist/backends/async-storage.mjs"},"./sources/tanstack-store":{"types":"./dist/sources/tanstack-store.d.mts","import":"./dist/sources/tanstack-store.mjs"},"./frameworks/svelte-store":{"types":"./dist/frameworks/svelte-store.d.mts","import":"./dist/frameworks/svelte-store.mjs"}},"gitHead":"9854ca4d09fb357562aa1c925935f0405f08ad60","scripts":{"fix":"bun run lint:fix && bun run format","lint":"oxlint --no-error-on-unmatched-pattern","size":"size-limit","test":"bun test ./src","build":"tsdown","check":"bun run build && bun run --parallel format:check lint:ci test test:dom typecheck","clean":"git clean -xdf -e .env","format":"oxfmt --no-error-on-unmatched-pattern","lint:ci":"oxlint --quiet","prepare":"husky || true","release":"changeset publish","version":"changeset version && bun scripts/sync-skill-versions.ts && bun run format CHANGELOG.md","docs:api":"bun apps/docs/scripts/rewrite-api-links.ts --clean && typedoc && bun apps/docs/scripts/rewrite-api-links.ts","docs:dev":"bun run --filter '@stainless-code/persist-docs' dev","lint:fix":"bun run lint --fix","test:dom":"vitest run","typecheck":"tsgo --noEmit","check:pack":"attw --pack . --profile esm-only && publint && knip","docs:audit":"bun run --filter '@stainless-code/persist-docs' audit","docs:build":"bun run --filter '@stainless-code/persist-docs' build","docs:check":"bun run --filter '@stainless-code/persist-docs' check","fix:changes":"bun run lint:fix:changes && bun run format:changes","lint-staged":"lint-staged","docs:preview":"bun run --filter '@stainless-code/persist-docs' preview","format:check":"oxfmt --check --no-error-on-unmatched-pattern","intent:stale":"intent stale","lint:changes":"bun scripts/run-on-changed-files.ts lint","check-updates":"bun update -i --latest","docs:validate":"bun run --filter '@stainless-code/persist-docs' validate","test:coverage":"bun test ./src --coverage --coverage-threshold=0.90","format:changes":"bun scripts/run-on-changed-files.ts format","prepublishOnly":"bun run check && bun run intent:validate && bun run check:pack && bun run size && bun run test:coverage","intent:validate":"intent validate","lint:fix:changes":"bun scripts/run-on-changed-files.ts lint:fix"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:06b2eb2d-4649-4228-addc-f2ae0025020e"}},"overrides":{"uuid":">=11.1.1","path-to-regexp":"6.3.0"},"repository":{"url":"git+https://github.com/stainless-code/persist.git","type":"git"},"workspaces":[".","apps/*"],"_npmVersion":"11.16.0","description":"Hydration-aware persistence for any reactive store — zero-dep persistSource core; codecs, backends, cross-tab transport, source + framework hydration adapters ship as opt-in recipes","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"lit":"3.3.3","vue":"3.5.39","zod":"4.4.3","knip":"6.24.0","mobx":"6.16.1","husky":"9.1.7","jotai":"2.20.1","jsdom":"29.1.1","oxfmt":"0.57.0","pinia":"3.0.4","react":"19.2.7","redux":"5.0.1","oxlint":"1.72.0","preact":"10.29.4","svelte":"5.56.4","tsdown":"0.22.3","valtio":"2.3.2","vitest":"4.1.9","publint":"0.3.21","seroval":"1.5.4","typedoc":"0.28.19","zustand":"5.0.14","alpinejs":"3.15.12","solid-js":"1.9.14","react-dom":"19.2.7","@types/bun":"1.3.14","idb-keyval":"6.2.6","size-limit":"12.1.0","typescript":"6.0.3","@types/node":"26.1.0","lint-staged":"17.0.8","@types/react":"19.2.17","@angular/core":"22.0.5","@changesets/cli":"2.31.0","@tanstack/store":"0.11.0","@types/alpinejs":"3.13.11","@reduxjs/toolkit":"2.11.2","@tanstack/intent":"0.3.5","@types/react-dom":"19.2.3","expo-secure-store":"57.0.0","react-native-mmkv":"4.3.2","@testing-library/dom":"10.4.1","@arethetypeswrong/cli":"0.18.4","@testing-library/react":"16.3.2","@stainless-code/codemap":"0.11.1","typedoc-plugin-markdown":"4.12.0","@typescript/native-preview":"7.0.0-dev.20260705.1","typedoc-plugin-frontmatter":"1.3.1","@changesets/changelog-github":"0.7.0","@size-limit/preset-small-lib":"12.1.0","@react-native-async-storage/async-storage":"3.1.1"},"peerDependencies":{"lit":">=3.0.0","vue":">=3.3.0","zod":">=3.20.0","mobx":">=6.0.0","jotai":">=2.0.0","pinia":">=2.0.0","react":"^18.0.0 || ^19.0.0","redux":">=5.0.0","preact":">=10.19.0","svelte":">=3.0.0","valtio":">=1.0.0","seroval":">=1.0.0","zustand":">=4.0.0","alpinejs":">=3.0.0","solid-js":">=1.6.0","idb-keyval":">=4.0.0","@angular/core":">=17.0.0","@tanstack/store":">=0.10.0","expo-secure-store":">=12.0.0","react-native-mmkv":">=4.0.0","@react-native-async-storage/async-storage":">=1.0.0"},"peerDependenciesMeta":{"lit":{"optional":true},"vue":{"optional":true},"zod":{"optional":true},"mobx":{"optional":true},"jotai":{"optional":true},"pinia":{"optional":true},"react":{"optional":true},"redux":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"valtio":{"optional":true},"seroval":{"optional":true},"zustand":{"optional":true},"alpinejs":{"optional":true},"solid-js":{"optional":true},"idb-keyval":{"optional":true},"@angular/core":{"optional":true},"@tanstack/store":{"optional":true},"expo-secure-store":{"optional":true},"react-native-mmkv":{"optional":true},"@react-native-async-storage/async-storage":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/persist_0.3.0_1784580064668_0.6163524661290845","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@stainless-code/persist","version":"0.4.0","keywords":["alpine","angular","broadcastchannel","codec","compression","cross-tab","encryption","hydration","indexeddb","jotai","lit","localstorage","middleware","migration","mmkv","mobx","persistence","pinia","preact","react","react-native","reactive","redux","seroval","solid","state-management","store","svelte","tanstack","tanstack-store","typescript","valtio","vue","zod","zustand"],"license":"MIT","_id":"@stainless-code/persist@0.4.0","maintainers":[{"name":"sutusebastian","email":"sebiitv@gmail.com"}],"homepage":"https://stainless-code.com/persist","bugs":{"url":"https://github.com/stainless-code/persist/issues"},"dist":{"shasum":"d82e491468f2047cceb750e6f1e2ed8f948c15fa","tarball":"https://registry.npmjs.org/@stainless-code/persist/-/persist-0.4.0.tgz","fileCount":61,"integrity":"sha512-0SRZHUUr2lfxysui0QXiac+bSTTOVnzNhaNK/uzvM9MI/3htx1mpPYoXY9aKHHHgHywAn9TG9o4VQ9256IoF8w==","signatures":[{"sig":"MEUCIB8V/hMzIg6g43s/MvcOfjwf1EZAvteoF2D3nNowGJTgAiEArVOJkXEG1fogVtEMeUdABSVoYKQfToPPtJaRKcKvtbk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@stainless-code%2fpersist@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":150601},"type":"module","engines":{"bun":">=1.0.0","node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/core/index.d.mts","import":"./dist/core/index.mjs"},"./backends/idb":{"types":"./dist/backends/idb.d.mts","import":"./dist/backends/idb.mjs"},"./sources/mobx":{"types":"./dist/sources/mobx.d.mts","import":"./dist/sources/mobx.mjs"},"./backends/mmkv":{"types":"./dist/backends/mmkv.d.mts","import":"./dist/backends/mmkv.mjs"},"./sources/jotai":{"types":"./dist/sources/jotai.d.mts","import":"./dist/sources/jotai.mjs"},"./sources/pinia":{"types":"./dist/sources/pinia.d.mts","import":"./dist/sources/pinia.mjs"},"./sources/redux":{"types":"./dist/sources/redux.d.mts","import":"./dist/sources/redux.mjs"},"./codecs/seroval":{"types":"./dist/codecs/seroval.d.mts","import":"./dist/codecs/seroval.mjs"},"./frameworks/lit":{"types":"./dist/frameworks/lit.d.mts","import":"./dist/frameworks/lit.mjs"},"./frameworks/vue":{"types":"./dist/frameworks/vue.d.mts","import":"./dist/frameworks/vue.mjs"},"./sources/valtio":{"types":"./dist/sources/valtio.d.mts","import":"./dist/sources/valtio.mjs"},"./sources/zustand":{"types":"./dist/sources/zustand.d.mts","import":"./dist/sources/zustand.mjs"},"./backends/node-fs":{"types":"./dist/backends/node-fs.d.mts","import":"./dist/backends/node-fs.mjs"},"./frameworks/react":{"types":"./dist/frameworks/react.d.mts","import":"./dist/frameworks/react.mjs"},"./frameworks/solid":{"types":"./dist/frameworks/solid.d.mts","import":"./dist/frameworks/solid.mjs"},"./frameworks/alpine":{"types":"./dist/frameworks/alpine.d.mts","import":"./dist/frameworks/alpine.mjs"},"./frameworks/preact":{"types":"./dist/frameworks/preact.d.mts","import":"./dist/frameworks/preact.mjs"},"./frameworks/svelte":{"types":"./dist/frameworks/svelte.d.mts","import":"./dist/frameworks/svelte.mjs"},"./backends/encrypted":{"types":"./dist/backends/encrypted.d.mts","import":"./dist/backends/encrypted.mjs"},"./frameworks/angular":{"types":"./dist/frameworks/angular.d.mts","import":"./dist/frameworks/angular.mjs"},"./transport/crosstab":{"types":"./dist/transport/crosstab.d.mts","import":"./dist/transport/crosstab.mjs"},"./backends/compressed":{"types":"./dist/backends/compressed.d.mts","import":"./dist/backends/compressed.mjs"},"./backends/secure-store":{"types":"./dist/backends/secure-store.d.mts","import":"./dist/backends/secure-store.mjs"},"./backends/async-storage":{"types":"./dist/backends/async-storage.d.mts","import":"./dist/backends/async-storage.mjs"},"./codecs/standard-schema":{"types":"./dist/codecs/standard-schema.d.mts","import":"./dist/codecs/standard-schema.mjs"},"./sources/tanstack-store":{"types":"./dist/sources/tanstack-store.d.mts","import":"./dist/sources/tanstack-store.mjs"},"./frameworks/svelte-store":{"types":"./dist/frameworks/svelte-store.d.mts","import":"./dist/frameworks/svelte-store.mjs"}},"gitHead":"39caf2437f58659000e743a97f0b05dd285db78d","scripts":{"fix":"bun run lint:fix && bun run format","lint":"oxlint --no-error-on-unmatched-pattern","size":"size-limit","test":"bun test ./src","build":"tsdown","check":"bun run build && bun run --parallel format:check lint:ci test test:dom typecheck","clean":"git clean -xdf -e .env","format":"oxfmt --no-error-on-unmatched-pattern","lint:ci":"oxlint --quiet","prepare":"husky || true","release":"changeset publish","version":"changeset version && bun scripts/sync-skill-versions.ts && bun run format CHANGELOG.md","docs:api":"bun apps/docs/scripts/rewrite-api-links.ts --clean && typedoc && bun apps/docs/scripts/rewrite-api-links.ts","docs:dev":"bun run --filter '@stainless-code/persist-docs' dev","lint:fix":"bun run lint --fix","test:dom":"vitest run","typecheck":"tsgo --noEmit","check:pack":"attw --pack . --profile esm-only && publint && knip","docs:audit":"bun run --filter '@stainless-code/persist-docs' audit","docs:build":"bun run --filter '@stainless-code/persist-docs' build","docs:check":"bun run --filter '@stainless-code/persist-docs' check","fix:changes":"bun run lint:fix:changes && bun run format:changes","lint-staged":"lint-staged","docs:preview":"bun run --filter '@stainless-code/persist-docs' preview","format:check":"oxfmt --check --no-error-on-unmatched-pattern","intent:stale":"intent stale","lint:changes":"bun scripts/run-on-changed-files.ts lint","check-updates":"bun update -i --latest","docs:validate":"bun run --filter '@stainless-code/persist-docs' validate","test:coverage":"bun test ./src --coverage --coverage-threshold=0.90","format:changes":"bun scripts/run-on-changed-files.ts format","prepublishOnly":"bun run check && bun run intent:validate && bun run check:pack && bun run size && bun run test:coverage","intent:validate":"intent validate","lint:fix:changes":"bun scripts/run-on-changed-files.ts lint:fix"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:06b2eb2d-4649-4228-addc-f2ae0025020e"}},"overrides":{"uuid":">=11.1.1","fast-uri":"3.1.4","path-to-regexp":"6.3.0","@hono/node-server":"2.0.11","@ai-sdk/provider-utils":"4.0.40"},"repository":{"url":"git+https://github.com/stainless-code/persist.git","type":"git"},"workspaces":[".","apps/*"],"_npmVersion":"11.16.0","description":"Hydration-aware persistence for any reactive store — zero-dep persistSource core; codecs, backends, cross-tab transport, source + framework hydration adapters ship as opt-in recipes","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"lit":"3.3.3","vue":"3.5.39","zod":"4.4.3","knip":"6.24.0","mobx":"6.16.1","husky":"9.1.7","jotai":"2.20.1","jsdom":"29.1.1","oxfmt":"0.57.0","pinia":"3.0.4","react":"19.2.7","redux":"5.0.1","oxlint":"1.72.0","preact":"10.29.4","svelte":"5.56.4","tsdown":"0.22.3","valtio":"2.3.2","vitest":"4.1.9","publint":"0.3.21","seroval":"1.5.4","typedoc":"0.28.19","zustand":"5.0.14","alpinejs":"3.15.12","solid-js":"1.9.14","react-dom":"19.2.7","@types/bun":"1.3.14","idb-keyval":"6.2.6","size-limit":"12.1.0","typescript":"6.0.3","@types/node":"26.1.0","lint-staged":"17.0.8","@types/react":"19.2.17","@angular/core":"22.0.5","@changesets/cli":"2.31.0","@tanstack/store":"0.11.0","@types/alpinejs":"3.13.11","@reduxjs/toolkit":"2.11.2","@tanstack/intent":"0.3.5","@types/react-dom":"19.2.3","expo-secure-store":"57.0.0","react-native-mmkv":"4.3.2","@testing-library/dom":"10.4.1","@arethetypeswrong/cli":"0.18.4","@testing-library/react":"16.3.2","@stainless-code/codemap":"0.11.1","typedoc-plugin-markdown":"4.12.0","@typescript/native-preview":"7.0.0-dev.20260705.1","typedoc-plugin-frontmatter":"1.3.1","@changesets/changelog-github":"0.7.0","@size-limit/preset-small-lib":"12.1.0","@react-native-async-storage/async-storage":"3.1.1"},"peerDependencies":{"lit":">=3.0.0","vue":">=3.3.0","mobx":">=6.0.0","jotai":">=2.0.0","pinia":">=2.0.0","react":"^18.0.0 || ^19.0.0","redux":">=5.0.0","preact":">=10.19.0","svelte":">=3.0.0","valtio":">=1.0.0","seroval":">=1.0.0","zustand":">=4.0.0","alpinejs":">=3.0.0","solid-js":">=1.6.0","idb-keyval":">=4.0.0","@angular/core":">=17.0.0","@tanstack/store":">=0.10.0","expo-secure-store":">=12.0.0","react-native-mmkv":">=4.0.0","@react-native-async-storage/async-storage":">=1.0.0"},"peerDependenciesMeta":{"lit":{"optional":true},"vue":{"optional":true},"mobx":{"optional":true},"jotai":{"optional":true},"pinia":{"optional":true},"react":{"optional":true},"redux":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"valtio":{"optional":true},"seroval":{"optional":true},"zustand":{"optional":true},"alpinejs":{"optional":true},"solid-js":{"optional":true},"idb-keyval":{"optional":true},"@angular/core":{"optional":true},"@tanstack/store":{"optional":true},"expo-secure-store":{"optional":true},"react-native-mmkv":{"optional":true},"@react-native-async-storage/async-storage":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/persist_0.4.0_1784748656010_0.6352327990356059","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@stainless-code/persist","version":"0.4.1","description":"Hydration-aware persistence for any reactive store — zero-dep persistSource core; codecs, backends, cross-tab transport, source + framework hydration adapters ship as opt-in recipes","keywords":["alpine","angular","broadcastchannel","codec","compression","cross-tab","encryption","hydration","indexeddb","jotai","lit","localstorage","middleware","migration","mmkv","mobx","persistence","pinia","preact","react","react-native","reactive","redux","seroval","solid","state-management","store","svelte","tanstack","tanstack-intent","tanstack-store","typescript","valtio","vue","zod","zustand"],"homepage":"https://stainless-code.com/persist","bugs":{"url":"https://github.com/stainless-code/persist/issues"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/stainless-code/persist.git"},"workspaces":[".","apps/*"],"type":"module","sideEffects":false,"exports":{".":{"types":"./dist/core/index.d.mts","import":"./dist/core/index.mjs"},"./codecs/seroval":{"types":"./dist/codecs/seroval.d.mts","import":"./dist/codecs/seroval.mjs"},"./codecs/standard-schema":{"types":"./dist/codecs/standard-schema.d.mts","import":"./dist/codecs/standard-schema.mjs"},"./backends/idb":{"types":"./dist/backends/idb.d.mts","import":"./dist/backends/idb.mjs"},"./backends/async-storage":{"types":"./dist/backends/async-storage.d.mts","import":"./dist/backends/async-storage.mjs"},"./backends/mmkv":{"types":"./dist/backends/mmkv.d.mts","import":"./dist/backends/mmkv.mjs"},"./backends/secure-store":{"types":"./dist/backends/secure-store.d.mts","import":"./dist/backends/secure-store.mjs"},"./backends/encrypted":{"types":"./dist/backends/encrypted.d.mts","import":"./dist/backends/encrypted.mjs"},"./backends/compressed":{"types":"./dist/backends/compressed.d.mts","import":"./dist/backends/compressed.mjs"},"./backends/node-fs":{"types":"./dist/backends/node-fs.d.mts","import":"./dist/backends/node-fs.mjs"},"./transport/crosstab":{"types":"./dist/transport/crosstab.d.mts","import":"./dist/transport/crosstab.mjs"},"./sources/tanstack-store":{"types":"./dist/sources/tanstack-store.d.mts","import":"./dist/sources/tanstack-store.mjs"},"./sources/zustand":{"types":"./dist/sources/zustand.d.mts","import":"./dist/sources/zustand.mjs"},"./sources/jotai":{"types":"./dist/sources/jotai.d.mts","import":"./dist/sources/jotai.mjs"},"./sources/valtio":{"types":"./dist/sources/valtio.d.mts","import":"./dist/sources/valtio.mjs"},"./sources/mobx":{"types":"./dist/sources/mobx.d.mts","import":"./dist/sources/mobx.mjs"},"./sources/pinia":{"types":"./dist/sources/pinia.d.mts","import":"./dist/sources/pinia.mjs"},"./sources/redux":{"types":"./dist/sources/redux.d.mts","import":"./dist/sources/redux.mjs"},"./frameworks/react":{"types":"./dist/frameworks/react.d.mts","import":"./dist/frameworks/react.mjs"},"./frameworks/preact":{"types":"./dist/frameworks/preact.d.mts","import":"./dist/frameworks/preact.mjs"},"./frameworks/solid":{"types":"./dist/frameworks/solid.d.mts","import":"./dist/frameworks/solid.mjs"},"./frameworks/angular":{"types":"./dist/frameworks/angular.d.mts","import":"./dist/frameworks/angular.mjs"},"./frameworks/vue":{"types":"./dist/frameworks/vue.d.mts","import":"./dist/frameworks/vue.mjs"},"./frameworks/lit":{"types":"./dist/frameworks/lit.d.mts","import":"./dist/frameworks/lit.mjs"},"./frameworks/alpine":{"types":"./dist/frameworks/alpine.d.mts","import":"./dist/frameworks/alpine.mjs"},"./frameworks/svelte":{"types":"./dist/frameworks/svelte.d.mts","import":"./dist/frameworks/svelte.mjs"},"./frameworks/svelte-store":{"types":"./dist/frameworks/svelte-store.d.mts","import":"./dist/frameworks/svelte-store.mjs"}},"publishConfig":{"access":"public","provenance":true},"scripts":{"build":"tsdown","check":"bun run build && bun run --parallel format:check lint:ci test test:dom typecheck","check-updates":"bun update -i --latest","check:pack":"attw --pack . --profile esm-only && publint && knip","clean":"git clean -xdf -e .env","docs:api":"bun apps/docs/scripts/rewrite-api-links.ts --clean && typedoc && bun apps/docs/scripts/rewrite-api-links.ts","docs:audit":"bun run --filter '@stainless-code/persist-docs' audit","docs:build":"bun run --filter '@stainless-code/persist-docs' build","docs:check":"bun run --filter '@stainless-code/persist-docs' check","docs:dev":"bun run --filter '@stainless-code/persist-docs' dev","docs:preview":"bun run --filter '@stainless-code/persist-docs' preview","docs:validate":"bun run --filter '@stainless-code/persist-docs' validate","fix":"bun run lint:fix && bun run format","fix:changes":"bun run lint:fix:changes && bun run format:changes","format":"oxfmt --no-error-on-unmatched-pattern","format:changes":"bun scripts/run-on-changed-files.ts format","format:check":"oxfmt --check --no-error-on-unmatched-pattern","intent:stale":"intent stale","intent:validate":"intent validate","lint":"oxlint --no-error-on-unmatched-pattern","lint-staged":"lint-staged","lint:changes":"bun scripts/run-on-changed-files.ts lint","lint:ci":"oxlint --quiet","lint:fix":"bun run lint --fix","lint:fix:changes":"bun scripts/run-on-changed-files.ts lint:fix","prepare":"husky || true","prepublishOnly":"bun run check && bun run intent:validate && bun run check:pack && bun run size && bun run test:coverage","release":"changeset publish","size":"size-limit","test":"bun test ./src","test:coverage":"bun test ./src --coverage --coverage-threshold=0.90","test:dom":"vitest run","typecheck":"tsgo --noEmit","version":"changeset version && bun scripts/sync-skill-versions.ts && bun run format CHANGELOG.md"},"devDependencies":{"@angular/core":"22.0.5","@arethetypeswrong/cli":"0.18.4","@changesets/changelog-github":"0.7.0","@changesets/cli":"2.31.0","@react-native-async-storage/async-storage":"3.1.1","@reduxjs/toolkit":"2.11.2","@size-limit/preset-small-lib":"12.1.0","@stainless-code/codemap":"0.11.1","@tanstack/intent":"0.3.5","@tanstack/store":"0.11.0","@testing-library/dom":"10.4.1","@testing-library/react":"16.3.2","@types/alpinejs":"3.13.11","@types/bun":"1.3.14","@types/node":"26.1.0","@types/react":"19.2.17","@types/react-dom":"19.2.3","@typescript/native-preview":"7.0.0-dev.20260705.1","alpinejs":"3.15.12","expo-secure-store":"57.0.0","husky":"9.1.7","idb-keyval":"6.2.6","jotai":"2.20.1","jsdom":"29.1.1","knip":"6.24.0","lint-staged":"17.0.8","lit":"3.3.3","mobx":"6.16.1","oxfmt":"0.57.0","oxlint":"1.72.0","pinia":"3.0.4","preact":"10.29.4","publint":"0.3.21","react":"19.2.7","react-dom":"19.2.7","react-native-mmkv":"4.3.2","redux":"5.0.1","seroval":"1.5.4","size-limit":"12.1.0","solid-js":"1.9.14","svelte":"5.56.4","tsdown":"0.22.3","typedoc":"0.28.19","typedoc-plugin-frontmatter":"1.3.1","typedoc-plugin-markdown":"4.12.0","typescript":"6.0.3","valtio":"2.3.2","vitest":"4.1.9","vue":"3.5.39","zod":"4.4.3","zustand":"5.0.14"},"peerDependencies":{"@angular/core":">=17.0.0","@react-native-async-storage/async-storage":">=1.0.0","@tanstack/store":">=0.10.0","alpinejs":">=3.0.0","expo-secure-store":">=12.0.0","idb-keyval":">=4.0.0","jotai":">=2.0.0","lit":">=3.0.0","mobx":">=6.0.0","pinia":">=2.0.0","preact":">=10.19.0","react":"^18.0.0 || ^19.0.0","react-native-mmkv":">=4.0.0","redux":">=5.0.0","seroval":">=1.0.0","solid-js":">=1.6.0","svelte":">=3.0.0","valtio":">=1.0.0","vue":">=3.3.0","zustand":">=4.0.0"},"peerDependenciesMeta":{"seroval":{"optional":true},"idb-keyval":{"optional":true},"@tanstack/store":{"optional":true},"react":{"optional":true},"solid-js":{"optional":true},"svelte":{"optional":true},"@angular/core":{"optional":true},"preact":{"optional":true},"vue":{"optional":true},"lit":{"optional":true},"alpinejs":{"optional":true},"@react-native-async-storage/async-storage":{"optional":true},"react-native-mmkv":{"optional":true},"expo-secure-store":{"optional":true},"zustand":{"optional":true},"jotai":{"optional":true},"valtio":{"optional":true},"mobx":{"optional":true},"pinia":{"optional":true},"redux":{"optional":true}},"overrides":{"@ai-sdk/provider-utils":"4.0.40","@hono/node-server":"2.0.11","fast-uri":"3.1.4","path-to-regexp":"6.3.0","uuid":">=11.1.1"},"engines":{"bun":">=1.0.0","node":"^20.19.0 || >=22.12.0"},"packageManager":"bun@1.3.14","gitHead":"78cb1dfbe2c4ce0b3749c0517a9cf6e0394fecfd","_id":"@stainless-code/persist@0.4.1","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-ztQs3U63Um94xW/a+gF1ADrcUCZ6Z8u1mkjPMTAe94IF/jTqKkcWXJgcbf5FESyVgyw2Ekwk29dy0u+8i6FhFg==","shasum":"d219efaa543930a1305d899464d5dac914f56a64","tarball":"https://registry.npmjs.org/@stainless-code/persist/-/persist-0.4.1.tgz","fileCount":87,"unpackedSize":192059,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@stainless-code%2fpersist@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCID0RagHAqc9jy2F8bWoMEyvwphq25bQDF1XlKe9eZ+9RAiEAw5WO7f2YHwpFvoiq2cyh2xpUgRVP0qoVl4nILVUQrFQ="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:06b2eb2d-4649-4228-addc-f2ae0025020e"}},"directories":{},"maintainers":[{"name":"sutusebastian","email":"sebiitv@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/persist_0.4.1_1784790369975_0.4973084244309549"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-03T13:58:47.245Z","modified":"2026-07-23T07:06:10.458Z","0.0.0":"2026-07-03T13:58:47.490Z","0.1.0":"2026-07-03T16:02:46.415Z","0.1.1":"2026-07-04T10:52:27.380Z","0.2.0":"2026-07-06T11:20:01.992Z","0.2.1":"2026-07-19T14:40:37.062Z","0.3.0":"2026-07-20T20:41:04.843Z","0.4.0":"2026-07-22T19:30:56.155Z","0.4.1":"2026-07-23T07:06:10.119Z"},"bugs":{"url":"https://github.com/stainless-code/persist/issues"},"license":"MIT","homepage":"https://stainless-code.com/persist","keywords":["alpine","angular","broadcastchannel","codec","compression","cross-tab","encryption","hydration","indexeddb","jotai","lit","localstorage","middleware","migration","mmkv","mobx","persistence","pinia","preact","react","react-native","reactive","redux","seroval","solid","state-management","store","svelte","tanstack","tanstack-intent","tanstack-store","typescript","valtio","vue","zod","zustand"],"repository":{"type":"git","url":"git+https://github.com/stainless-code/persist.git"},"description":"Hydration-aware persistence for any reactive store — zero-dep persistSource core; codecs, backends, cross-tab transport, source + framework hydration adapters ship as opt-in recipes","maintainers":[{"name":"sutusebastian","email":"sebiitv@gmail.com"}],"readme":"# @stainless-code/persist\n\n**Any store, any storage, one middleware — no flash.**\n\nHydration-aware persistence for any reactive store — no hydrate flash, no SSR mismatch. Store-agnostic via a structural `PersistableSource` (TanStack Store, zustand, jotai, valtio, mobx, pinia, redux, or a hand-rolled atom); three composable seams (backend × codec × source) so you swap storage, serialization, or framework without rewriting. A first-class hydration signal gates UI on async backends; opt-in cross-tab sync, versioned migrations, encrypted/compressed backends, and retry-on-quota. Framework adapters for React, Preact, Solid, Angular, Vue, Lit, Alpine, and Svelte.\n\n[![bundle size](https://deno.bundlejs.com/?q=@stainless-code/persist&badge=detailed)](https://bundlejs.com/?q=@stainless-code/persist)\n\n**Docs:** [https://stainless-code.com/persist](https://stainless-code.com/persist)\n\n## Install\n\n```bash\nbun add @stainless-code/persist\n```\n\n## Quick start\n\n```ts\nimport { Store } from \"@tanstack/store\";\nimport { createSerovalStorage } from \"@stainless-code/persist/codecs/seroval\";\nimport { persistStore } from \"@stainless-code/persist/sources/tanstack-store\";\nimport { toHydrationSignal } from \"@stainless-code/persist\";\nimport { useHydrated } from \"@stainless-code/persist/frameworks/react\";\n\nconst store = new Store({ theme: \"light\" });\nconst persist = persistStore(store, {\n  name: \"app:prefs:v1\",\n  storage: createSerovalStorage(() => localStorage),\n});\nexport const prefsHydration = toHydrationSignal(persist);\n\n// in a component:\nconst { hydrated } = useHydrated(prefsHydration);\n```\n\n## Documentation\n\n|                                                                              |                                                 |\n| ---------------------------------------------------------------------------- | ----------------------------------------------- |\n| [Getting started](https://stainless-code.com/persist/guides/getting-started) | Install, peers, quick start                     |\n| [Guides](https://stainless-code.com/persist/guides)                          | Hydration, IndexedDB + React, migrations, FAQ   |\n| [Recipes](https://stainless-code.com/persist/recipes)                        | Encrypt, options, wrapping stores, cross-tab    |\n| [Concepts](https://stainless-code.com/persist/concepts)                      | Three seams, storage/codec choice, entry points |\n| [Reference](https://stainless-code.com/persist/reference/api)                | Generated API (TypeDoc)                         |\n| [Changelog](https://stainless-code.com/persist/changelog)                    | GitHub Releases                                 |\n","readmeFilename":"README.md"}