Skip to content
Interledger.JS monorepo
TypeScript JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.dependabot refactor: add dependabot config Oct 8, 2019
.vscode Update README and scripts Jul 5, 2019
.eslintrc.js refactor: move eslintConfig to .eslintrc.js file Sep 2, 2019
.gitignore refactor: change outdir to dist Sep 5, 2019 refactor: update readme Oct 4, 2019
lerna.json feat: only allow versioning on master Sep 2, 2019
package.json refactor: remove version scripts Sep 5, 2019
tsconfig.json refactor: change outdir to dist Sep 5, 2019
yarn.lock fix: revert version changes Sep 9, 2019

Interledger.JS Monorepo


This is a WIP and will ultimately replace a number of stand-alone modules


Interledger.JS has a long history of modules that have been added as experiments and abandoned or deprecated and replaced by new versions or alternatives. Since late 2018 a few key modules have stabilized and become key dependencies for various others.

For a while the community has been keen to put many of the core modules into a single monorepo. The current packages included are:

  1. ilp-logger
  2. ilp-packet
  3. ilp-protocol-ccp
  4. ilp-protocol-ildcp
  5. oer-utils


The monorepo is set up to use lerna and yarn workspaces. To get started run the following:

  1. yarn install - Yarn will install the dependencies and do the necessary linking. So no need to run lerna bootstrap.
  2. yarn build
  3. yarn test - This will run the tests in all the packages.

Running script commands

Script commands such as test and lint can be run from the root of the project by running

# All tests in all packages
yarn test

#Scoping to a package
yarn test --scope=packages/<package-name>

or in the package directory

yarn test

If you are interested in contributing, please read the contributing guidelines.

Note to maintainers: Versioning

Independent versioning is used for this project and releases can only be made from master. You will need to set the GH_TOKEN env variable to your personal github access token. Please make sure that you are up to date with master and that the tests and linting pass. Then use the following to create a release:

# On master
GH_TOKEN=<github-token> lerna version --conventional-commits --create-release github

and follow the command prompts. This will commit the package version changes and create the necessary tags - all of which will be pushed to master. It will also create changelogs and official github releases.

If you want to release an alpha then run

# On master
GH_TOKEN=<github-token> lerna version --conventional-commits --conventional-prerelease --create-release github

This will append -alpha.<alpha-version> to the release name. The alpha release can be graduated (1.0.1-alpha.1 => 1.0.1) by running

# On master
GH_TOKEN=<github-token> lerna version --conventional-commits --conventional-graduate --create-release github
You can’t perform that action at this time.