# FormatJS

[![Unit Tests](https://github.com/formatjs/formatjs/actions/workflows/tests.yml/badge.svg)](https://github.com/formatjs/formatjs/actions/workflows/tests.yml)
[![Karma Tests](https://github.com/formatjs/formatjs/actions/workflows/tests-karma.yml/badge.svg)](https://github.com/formatjs/formatjs/actions/workflows/tests-karma.yml)
[![Slack FormatJS](https://img.shields.io/badge/slack-@formatjs-green.svg?logo=slack)](https://join.slack.com/t/formatjs/shared_invite/enQtNjM2MjM4NjE4ODIxLTMyMWE0YTNhMTlmMzZlNzJlNjEzMWY0YjM2ODUxYjlmNDE2YzQyMDIxZDg3Y2Q5YWNlMzhhYzRiNDk0OGQwNGI)
[![Sauce Browser Matrix Status](https://app.saucelabs.com/browser-matrix/formatjsproject.svg)](https://app.saucelabs.com/u/formatjsproject)

This repository is the home of [FormatJS](http://formatjs.github.io/) and related libraries.

**Slack:** Join us on Slack at [formatjs.slack.com](https://formatjs.slack.com/) for help, general conversation and more 💬🎊🎉
You can sign-up using this [invitation link](https://join.slack.com/t/formatjs/shared_invite/enQtNjYwMzE4NjM1MDQzLTA5NDE1Y2Y1ZWNiZWI1YTU5MGUxY2M0YjA4NWNhMmU3YTRjZmQ3MTE3NzJmOTAxMWRmYWE1ZTdkMmYzNzA5Y2M).

## Development

See [CONTRIBUTING.md](CONTRIBUTING.md#Development) for instructions.

## Published Packages

| Package                                                                                                | Version                                                                 | Changelog                                                             | License                                                                       |
| ------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------- | --------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| [@formatjs/cli](https://www.npmjs.com/package/@formatjs/cli)                                           | ![version](https://badgen.net/npm/v/@formatjs/cli)                      | [CHANGELOG](packages/cli/CHANGELOG.md)                                | ![license](https://badgen.net/npm/license/@formatjs/cli)                      |
| [@formatjs/icu-messageformat-parser](https://www.npmjs.com/package/@formatjs/icu-messageformat-parser) | ![version](https://badgen.net/npm/v/@formatjs/icu-messageformat-parser) | [CHANGELOG](packages/@formatjs/icu-messageformat-parser/CHANGELOG.md) | ![license](https://badgen.net/npm/license/@formatjs/icu-messageformat-parser) |
| [@formatjs/intl-datetimeformat](https://www.npmjs.com/package/@formatjs/intl-datetimeformat)           | ![version](https://badgen.net/npm/v/@formatjs/intl-datetimeformat)      | [CHANGELOG](packages/intl-datetimeformat/CHANGELOG.md)                | ![license](https://badgen.net/npm/license/@formatjs/intl-datetimeformat)      |
| [@formatjs/intl-displaynames](https://www.npmjs.com/package/@formatjs/intl-displaynames)               | ![version](https://badgen.net/npm/v/@formatjs/intl-displaynames)        | [CHANGELOG](packages/intl-displaynames/CHANGELOG.md)                  | ![license](https://badgen.net/npm/license/@formatjs/intl-displaynames)        |
| [@formatjs/intl-getcanonicallocales](https://www.npmjs.com/package/@formatjs/intl-getcanonicallocales) | ![version](https://badgen.net/npm/v/@formatjs/intl-getcanonicallocales) | [CHANGELOG](packages/intl-getcanonicallocales/CHANGELOG.md)           | ![license](https://badgen.net/npm/license/@formatjs/intl-getcanonicallocales) |
| [@formatjs/intl-listformat](https://www.npmjs.com/package/@formatjs/intl-listformat)                   | ![version](https://badgen.net/npm/v/@formatjs/intl-listformat)          | [CHANGELOG](packages/intl-listformat/CHANGELOG.md)                    | ![license](https://badgen.net/npm/license/@formatjs/intl-listformat)          |
| [@formatjs/intl-locale](https://www.npmjs.com/package/@formatjs/intl-locale)                           | ![version](https://badgen.net/npm/v/@formatjs/intl-locale)              | [CHANGELOG](packages/intl-locale/CHANGELOG.md)                        | ![license](https://badgen.net/npm/license/@formatjs/intl-locale)              |
| [@formatjs/intl-localematcher](https://www.npmjs.com/package/@formatjs/intl-localematcher)             | ![version](https://badgen.net/npm/v/@formatjs/intl-localematcher)       | [CHANGELOG](packages/intl-localematcher/CHANGELOG.md)                 | ![license](https://badgen.net/npm/license/@formatjs/intl-localematcher)       |
| [@formatjs/intl-numberformat](https://www.npmjs.com/package/@formatjs/intl-numberformat)               | ![version](https://badgen.net/npm/v/@formatjs/intl-numberformat)        | [CHANGELOG](packages/intl-numberformat/CHANGELOG.md)                  | ![license](https://badgen.net/npm/license/@formatjs/intl-numberformat)        |
| [@formatjs/intl-pluralrules](https://www.npmjs.com/package/@formatjs/intl-pluralrules)                 | ![version](https://badgen.net/npm/v/@formatjs/intl-pluralrules)         | [CHANGELOG](packages/intl-pluralrules/CHANGELOG.md)                   | ![license](https://badgen.net/npm/license/@formatjs/intl-pluralrules)         |
| [@formatjs/intl-relativetimeformat](https://www.npmjs.com/package/@formatjs/intl-relativetimeformat)   | ![version](https://badgen.net/npm/v/@formatjs/intl-relativetimeformat)  | [CHANGELOG](packages/intl-relativetimeformat/CHANGELOG.md)            | ![license](https://badgen.net/npm/license/@formatjs/intl-relativetimeformat)  |
| [@formatjs/intl-segmenter](https://www.npmjs.com/package/@formatjs/intl-segmenter)                     | ![version](https://badgen.net/npm/v/@formatjs/intl-segmenter)           | [CHANGELOG](packages/intl-segmenter/CHANGELOG.md)                     | ![license](https://badgen.net/npm/license/@formatjs/intl-segmenter)           |
| [@formatjs/intl](https://www.npmjs.com/package/@formatjs/intl)                                         | ![version](https://badgen.net/npm/v/@formatjs/intl)                     | [CHANGELOG](packages/intl/CHANGELOG.md)                               | ![license](https://badgen.net/npm/license/@formatjs/intl)                     |
| [@formatjs/ts-transformer](https://www.npmjs.com/package/@formatjs/ts-transformer)                     | ![version](https://badgen.net/npm/v/@formatjs/ts-transformer)           | [CHANGELOG](packages/ts-transformer/CHANGELOG.md)                     | ![license](https://badgen.net/npm/license/@formatjs/ts-transformer)           |
| [babel-plugin-formatjs](https://www.npmjs.com/package/babel-plugin-formatjs)                           | ![version](https://badgen.net/npm/v/babel-plugin-formatjs)              | [CHANGELOG](packages/babel-plugin-formatjs/CHANGELOG.md)              | ![license](https://badgen.net/npm/license/babel-plugin-formatjs)              |
| [eslint-plugin-formatjs](https://www.npmjs.com/package/eslint-plugin-formatjs)                         | ![version](https://badgen.net/npm/v/eslint-plugin-formatjs)             | [CHANGELOG](packages/eslint-plugin-formatjs/CHANGELOG.md)             | ![license](https://badgen.net/npm/license/eslint-plugin-formatjs)             |
| [intl-messageformat](https://www.npmjs.com/package/intl-messageformat)                                 | ![version](https://badgen.net/npm/v/intl-messageformat)                 | [CHANGELOG](packages/intl-messageformat/CHANGELOG.md)                 | ![license](https://badgen.net/npm/license/intl-messageformat)                 |
| [react-intl](https://www.npmjs.com/package/react-intl)                                                 | ![version](https://badgen.net/npm/v/react-intl)                         | [CHANGELOG](packages/react-intl/CHANGELOG.md)                         | ![license](https://badgen.net/npm/license/react-intl)                         |
| [@formatjs/utils](https://www.npmjs.com/package/@formatjs/utils)                                       | ![version](https://badgen.net/npm/v/@formatjs/utils)                    | [CHANGELOG](packages/utils/CHANGELOG.md)                              | ![license](https://badgen.net/npm/license/@formatjs/utils)                    |

## Big Thanks

Cross-browser Testing Platform and Open Source <3 Provided by [Sauce Labs][saucelabs]

[lerna]: https://lerna.js.org/
[saucelabs]: https://saucelabs.com
