ESLint v3.14.0 has been released: https://t.co/qHpl5QfSuy
— ESLint (@geteslint) 2017年1月20日
ESLint 3.14.0 がリリースされました。
いくつかの機能追加・バグ修正が行われています。
質問やバグ報告等ありましたら、お気軽にこちらまでお寄せください。
新しいルール
#6424: no-multi-assign
複数の代入式を連鎖させる書き方を禁止するスタイル・ルールです。
例
/*eslint no-multi-assign: error */
//✔ GOOD
const foo = a
const bar = a
//✘ BAD
const foo = bar = a
#7685: prefer-promise-reject-errors
明らかに Error
以外の値を渡して Promise
を失敗状態にする事を禁止するルールです。
no-throw-literal ルールの Promise
バージョンです。
例
/*eslint prefer-promise-reject-errors: error */
//✔ GOOD
new Promise((resolve, reject) => {
const err = new Error("failed")
reject(err)
})
Promise.reject(new Error("failed"))
//✘ BAD
new Promise((resolve, reject) => {
reject()
})
new Promise((resolve, reject) => {
reject(666)
})
Promise.reject()
Promise.reject(666)
オプションが追加されたルール
#7444: no-extra-parens ignoreJSX
JSX 要素を囲む余分なカッコを無視するオプションが追加されました。
全て ("all"
), 単一行のみ ("single-line"
), 複数行のみ ("multi-line"
) の選択肢があります。
例
/*eslint no-extra-parens: [error, {ignoreJSX: "all"}] */
//✔ GOOD
const a = (<div>hello</div>)
//✘ BAD
const a = ("hello")
eslint --fix
をサポートしたルール
#7863: no-else-return
例
function foo() {
if (x) {
return y;
} else {
return z;
}
}
// ↓↓↓ gets fixed to ↓↓↓
function foo() {
if (x) {
return y;
}
return z;
}
※ 修正後、indent
ルールの設定に従ってインデントが自動修正されるでしょう。