Skip to content

Conversation

@monholm
Copy link
Contributor

@monholm monholm commented Nov 14, 2025

I'd like to open a discussion regarding whether the no-expression-in-message rule should be included in the recommended set of rules.
Since lingui@v5 introduced support for placeholder value comments in the PO files, the rule seems obsolete. The rule is (for us at least) causing more friction than benefit, as we are forced to destructure objects for no other reason than to satisfy this rule, even though the context makes it clear what the translator should expect.

I ended up creating a PR instead of an issue to make it easier for the maintainers to merge this if they agree with the change, as it took more or less the same amount of effort as writing an issue and waiting for a response.

Let me know what you think and thank you for your work on the project :)

Lingui v5 included placeholder values in PO comments, rendering this rule obsolete.

BREAKING CHANGE: `no-expression-in-message` removed from recommended rules
@codecov
Copy link

codecov bot commented Nov 14, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.86%. Comparing base (de66adf) to head (6ae9f6a).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #113   +/-   ##
=======================================
  Coverage   97.86%   97.86%           
=======================================
  Files          11       11           
  Lines         563      563           
  Branches      191      191           
=======================================
  Hits          551      551           
  Misses         12       12           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@timofei-iatsenko
Copy link
Collaborator

@monholm thanks for your input. Lingui starting from 5.2 also supports named placeholderswhich should improve DX in that area.

The eslint rule should also support this syntax and should not flag it. The general plan is to move towards explicitly named placeholders instead of {0} or reading it from the variable name. So i would like to keep this rule enabled but it should be shifted more to enforcing using a named explicit placeholders.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants