Skip to content

Latest commit

 

History

History
68 lines (41 loc) · 2.16 KB

CONTRIBUTING.md

File metadata and controls

68 lines (41 loc) · 2.16 KB

Contributing

Pull requests are very welcome, but should be within the scope of the project, and follow the repository's code conventions. Before submitting a pull request, it's always good to file an issue, so we can discuss the details of the PR.

Reporting a Bug

  1. Ensure you've replicated the issue against main. There is a chance the issue may have already been fixed.

  2. Search for any similar issues (both opened and closed). There is a chance someone may have reported it already.

  3. Provide a demo of the bug isolated in a codesandbox.io. Sometimes this is not a possibility, in which case provide a detailed description along with any code snippets that would help in triaging the issue. If we cannot reproduce it, we will close it.

  4. The best way to demonstrate a bug is to build a failing test. This is not required, however, it will generally speed up the development process.

Submitting a pull request

  1. Fork the repository.

  2. Ensure that all tests are passing prior to submitting.

  3. If you are adding new functionality, or fixing a bug, provide test coverage.

  4. Follow syntax guidelines detailed below.

  5. Push the changes to your fork and submit a pull request. If this resolves any issues, please mark in the body fix #ID within the body of your pull request. This allows for github to automatically close the related issue once the pull request is merged.

  6. Last step, submit the pull request!

Development

We currently use bazel to develop, along with lerna for package management.

Required UNIX dependencies:

  • zic for intl-datetimeformat tz compilation
  • zdump for intl-datetimeformat tz dump
  • realpath for absolute path resolution

To setup locally, first initialize the git submodule:

> git submodule init
> git submodule update

Now you can build & test with npm:

npm i && npm run build && npm t

To run examples:

npm run examples

Releases can be done with the following steps:

npm run release

To publish next tag

npm run release:next