Skip to content
This repository has been archived by the owner on Jan 22, 2024. It is now read-only.

Latest commit

 

History

History
67 lines (48 loc) · 2.67 KB

CONTRIBUTING.md

File metadata and controls

67 lines (48 loc) · 2.67 KB

Contributing

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.

About This Library

Architecture Diagram of Xpring SDK

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:

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.

Requirements for a Successful Pull Request

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.

Building The Library

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