Release v3#78
Merged
Merged
Conversation
…rences from "other" are found
bearfriend
added a commit
that referenced
this pull request
Mar 5, 2026
## Summary - BREAKING CHANGE: Always throws on error. The `--throw-errors` option has been removed. - BREAKING CHANGE: The `locales` option now takes an array when used in config files - New `format` subcommand rewrites messages to a standard format - Issue types renamed: - `case` -> `option` - `nest` -> `nest-source` and `nest-ideal` - `duplicate-keys` -> `duplicate` - `plural-key` -> `category` - `categories` -> `category-missing` - `source-error` -> `source` - New issue types - `option-missing` ## Change Log * Add format * Cleanup terminology, grammar, etc. * Throw on error * Add trim and collapse; Move translator-output to print-missing subcommand * Fix output order * Add trim and collapse options * Add format tests * Fix lint and tests * Add more format tests and improvements to make them pass * "string" -> "message" * Use @formatjs/icu-messageformat-parser in the validator * Use Intl.PluralRules in validate * Add utils * Add nested category tests * Use tabs for indentation * Prevent exit code when errors are ignored * Tidy error names and messages * Build required cldr data; cldr to devDependencies * Move find-config to utils * Add build script * Locales config as array * Prevent double build on install * Cleanup * Rework duplicate error * Lots of stuff * Handle fr-on data * Add starting locale-data file * Fix build path * Fix locale data * Fix localesMap check * Clean up logging * Add "near: ..." to parse errors * Fix async looping issues * Fix escaping and quoting; Enable hash expansion * Actually fix escaping + cleanup * Improve arg finding * Final escaping fix (hopefully) * Improve argument correction * Add arg correction option * Indicate path glob support * Fix escaped arg regex * Improve argument correction * 3.0.0-beta.0 * 3.0.0-beta.1 * Indent multiline templates beyond their keys * Add apostophe character to delimiters * Handle apostophes with pure cldr data * Add haw quote test * 3.0.0-beta.2 * Fix case match argument correction * 3.0.0-beta.3 * Escape quotes as necessary * 3.0.0-beta.4 * Unescape quotes before formatting * 3.0.0-beta.5 * Export structureRegEx and formatMessage * Improve structureRegEx to handle escapes better (but not perfectly) * Fix indentation when not using -n * 3.0.0-beta.6 * 3.0.0-beta.7 * Fix unicode regex * Fix file writing * Sort . above everything else * Fix exit code * Do not hoist with trim enabled * 3.0.0-beta.8 * Add Thai and Vietnamese as default locales * Fix writes more * Fix print-missing * 3.0.0-beta.9 * Fix source quotes * 3.0.0-beta.10 * Fix hash replacements * 3.0.0-beta.11 * Fix sorting comma handling * 3.0.0-beta.12 * Handle comments properly when checking comma for sort * 3.0.0-beta.13 * Convert English source "=1" cases to "one" if only basic plural differences from "other" are found * 3.0.0-beta.14 * Fix erroneous =1 swapping * 3.0.0-beta.15 * Fix argument checking in additional plural categories * 3.0.0-beta.16 * Improve apostrophe tests * Fix apostrophe recognition/escaping * Fic double backslash value parsing * 3.0.0-beta.17 * Update README * Remove rebase artifact
bearfriend
added a commit
that referenced
this pull request
Mar 5, 2026
## Summary - BREAKING CHANGE: Always throws on error. The `--throw-errors` option has been removed. - BREAKING CHANGE: The `locales` option now takes an array when used in config files - New `format` subcommand rewrites messages to a standard format - Issue types renamed: - `case` -> `option` - `nest` -> `nest-source` and `nest-ideal` - `duplicate-keys` -> `duplicate` - `plural-key` -> `category` - `categories` -> `category-missing` - `source-error` -> `source` - New issue types - `option-missing` ## Change Log * Add format * Cleanup terminology, grammar, etc. * Throw on error * Add trim and collapse; Move translator-output to print-missing subcommand * Fix output order * Add trim and collapse options * Add format tests * Fix lint and tests * Add more format tests and improvements to make them pass * "string" -> "message" * Use @formatjs/icu-messageformat-parser in the validator * Use Intl.PluralRules in validate * Add utils * Add nested category tests * Use tabs for indentation * Prevent exit code when errors are ignored * Tidy error names and messages * Build required cldr data; cldr to devDependencies * Move find-config to utils * Add build script * Locales config as array * Prevent double build on install * Cleanup * Rework duplicate error * Lots of stuff * Handle fr-on data * Add starting locale-data file * Fix build path * Fix locale data * Fix localesMap check * Clean up logging * Add "near: ..." to parse errors * Fix async looping issues * Fix escaping and quoting; Enable hash expansion * Actually fix escaping + cleanup * Improve arg finding * Final escaping fix (hopefully) * Improve argument correction * Add arg correction option * Indicate path glob support * Fix escaped arg regex * Improve argument correction * 3.0.0-beta.0 * 3.0.0-beta.1 * Indent multiline templates beyond their keys * Add apostophe character to delimiters * Handle apostophes with pure cldr data * Add haw quote test * 3.0.0-beta.2 * Fix case match argument correction * 3.0.0-beta.3 * Escape quotes as necessary * 3.0.0-beta.4 * Unescape quotes before formatting * 3.0.0-beta.5 * Export structureRegEx and formatMessage * Improve structureRegEx to handle escapes better (but not perfectly) * Fix indentation when not using -n * 3.0.0-beta.6 * 3.0.0-beta.7 * Fix unicode regex * Fix file writing * Sort . above everything else * Fix exit code * Do not hoist with trim enabled * 3.0.0-beta.8 * Add Thai and Vietnamese as default locales * Fix writes more * Fix print-missing * 3.0.0-beta.9 * Fix source quotes * 3.0.0-beta.10 * Fix hash replacements * 3.0.0-beta.11 * Fix sorting comma handling * 3.0.0-beta.12 * Handle comments properly when checking comma for sort * 3.0.0-beta.13 * Convert English source "=1" cases to "one" if only basic plural differences from "other" are found * 3.0.0-beta.14 * Fix erroneous =1 swapping * 3.0.0-beta.15 * Fix argument checking in additional plural categories * 3.0.0-beta.16 * Improve apostrophe tests * Fix apostrophe recognition/escaping * Fic double backslash value parsing * 3.0.0-beta.17 * Update README * Remove rebase artifact
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
v3 Changes
--throw-errorsoption has been removed.localesoption now takes an array when used in config filesformatsubcommand rewrites messages to a standard formatcase->optionnest->nest-sourceandnest-idealduplicate-keys->duplicateplural-key->categorycategories->category-missingsource-error->sourceoption-missing