18
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ESLint v3.4.0

Last updated at Posted at 2016-08-27

v3.3.0 | 次 v3.5.0

ESLint 3.4.0 がリリースされました。
小さな機能追加といくつかのバグ修正が行われています。

質問やバグ報告等ありましたら、お気軽にこちらまでお寄せください。


:sparkles: ESLint 本体への変更

#6362: Scoped パッケージによるプラグインが定義するルールの指定方法が変更された

詳しくはESLintでscoped modulesとして提供されているプラグインを読み込むを参照ください。

破壊的変更を防ぐため、従来の指定方法も引き続き利用できます。
従来の指定方法は v4.0.0 がリリースされるときに削除されます。

Thanks @mizdra !

#6750: ecmaVersionを年号形式で指定できるようになった

今まで、ecmaVersionはリビジョン形式でしか設定できませんでした。
例えば ECMA-262 6th Edition / ECMAScript® 2015 Language Specification (俗称 ES6) の場合は、ecmaVersion: 6です。

これを年号形式でも指定できるようになりました。
上記の場合、ecmaVersion: 2015です。

#6710,#6780: 特定状況下での性能が改善された

ひとつは.eslintignore利用時の性能が改善されました。
もうひとつは--cacheオプション利用時の性能が改善されました。

詳細はリンク先の Issue を御覧ください。

:bulb: 新しいルール

#5139: class-methods-use-this

thisを一切参照していないインスタンス メソッドを警告するルールです。
そのようなメソッドは静的メソッドか関数にすべきだ、ということらしいです。

/*eslint class-methods-use-this: error*/

// ✔ GOOD
class A {
    hello() {
        console.log(`hello, ${this.name}!`)
    }
    static hello(name) {
        console.log(`hello, ${name}!`)
    }
}

// ✘ BAD
class B {
    hello(name) {
        console.log(`hello, ${name}!`)
    }
}

#6778: symbol-description

シンボル定義時に、第1引数を省略すると警告するルールです。
シンボルの第1引数はそのシンボルに関する説明であり、デバッグ時に活用できます。

賢い Minifier は Minify 時に削除してくれそうですね?

/*eslint symbol-description: error*/

// ✔ GOOD
const FOO = Symbol("this is a foo")

// ✘ BAD
const BAR = Symbol()

:wrench: オプションが追加されたルール

#6751: multiline-ternary

JSCS JSCS 互換ルールです。

三項演算子の?,:の前後どちらかに改行を指定するべきかどうかを強制するスタイル・ルールです。
今回、改行を禁止するneverオプションが追加されました。

/*eslint multiline-ternary: [error, never]*/

// ✔ GOOD
let a = b ? c : d

// ✘ BAD
let a = b 
    ? c 
    : d

#6698: valid-typeof

typeof演算の結果と、文字列以外のものを比較するのを禁止するrequireStringLiteralsオプションが追加されました。

/*eslint valid-typeof: [error, {requireStringLiterals: true}]*/

// ✔ GOOD
typeof a === "string"
typeof b === "undefined"

// ✘ BAD
typeof a === type
typeof b === undefined

:pencil: 新たに eslint --fix をサポートしたルール

#6944: no-extra-parens

18
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?