Skip to content

Latest commit

 

History

History
99 lines (66 loc) · 2.74 KB

CONTRIBUTING.md

File metadata and controls

99 lines (66 loc) · 2.74 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

Requirements

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

Updating tzdata version

  1. Change IANA_TZ_VERSION in WORKSPACE to the desired version

  2. Update the sha512 for tzdata & tzcode targets

  3. Potentially update tz data

bazel run //packages/intl-datetimeformat:tz_data.update

Generating CLDR data

  1. Check out ./BUILD file for generatable data — which are identifiable via generate_src_file() call
    generate_src_file(
      name = "regex",
      ...
    )
    
  2. Create an empty file with the given src attribute — path is relative to module root
    touch packages/icu-messageformat-parser/regex.generated.ts
  3. Run update script
    bazel run //packages/icu-messageformat-parser:regex.update
  4. Verify
    bazel run //packages/icu-messageformat-parser:regex