ESLint plugin enforcing i18n best practices by flagging untranslated literal strings in JSX and JavaScript. Current stable version 6.1.4 is ESM-only, requires Node >=18.10, and ships TypeScript declarations. Breaking change in v6: default behavior only validates plain text in JSX markup (not all strings). Provides flat config support for ESLint 9 and legacy .eslintrc format for ESLint 8. Key differentiator: auto-fix is intentionally disabled because translation keys rarely match the literal string.
Verified import paths — ran on the pinned version, not inferred.
Plugin is ESM-only since v6; require() fails with ERR_REQUIRE_ESM.
Flat config is available only in v6+ with ESLint 9.
Legacy config can still be used with ESLint 8; do not import in flat config.
Rules are accessed via the plugin prefix in ESLint config, not by direct import.
Flat ESLint 9 configuration with default mode (JSX-only text) and recommended rules.
Breaking-change detection hasn't run for this library yet.
CVE tracking and dependency tree are planned for a later release.