ESLint v3.7.0 released: https://t.co/7rmTlsysDs
— ESLint (@geteslint) 2016年9月30日
ESLint 3.7.0 がリリースされました。
今回はマイナーリリースですが、いつもの隔週リリースではなくて、ちょっとした事故リリースです。
バグ修正ブランチに機能追加が入っちゃった、まぁいっか! という感じ。ふぁにー。
また、この期間中に ESLint のコミッターが1名増えました。
Happy to share that @not_aardvark is now ESLint committers!
— ESLint (@geteslint) 2016年9月30日
彼の仕事はとても速く、今回のバグ修正と機能追加の大半は彼によるものです。
(ここ数回のリリースのほとんどすべての --fix
サポート追加は彼によるものです)
質問やバグ報告等ありましたら、お気軽にこちらまでお寄せください。
新しいルール
今回はありません。
オプションが追加されたルール
今回はありません。
新たに eslint --fix をサポートしたルール
#7186: dot-location
複数行に渡るプロパティアクセス式のドットの位置を修正します。
foo.
doSomething()
// ↓
foo
.doSomething()
#7196: wrap-iife
即時実行される関数式 (Immediately-Invoked Function Expression; IIFE) をカッコで囲みます。
!function() {
doSomething()
}()
// ↓
!(function() {
doSomething()
}())
#7199: yoda
比較式において、左辺がリテラル、右辺が変数だった場合にこれを反転させます。
let a = (1 === b)
// ↓
let a = (b === 1)
#7205: prefer-numeric-literals
parseInt("777", 8)
のような結果的に定数になる2進数・8進数・16進数のparseInt
関数呼び出しを、対応する数値リテラルに修正します。
let a = parseInt("1111", 2)
let b = parseInt("777", 8)
let c = parseInt("DEADBEAF", 16)
// ↓
let a = 0b1111
let b = 0777
let c = 0xDEADBEAF
#7210: no-undef-init
undefined
による初期化を削除します。
let obj = undefined
// ↓
let obj
#7207: no-useless-computed-key
不必要な Computed Property のプロパティ名を普通のプロパティ名に修正します。
let s = { ["foo"]: 1 }
// ↓
let s = { "foo": 1 }
プロパティ名を囲むクォートについては既存の quote-props ルールと quotes ルールが取り扱います。
例えば、quote-props ルールが as-needed
指定されていた場合は { foo: 1 }
に自動修正されます。
#7217: lines-around-directive
"use strict"
等のディレクティブ プロローグの前後の空行を自動修正します。
function foo() {
"use strict"
doSomething()
}
// ↓
function foo() {
"use strict"
doSomething()
}