Skip to content

trycourier/courier-js

Repository files navigation

Courier: Your Complete Communication Stack

Overview

SDK used by client applications to interface with the Courier API. This is the repo where we host both the SDK and dependencies needed for the developer environment to contribute to it.

What does Courier-JS support?

See docs here to read about features and how to install the SDK into your existing project.

Want to run this locally?

This repository contains client-sdk for Courier API. This SDK allows you to integrate Courier API into your web applications.

Overview

Repo Packages

  • examples/standalone-playground: A placeholder web application powered by Next.js that uses the @trycourier/courier-js package for demonstration purposes
  • @trycourier/courier-js: core client SDK for Courier API
  • @trycourier/tsconfig: shared tsconfig.jsons used throughout the repository
  • eslint-config-courier: ESLint preset

Each package and app is 100% TypeScript.

Utilities

This Turborepo has some additional tools already setup for you:

Getting Started

git clone https://github.com/trycourier/courier-js.git
pnpm install

Useful commands

  • yarn build - Build all packages and the docs site
  • yarn dev - Develop all packages and the docs site
  • yarn lint - Lint all packages
  • yarn changeset - Generate a changeset
  • yarn clean - Clean up all node_modules and dist folders (runs each package's clean script)

Versioning and Publishing packages

Package publishing has been configured using Changesets. Please review their documentation to familiarize yourself with the workflow.

This example comes with automated npm releases setup in a GitHub Action. To get this working, you will need to create an NPM_TOKEN and GITHUB_TOKEN in your repository settings. You should also install the Changesets bot on your GitHub repository as well.

For more information about this automation, refer to the official changesets documentation

Publish

If you want to publish package to the public npm registry and make them publicly available, this is already setup.

To publish packages to a private npm organization scope, remove the following from each of the package.json's

- "publishConfig": {
-  "access": "public"
- },

GitHub Package Registry

See Working with the npm registry

Share feedback with Courier

We are building the best SDKs for handling notifications! Have an idea or feedback about our SDKs? Here are some links to contact us: