Skip to content

indentapis/integrations

Repository files navigation

Indent Integrations

Off-the-shelf integrations for using Indent with third-party APIs.

Requirements

Getting Started

This repo stores the majority of the integrations that Indent currently supports. It's organized as a monorepo that uses Lerna and Turborepo to manage packages, each deployed as their own npm modules.

Once you have the system requirements installed, you can clone the repo:

git clone https://github.com/indentapis/integrations && cd integrations
yarn

Install Go v1.18 and GopherJS:

brew install [email protected]
brew link [email protected]
go install github.com/gopherjs/gopherjs

To configure your project, by linking all the modules together:

yarn configure # installs dependencies and bootstrap symlinks
# or
yarn bootstrap # just relink all the modules

Now when you make changes and re-compile, the modules will pull the new code. You can compile by running:

yarn compile
# or watch for file changes
yarn dev

Contributing

All individual integrations are stored in the packages/ directory. The modules are organized by the release stage: stable, beta and alpha. If you want to add a new webhook integration, run the following command:

cd packages/beta
npx create-example-app -r indentapis/integrations -e new-full-integration

Or if you want to create a new custom integration in your own directory:

npx create-example-app -r indentapis/integrations -e new-full-integration

Testing

When developing an integration, you can run tests from the root of the repository:

yarn test

Or for a specific integration:

yarn test --scope='@indent/<integration>-webhook'

Releasing

When releasing a new package/integration, you will first need to create a PR from your branch:

git checkout -b add-feature
# or 
gh pr create <ID-num>

And then publish the canary packages, which will build and test the integrations before releasing:

make version-canary