Thanks for considering a contribution to Xpring SDK!
We're thrilled you're interested and your help is greatly appreciated. Contributing is a great way to learn about the XRP Ledger and Interledger Protocol (ILP). We are happy to review your pull requests. To make the process as smooth as possible, please read this document and follow the stated guidelines.
This is a TypeScript library that is compiled to an npm
module, which provides common functionality for Xpring SDK across all languages.
This library is widely consumed, including by:
- Language Specific Libraries in Xpring SDK
- Xpring SDK's Server Side Component
If you make a code change to this library, you are more than likely adding a new feature in one or more dependent libraries. Your pull requests for all code changes should document how the new fields and functionality will be used.
Before being considered for review or merging, each pull request must:
- Pass continuous integration tests.
- Document how the new functionality will be used in client libraries.
- Be free of lint errors. Please run
eslint
before sending a pull request. - Be marked as drafts until they are ready for review.
- Adhere to the code of conduct for this repository.
The library should build and pass all tests.
# Clone repository
$ git clone https://github.com/xpring-eng/xpring-common-js.git
$ cd xpring-common-js
# Pull submodules
$ git submodule init
$ git submodule update
# Install Protocol Buffers
# OSX
$ brew install protobuf
# Linux
$ sudo apt install protobuf-compiler
# Otherwise, see: https://github.com/protocolbuffers/protobuf#protocol-compiler-installation
# Install gRPC Web
# OSX
$ curl -L https://github.com/grpc/grpc-web/releases/download/1.0.7/protoc-gen-grpc-web-1.0.7-darwin-x86_64 --output protoc-gen-grpc-web
$ sudo mv protoc-gen-grpc-web /usr/local/bin/
$ chmod +x /usr/local/bin/protoc-gen-grpc-web
# Linux
$ curl -L https://github.com/grpc/grpc-web/releases/download/1.0.7/protoc-gen-grpc-web-1.0.7-linux-x86_64 --output protoc-gen-grpc-web
$ sudo mv protoc-gen-grpc-web /usr/local/bin/
$ chmod +x /usr/local/bin/protoc-gen-grpc-web
# Install gRPC tools globally.
$ npm -g i nyc grpc-tools
# Install required modules.
$ npm i
# Run tests!
$ npm test