{"_id":"@byarcadia-app/plutus","_rev":"3-1fd0c2abeb5fb87ccd5de52149f3a14a","name":"@byarcadia-app/plutus","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@byarcadia-app/plutus","version":"0.1.0","keywords":["in-app-purchases","react-native","revenuecat","subscriptions"],"author":{"url":"github.com/dominikwozniak","name":"Dominik Woźniak","email":"dominik@byarcadia.app"},"license":"MIT","_id":"@byarcadia-app/plutus@0.1.0","maintainers":[{"name":"byarcadiaapp","email":"contact@byarcadia.app"}],"homepage":"https://github.com/byarcadia-app/plutus#readme","bugs":{"url":"https://github.com/byarcadia-app/plutus/issues"},"dist":{"shasum":"857bb01466fc59db9c2b3752c456acfbd9866305","tarball":"https://registry.npmjs.org/@byarcadia-app/plutus/-/plutus-0.1.0.tgz","fileCount":9,"integrity":"sha512-U32CyYTCo7TmRcHbWtOTCIgw47CpTKD4YRmCYry62E8563C/t66B53CsF2fx8fcB4uNey+rXQJMvf8Kb8dBvNg==","signatures":[{"sig":"MEYCIQCnn+PXZ/GK+Y/m0fZ0o5RQgB65igymVZP9fw6sAd+O2gIhAOa7LddhjIPxpwpmVezYtIGo3YlfDI5frL1At4f1LkJt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96121},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"243e6edc9feaa3ff8233eb917383296aac57c6e8","scripts":{"dev":"tsup --watch","fmt":"oxfmt .","lint":"oxlint .","build":"tsup","check":"tsc --noEmit","release":"pnpm build && changeset publish","version":"changeset version","fmt:check":"oxfmt --check .","example:ios":"pnpm --filter @byarcadia-app/plutus-example ios","example:start":"pnpm --filter @byarcadia-app/plutus-example start"},"_npmUser":{"name":"byarcadiaapp","email":"contact@byarcadia.app"},"repository":{"url":"git+https://github.com/byarcadia-app/plutus.git","type":"git"},"_npmVersion":"10.9.3","description":"Reusable RevenueCat wrapper for React Native in-app purchases","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"packageManager":"pnpm@10.14.0","devDependencies":{"tsup":"^8.5.1","oxfmt":"^0.34.0","react":"^19.2.4","oxlint":"^1.49.0","typescript":"^5.9.3","@types/react":"^19.2.14","react-native":"^0.84.0","@changesets/cli":"^2.29.8","react-native-purchases":"^9.0.0","@changesets/changelog-github":"^0.5.2"},"peerDependencies":{"react":">=18","react-native":">=0.72","react-native-purchases":">=9"},"_npmOperationalInternal":{"tmp":"tmp/plutus_0.1.0_1773480233304_0.32246185668793204","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@byarcadia-app/plutus","version":"0.1.1","keywords":["in-app-purchases","react-native","revenuecat","subscriptions"],"author":{"url":"github.com/dominikwozniak","name":"Dominik Woźniak","email":"dominik@byarcadia.app"},"license":"MIT","_id":"@byarcadia-app/plutus@0.1.1","maintainers":[{"name":"byarcadiaapp","email":"contact@byarcadia.app"}],"homepage":"https://github.com/byarcadia-app/plutus#readme","bugs":{"url":"https://github.com/byarcadia-app/plutus/issues"},"dist":{"shasum":"9a0f9a8e877f86d5fc1dadb963a26276e4e6f4bf","tarball":"https://registry.npmjs.org/@byarcadia-app/plutus/-/plutus-0.1.1.tgz","fileCount":9,"integrity":"sha512-h3ht2IvtXnC8cq+/QyMDHRo3d9uiKRkzCO7ipYKH9LcxXezrvjxW4sysxaAji91r45iO5Qj23r5GKIN86EJzKw==","signatures":[{"sig":"MEQCIE3hUWB7W6XJLxUoqA4gqxnHRuvwWPdBpTK5MLJ6HWKLAiAp2DQAPlwgb6pGbl67rCfEuiScGJ0n9SVLc/kWZE0pfw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97652},"main":"./dist/index.js","_from":"file:byarcadia-app-plutus-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","fmt":"oxfmt .","lint":"oxlint .","build":"tsup","check":"tsc --noEmit","release":"pnpm build && changeset publish","version":"changeset version","fmt:check":"oxfmt --check .","example:ios":"pnpm --filter @byarcadia-app/plutus-example ios","example:start":"pnpm --filter @byarcadia-app/plutus-example start"},"_npmUser":{"name":"byarcadiaapp","email":"contact@byarcadia.app"},"_resolved":"/tmp/5581691c605113247f01a8c6a6671e80/byarcadia-app-plutus-0.1.1.tgz","_integrity":"sha512-h3ht2IvtXnC8cq+/QyMDHRo3d9uiKRkzCO7ipYKH9LcxXezrvjxW4sysxaAji91r45iO5Qj23r5GKIN86EJzKw==","repository":{"url":"git+https://github.com/byarcadia-app/plutus.git","type":"git"},"_npmVersion":"10.9.4","description":"Reusable RevenueCat wrapper for React Native in-app purchases","directories":{},"sideEffects":false,"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","oxfmt":"^0.34.0","react":"^19.2.4","oxlint":"^1.49.0","typescript":"^5.9.3","@types/react":"^19.2.14","react-native":"^0.84.0","@changesets/cli":"^2.29.8","react-native-purchases":"^9.0.0","@changesets/changelog-github":"^0.5.2"},"peerDependencies":{"react":">=18","react-native":">=0.72","react-native-purchases":">=9"},"_npmOperationalInternal":{"tmp":"tmp/plutus_0.1.1_1773605507696_0.25130714819882205","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"_id":"@byarcadia-app/plutus@0.2.0","bugs":{"url":"https://github.com/byarcadia-app/plutus/issues"},"dist":{"shasum":"ebb7d4aec693080751a22e0f3c95551bb9ad3951","tarball":"https://registry.npmjs.org/@byarcadia-app/plutus/-/plutus-0.2.0.tgz","fileCount":9,"integrity":"sha512-wa3E++oeyxgeFgKTFNUoOwZCgsRnJAMAoannKNZkHnXfpoVW03ihAJfy+KmWxEy4uWhW3K/VLYuc8py8/NQBPQ==","signatures":[{"sig":"MEQCIC0JWx09s9LjJE7XXYZq3aRexualW8ClbEUjzHGx7WCOAiALMAhRbC3UsFwRwxSqH5jTMBO16eTLg8ed3svXDMMmgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDngAuvYgviA8KNf7LPfmSid0ZG8UwcBiePEJNYwWgf8gIgFhvqswtgmAGD9dRTfY+VCjL8IupCoV7r/YHG4cNrfm4="}],"unpackedSize":133617},"main":"./dist/index.js","name":"@byarcadia-app/plutus","_from":"file:byarcadia-app-plutus-0.2.0.tgz","types":"./dist/index.d.ts","author":{"url":"github.com/dominikwozniak","name":"Dominik Woźniak","email":"dominik@byarcadia.app"},"module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"license":"MIT","scripts":{"dev":"tsup --watch","fmt":"oxfmt .","lint":"oxlint .","test":"vitest run","build":"tsup","check":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","release":"pnpm build && changeset publish","version":"changeset version","fmt:check":"oxfmt --check .","example:ios":"pnpm --filter @byarcadia-app/plutus-example ios","example:start":"pnpm --filter @byarcadia-app/plutus-example start"},"version":"0.2.0","_npmUser":{"name":"byarcadiaapp","email":"contact@byarcadia.app"},"homepage":"https://github.com/byarcadia-app/plutus#readme","keywords":["in-app-purchases","react-native","revenuecat","subscriptions"],"_resolved":"/tmp/9c769b1ec55c1926937ec215e6d8d272/byarcadia-app-plutus-0.2.0.tgz","_integrity":"sha512-wa3E++oeyxgeFgKTFNUoOwZCgsRnJAMAoannKNZkHnXfpoVW03ihAJfy+KmWxEy4uWhW3K/VLYuc8py8/NQBPQ==","repository":{"url":"git+https://github.com/byarcadia-app/plutus.git","type":"git"},"_npmVersion":"10.9.8","description":"Reusable RevenueCat wrapper for React Native in-app purchases","directories":{},"maintainers":[{"name":"byarcadiaapp","email":"contact@byarcadia.app"}],"sideEffects":false,"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","oxfmt":"^0.68.0","react":"~19.2.4","oxlint":"^1.83.0","vitest":"4.1.11","happy-dom":"20.14.5","react-dom":"19.2.4","typescript":"^5.9.3","@types/react":"~19.2.14","react-native":"^0.86.3","@changesets/cli":"^2.29.8","@types/react-dom":"19.2.7","@testing-library/dom":"10.4.2","@testing-library/react":"16.3.3","react-native-purchases":"^10.10.0","@changesets/changelog-github":"^0.5.2"},"peerDependencies":{"react":">=18","react-native":">=0.72","react-native-purchases":">=9"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/plutus_0.2.0_1790411942589_0.5475474337254009"}}},"time":{"created":"2026-03-14T09:23:53.209Z","modified":"2026-09-26T08:39:02.852Z","0.1.0":"2026-03-14T09:23:53.474Z","0.1.1":"2026-03-15T20:11:47.830Z","0.2.0":"2026-09-26T08:39:02.683Z"},"bugs":{"url":"https://github.com/byarcadia-app/plutus/issues"},"author":{"url":"github.com/dominikwozniak","name":"Dominik Woźniak","email":"dominik@byarcadia.app"},"license":"MIT","homepage":"https://github.com/byarcadia-app/plutus#readme","keywords":["in-app-purchases","react-native","revenuecat","subscriptions"],"repository":{"url":"git+https://github.com/byarcadia-app/plutus.git","type":"git"},"description":"Reusable RevenueCat wrapper for React Native in-app purchases","maintainers":[{"name":"byarcadiaapp","email":"contact@byarcadia.app"}],"readme":"<h1 align=\"center\">@byarcadia-app/plutus</h1>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@byarcadia-app/plutus\"><img src=\"https://img.shields.io/npm/v/@byarcadia-app/plutus?style=flat\" alt=\"npm version\" /></a>&nbsp;<a href=\"https://github.com/byarcadia-app/plutus/blob/main/LICENSE\"><img src=\"https://img.shields.io/npm/l/@byarcadia-app/plutus?style=flat\" alt=\"License\" /></a>&nbsp;<img src=\"https://img.shields.io/badge/platform-iOS-black?style=flat\" alt=\"iOS only\" />&nbsp;<img src=\"https://img.shields.io/badge/status-alpha-orange?style=flat\" alt=\"Alpha\" />\n</p>\n\n<p align=\"center\">\n  Reusable <a href=\"https://www.revenuecat.com/\">RevenueCat</a> wrapper for <a href=\"https://reactnative.dev/\">React Native</a> in-app purchases — configurable, callback-driven, zero app-specific dependencies.\n</p>\n\nNamed after the Greek god of wealth — Plutus wraps RevenueCat so you can set up in-app purchases once and reuse across projects.\n\n## What it does\n\n- **[PlutusProvider](docs/provider.md)** — RevenueCat SDK initialization, customer info listener, entitlement state management\n- **[usePlutus](docs/hooks.md#useplutus)** — Access `isPro`, `isInTrial`, `isReady`, `isCustomerInfoLoaded`, `expirationDate`, `initError`, `managementURL`, `purchasePackage`, `restorePurchases`\n- **[useOfferings](docs/hooks.md#useofferings)** — Load offerings with configurable identifiers, trial eligibility per person, computed discount percentages, `error` and `refetch`\n- **[usePaywall](docs/hooks.md#usepaywall)** — Purchase flow orchestration with subscription type selection, configurable callbacks\n- **[useRescuePaywall](docs/hooks.md#userescuepaywall)** — Rescue/discount offer purchase flow\n- **[Translations](docs/translations.md)** — English fallback strings, override with `Partial<PlutusTranslations>`\n- **[Error handling](docs/errors.md)** — Typed error objects with error codes and factory functions\n- **Callback-driven** — All app-specific concerns (analytics, alerts, navigation, haptics) via callbacks, not baked in\n\n## Documentation\n\n- [Installation & Quick Start](docs/installation.md)\n- [Payment Setup (iOS)](docs/payment-setup.md)\n- [PlutusProvider](docs/provider.md)\n- [Hooks](docs/hooks.md)\n- [Errors](docs/errors.md)\n- [Translations](docs/translations.md)\n\n## AI Tools\n\nThis library ships with built-in AI agent support:\n\n- **[Claude Code Skills](https://skills.sh)** — `plutus-setup` handles dependency installation, PlutusProvider integration, and environment variable configuration. Install via `npx skills add byarcadia-app/plutus --skill plutus-setup`. See [`skills/plutus-setup/`](skills/plutus-setup/) for details.\n- **[Context7](https://context7.com)** — AI agents can query up-to-date docs and usage patterns via `context7.json`. Use `use context7` in your prompt to activate.\n\n## Example App\n\nA complete working integration lives in `example/`. It demonstrates provider setup and all hook usage patterns.\n\n```bash\npnpm example:start    # Start Expo dev server\npnpm example:ios      # Run on iOS simulator\n```\n\n## Requirements\n\n| Dependency             | Version |\n| ---------------------- | ------- |\n| React                  | >= 18   |\n| React Native           | >= 0.72 |\n| react-native-purchases | >= 9    |\n\n## License\n\nMIT\n","readmeFilename":"README.md"}