ESLint v3.13.0 has been released: https://t.co/HcvHViG8Ih
— ESLint (@geteslint) 2017年1月6日
ESLint 3.13.0 がリリースされました。
いくつかの機能追加・バグ修正が行われています。
質問やバグ報告等ありましたら、お気軽にこちらまでお寄せください。
新しいルール
#6053: prefer-destructuring
ローカル変数にプロパティを代入する際に分割代入 (Destructuring Declarations/Assignments) を優先して使おう、というスタイル・ルールです。
例
/*eslint prefer-destructuring: error */
//✔ GOOD
const {foo, bar} = obj
//✘ BAD
const foo = obj.foo
const bar = obj.bar
オプションが追加されたルール
#7564: object-shorthand avoidExplicitReturnArrows
関数本文がブロックであるアロー関数もメソッド記法で書くべし、というオプションが追加されました。
例
/*eslint object-shorthand: [error, always, {avoidExplicitReturnArrows: true}] */
//✔ GOOD
const a = {
foo() {
// do something.
},
bar: () => doSomething(),
}
//✘ BAD
const b = {
foo: () => {
// do something.
},
}
eslint --fix
をサポートしたルール
#7540: no-unneeded-ternary
例
const foo = bar === 1 ? true : false
const baz = qux ? qux : boop
// ↓↓↓ gets fixed to ↓↓↓
const foo = bar === 1
const baz = qux || boop
#7702: operator-linebreak
例
foo
&& bar;
// ↓↓↓ gets fixed to ↓↓↓
foo &&
bar
#7740: object-property-newline
例
const w = {x,
y, z
}
// ↓↓↓ gets fixed to ↓↓↓
const w = {
x,
y,
z
}
#7840: no-extra-label
例
A: while (true) {
doSomething()
break A
}
// ↓↓↓ gets fixed to ↓↓↓
while (true) {
doSomething()
break
}