Skip to content

RevenueCat/purchases-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

😻 In-App Subscriptions Made Easy 😻

🕸️ For the web 🕸️

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.

Prerequisites

Login @ app.revenuecat.com

  • Connect your Stripe account if you haven't already (More payment gateways are coming soon)
  • Create a Project (if you haven't already)
  • Add a new RCBilling app
  • Get the sandbox API key or production API key (depending on the environment)
  • Create some products for the RCBilling App
  • Create an offering and add packages with RCBilling products
  • Create the entitlements you need in your app and link them to the RCBilling products

Installation

  • Add the library to your project's dependencies
    • npm
      npm install --save @revenuecat/purchases-js
      
    • yarn
      yarn add --save @revenuecat/purchases-js
      

Usage

See the RevenueCat docs and the SDK Reference.

Development

Install the library in a local project

  • Clone the repository
  • Install dependencies
  • Build the library
npm install
npm run build:dev

To avoid publishing the package you can set it up as a local dependency. In your testing project install the library as.

npm i /path/to/purchases-js

Running tests

npm run test

Running linters

npm run test:typeCheck
npm run svelte-check
npm run prettier
npm run lint

Running E2E tests

Please check the Demo app readme here

Update API specs

npm run extract-api

This will update the files in api-report with the latest public API. If it has uncommited changes, CI tests will fail. Run this command and commit the changes if they are expected.

Publishing a new version

New versions are automated weekly, but you can also trigger a new release through CircleCI or locally following these steps:

  • Run bundle exec fastlane bump and follow the instructions
  • A PR should be created with the changes and a hold job in CircleCI.
  • Approve the hold job once tests pass. This will create a tag and continue the release in CircleCI
  • Merge the PR once it's been released