RevenueCat is a powerful, reliable, and free to use in-app purchase server with cross-platform support. This repository includes all you need to manage your subscriptions on your website or web app using RevenueCat.
Sign up to get started for free.
Login @ app.revenuecat.com
npm install --save @revenuecat/purchases-js
yarn add --save @revenuecat/purchases-js
See the RevenueCat docs and the SDK Reference.
pnpm install
pnpm run build:dev
To avoid publishing the package you can use pnpm's link feature:
pnpm link
pnpm link "@revenuecat/purchases-js"
Note: Any changes you make to the library will be automatically reflected in your testing project after running
pnpm run build:devorpnpm run build.
@revenuecat/purchases-ui-jsWhen you need to iterate on both purchases-js and purchases-ui-js together, you can point this repo at a sibling checkout using a pnpm-workspace.yaml override (instead of manually editing package.json).
Developer/
purchases-js/
purchases-ui-js/
purchases-js, create or edit pnpm-workspace.yaml and add:overrides:
"@revenuecat/purchases-ui-js": "link:../purchases-ui-js"
Use the scoped package name (@revenuecat/purchases-ui-js). A key like purchases-ui-js will not apply the override.
purchases-js root:pnpm install
pnpm why @revenuecat/purchases-ui-js
You should see link:../purchases-ui-js.
purchases-ui-js), then rebuild or run dev builds in purchases-js as needed.Remove the override from pnpm-workspace.yaml and run pnpm install again to return to the published @revenuecat/purchases-ui-js version.
pnpm run storybook
Note: This setup is only required if you need to test Storybook stories involving the
payment-entrypage.
To run these specific stories, you'll need to set up some environment variables. There are two options:
Internal team members can find the required environment variables in 1Password.
.env.development.local file and set the following variables:VITE_STORYBOOK_PUBLISHABLE_API_KEY="pk_test_1234567890"
VITE_STORYBOOK_ACCOUNT_ID="acct_1234567890"
pnpm run test
pnpm run test:typecheck
pnpm run svelte-check
pnpm run prettier
pnpm run lint
Please check the Demo app readme here
pnpm run extract-api
This will update the files in api-report with the latest public API.
If it has uncommitted changes, CI tests will fail. Run this command and commit the changes if
they are expected.
New versions are automated weekly, but you can also trigger a new release through CircleCI or locally following these steps:
bundle exec fastlane bump and follow the instructions