ESLint 10.6.0 がリリースされた。no-constant-binary-expression に checkRelationalComparisons オプションが追加され、<、<=、>、>= で両辺がリテラルのとき、結果が常に一定になる比較を報告できる。デフォルトは無効で、有効化すると文字列や数値リテラル同士の比較や、条件が常に真になるループも対象になる。
js
const value = "a" > "b"; // always `false`js
while (0 <= 0) {
/* ... */
}設定では次のように指定する。
js
/*eslint no-constant-binary-expression: ["error", { "checkRelationalComparisons": true }]*/max-classes-per-file、max-nested-callbacks、no-extra-boolean-cast、no-promise-executor-return、no-throw-literal、prefer-exponentiation-operator、prefer-promise-reject-errors、radix も、エッジケースでの正確性と挙動の一貫性が改善されている。
バグ修正では、ローカルで undefined、Boolean、Promise を再定義しているコードで誤報していたケースが複数ルールで解消された。max-nested-callbacks は IIFE 内のコールバック判定と、内側の非コールバック関数の除外が直されている。max-classes-per-file の報告範囲、prefer-exponentiation-operator の文頭での不正な autofix も修正された。