Off-the-shelf integrations for using Indent with third-party APIs.
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
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
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'
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