{
  "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/*"
  ],
  "files": [
    "dist",
    "skills"
  ],
  "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"
}
