noCondAssign 
Flags assignments used in conditional expressions (if, while, for condition segment).
- Category: Core (optional)
- Default: off
Config:
ts
rules: { noCondAssign: 'warn' } // 'off' | 'warn' | 'error'Example:
ts
if (x = compute()) {
  // ...
}Rationale: assignments in conditions are often mistakes; prefer explicit comparisons.
Non-violations 
- Assignments outside of condition parentheses are not flagged:
ts
let x
x = compute()
if (x) {
  // ok
}- Comparisons in conditions are fine:
ts
if (x === compute()) {
  // ok
}Best practices 
- Prefer explicit comparisons (===,!==) in conditions
- If you intentionally assign and test in one expression, make it obvious and consider disabling the rule locally with a comment for that line
- Split complex conditions across lines; readability reduces accidental assignments
- Consider extracting the computed value before the condition: const v = compute(); if (v) { ... }
Troubleshooting 
- “It flagged a forloop” — the rule only checks the condition segment offor (init; condition; update)and will report=found in the middle segment