ESLint v4.2.0 has been released: https://t.co/FGyCXGSnDJ
— ESLint (@geteslint) 2017年7月9日
ESLint 4.2.0 がリリースされました。
小さな機能追加とバグ修正が行われています。
質問やバグ報告等ありましたら、お気軽にこちらまでお寄せください。
🚀 本体への機能追加
#8730: CLIEngine
に渡すfix
オプションに関数を指定できるようになった
従来はfix
オプションに渡せる値は boolean
値であり、自動修正をするか・しないかを意味していました。
ここに関数を渡すことにより、警告毎に自動修正するか・しないかを細かく選択できるようになりました。
💡 新しいルール
#8460: getter-return
Getter が値を返さないコードパスを持っている場合に警告します。
例
/*eslint getter-return: error */
//✔ GOOD
var a = {
get foo() {
return 1
},
get foo2() {
if (c) {
return 1
} else {
return 2
}
}
}
//✘ BAD
var b = {
get foo() {
bar()
},
get foo2() {
if (c) {
return 1
}
}
}
🔧 オプションが追加されたルール
#8841: multiline-ternary always-multiline
式が複数行になる場合だけ?
と:
の周囲に改行を必要とするオプションが追加されました。
/* eslint multiline-ternary: [error, always-multiline] */
//✔ GOOD
var foo = a ? b : c
var bar = a
? someLong(
multiline,
expression)
: c
//✘ BAD
var foo = a ? someLong(
multiline,
expression) : c
#8859: no-sync allowAtRootLevel
ルートレベルでは Sync
で終わる関数の利用を許可するオプションが追加されました。
/* eslint no-sync: [error, { allowAtRootLevel: true }] */
//✔ GOOD
fs.writeFileSync("a.txt", "hello");
//✘ BAD
function wrap() {
fs.writeFileSync("a.txt", "hello");
}
✒️ eslint --fix
をサポートしたルール
今回はありません。