ESLint v7.8.0 has been released:https://t.co/xrKRHJ8e6F
— ESLint (@geteslint) August 31, 2020
ESLint 7.8.0
がリリースされました。小さな機能追加とバグ修正が行われました。
質問やバグ報告等ありましたら、お気軽にこちらまでお寄せください。
🏢 日本語 Issue 管理リポジトリ
👫 日本語サポート チャット (招待リンク)
🏢 本家リポジトリ
👫 本家サポート チャット (招待リンク)
[PR] ESLint は開発リソースを確保するための寄付を募っています。
応援してくださると嬉しいです。
✨ 本体への機能追加
env.es2021
が追加されました
🔖 #13603
module.exports = {
env: {
es2021: true,
},
}
2つの新しいグローバル変数 WeakRef
と FinalizationRegistry
を定義します。
論理演算の複合代入演算子をサポートしました
a1 &&= b1
a2 ||= b2
a3 ??= b3
これらの演算子の正規化は a1 = a1 && b1
ではなく a1 && (a1 = b1)
です。つまり、短絡する場合は代入演算が発生しません。
これらの演算子には短絡動作 (short-circuit) があるため、今までは複合代入演算子をサポートしていませんでした。最近追加された ??
演算子によって需要が出たため、短絡動作があっても複合代入演算子をサポートすることになりました。
この新しい構文を使用する場合、parserOptions.ecmaVersion
オプションを 2021
に指定してください。
module.exports = {
parserOptions: {
ecmaVersion: 2021,
},
}
数値リテラルの桁区切りをサポートしました
const binary = 0b0000_1010_0101_1111
const octal = 0o012_666_755
const hex = 0xDEAD_BEAF
const decimal = 1_000_000_000
桁数の多い数値をアンダーバーで区切って読みやすくできます。
この新しい構文を使用する場合、parserOptions.ecmaVersion
オプションを 2021
に指定してください。
module.exports = {
parserOptions: {
ecmaVersion: 2021,
},
}
💡 新しいルール
特になし
🔧 オプションが追加されたルール
no-magic-numbers ignoreDefaultValues
🔖 #12611
デフォルト値にマジックナンバーを許可するオプションが追加されました。
/*eslint no-magic-numbers: [error, { ignoreDefaultValues: true }]*/
//✓ GOOD
const { PI = 3.14159265359 } = constants
id-length exceptionPatterns
🔖 #13576
正規表現で許可する名前を指定するオプションが追加されました。
/*eslint id-length: [error, { min: 3, exceptionPatterns: ["^(e|pi)$"] }]*/
//✓ GOOD
const e = 2.71828182846
const pi = 3.14159265359
//✘ BAD
const f = () => {}