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!
To setup locally, first initialize the git submodule:
> git submodule init
> git submodule update
Now you can build & test with pnpm
:
pnpm i && pnpm 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
-
Change
IANA_TZ_VERSION
in WORKSPACE to the desired version -
Update the sha512 for tzdata & tzcode targets
-
Potentially update tz data
bazel run //packages/intl-datetimeformat:tz_data.update
- Check out
./BUILD
file for generatable data — which are identifiable viagenerate_src_file()
callgenerate_src_file( name = "regex", ... )
- Create an empty file with the given
src
attribute — path is relative to module roottouch packages/icu-messageformat-parser/regex.generated.ts
- Run update script
bazel run //packages/icu-messageformat-parser:regex.update
- Verify
bazel run //packages/icu-messageformat-parser:regex