Package | Status | Description |
---|---|---|
@synthetixio/contracts-interface |
Synthetix contracts interface | |
@synthetixio/queries |
React library for querying data | |
@synthetixio/providers |
Synthetix providers for layer 1 and 2 | |
@synthetixio/optimism-networks |
Network utility for layer 2 | |
@synthetixio/transaction-notifier |
Transaction utility for layer 1 and 2 |
This repo uses lerna
to manage multiple packages in the same repo. To prepare the repository for use, run:
npm install
npm run bootstrap
This will install all npm dependencies, wire dependencies between packages in this repo, and allow for you to build projects.
If you make a change and want to generate the library JS code, run:
npm run build
This will ensure all projects are fully built in topological order. You are also free to run script NPM commands from individual repositories if necessary or desired.
We have a GitHub workflow for publishing releases. To publish:
- Go here https://github.com/Synthetixio/js-monorepo/actions/workflows/updateDependency.yml
- Click Run Workflow
When you open a PR a dev package will be published automatically when CI passes. The version will be 0.0.0-<git short sha>
lerna
is specially designed to handle package updates. If you want to push a new release for one or more packages in this repo, run:
lerna publish
Lerna will automatically detect changes for packages, and offer to increment the version number and push an NPM release as appropriate. Any dependant modules will be kept in sync as well.