ESLint plugin providing i18n-specific lint rules for format-message, an ICU Message Format internationalization library. Version 6.2.4 is the current stable release (last updated 2020). It includes 8 rules: literal-pattern, literal-locale, no-identical-translation, no-invalid-pattern, no-invalid-translation, no-missing-params, no-missing-translation, and translation-match-params. Requires eslint >=2.0.0. Key differentiator: integrates compile-time checks for format-message patterns, translations, and parameter usage, preventing runtime errors in i18n workflows.
npm install eslint-plugin-format-messageVerified import paths — ran on the pinned version, not inferred.
Configures ESLint with all format-message rules and settings for translation files.
Ensure the 'translations' path exists and contains valid JSON translation files.
Set 'allowNonLiteral' to false in the rule options to restore v5 strict checks.
Install eslint-plugin-format-message in the project or use '--resolve-plugins-relative-to' with ESLint CLI.
Upgrade ESLint to version 2.0.0 or later.
Flatten the translation JSON files with separate keys for each message.
Run 'npm install eslint-plugin-format-message --save-dev' and ensure the package is in your project's node_modules.
Add '"plugins": ["format-message"]' to your ESLint config and verify rule names are correct.
Install format-message: 'npm install format-message' or ensure it's a peer dependency.
Review the pattern syntax against ICU Message Format spec; fix curly braces and escaped characters.