This repository is a monorepo that we manage using Lerna. That means that we publish several packages to npm from the same codebase. If you are a dapp developer, we recommend you start with the following three high-level packages:
Package | Version | Docs | Description |
---|---|---|---|
@parity/light.js |
A high-level reactive library optimized for light clients. | ||
@parity/light.js-react |
Easily integrate @parity/light.js with React. |
||
@parity/api |
Coming soon... | Promise-based JSONRPC method wrapper, similar to web3.js . |
And below are the lower-level packages, used internally, or by advanced users.
Package | Version | Docs | Description |
---|---|---|---|
@parity/abi |
Ethereum ABI encoder and decoder. | ||
@parity/contracts |
Parity's contracts as ES6 classes. | ||
@parity/electron |
Control the Parity Ethereum node from Electron. |
Install at least yarn
version 1.4.2 and Node.js >=10.10.0
yarn --version // Should be at least 1.4.2
yarn test
yarn build
-
Fork the repo
-
Clone your fork
git clone https://github.com/<INSERT_YOUR_GITHUB_USERNAME>/js-libs
- Check outdated dependencies
yarn outdated
- Create a branch
git checkout -b <INSERT_YOUR_BRANCH_NAME>
- Run tests, type checking, linting, and build
yarn test; yarn typecheck; yarn lint; yarn build
-
Push the branch to your fork of the repo
-
Integrate the updated library as a dependency. Example: If you want to test a branch of one of the js-lib packages in another project like Fether temporarily, then build js-libs and replace the /lib directory where it's a dependency on the Fether project. Then run Fether to use it:
~/paritytech/js-libs [my-branch-name] $ yarn build
~/paritytech/js-libs [my-branch-name] $ cp -r packages/my-package/lib ../fether/node_modules/@parity/my-package/lib
~/paritytech/js-libs [my-branch-name] $ cd ../fether
~/paritytech/fether [master] $ yarn start
- Create a pull request from your fork of the repo to the upstream master branch
All Parity's JavaScript libraries are open-source software licensed as MIT.