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.
-
Ensure you've replicated the issue against
main
. There is a chance the issue may have already been fixed. -
Search for any similar issues (both opened and closed). There is a chance someone may have reported it already.
-
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.
-
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.
-
Fork the repository.
-
Ensure that all tests are passing prior to submitting.
-
If you are adding new functionality, or fixing a bug, provide test coverage.
-
Follow syntax guidelines detailed below.
-
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. -
Last step, submit the pull request!
We currently use bazel
to develop, along with lerna for package management.
Required UNIX dependencies:
zic
forintl-datetimeformat
tz compilationzdump
forintl-datetimeformat
tz dumprealpath
for absolute path resolution
To setup locally, first initialize the git submodule:
> git submodule init
> git submodule update
Now you can build & test with yarn:
> yarn
> yarn build
> yarn test
To run examples:
> yarn examples
Releases can be done with the following steps:
> yarn release
To publish next tag
> yarn release:next