18
17

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 v2.8.0

Last updated at Posted at 2016-04-17

v2.6.0 | 次 v2.9.0

小さな機能改善といくつかのバグ修正が行われました。
質問やバグ報告等ありましたら、お気軽にこちらまでお寄せください。

今回は機能改善等よりも、JSCS チームが ESLint チームに合流したことのほうが大きなニュースですね。

また、ロゴが変わりました。
このロゴで法的な手続きとかするらしいです (商標対策)。


以下は機能改善のピックアップです。

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

#3065: no-extra-parens

/*eslint no-extra-parens: ["error", "all", {"nestedBinaryExpressions": false}]*/

x = a || (b && c);
x = a + (b * c);
x = (a * b) / c;

構文上意味のないカッコであっても、ネストされた二項演算子を囲むものは許容するオプションが追加されました。
特に &&|| が混在する場合はカッコをつけるべしというコーディング スタイルは多そうですね。

#4127: space-before-function-paren

/*eslint space-before-function-paren: ["error", {"anonymous": "ignore", "named": "never"}]*/

// ignore にすると空白の有無にかかわらず警告されない
var bar = function() {};
var bar = function () {};

// "named": "never" なので名前付き関数は空白無しで
var bar = function bar() {};

空白があっても無くても警告しない (無視する) ためのオプションが追加されました。

このルールは、匿名関数と名前付き関数で異なる設定を適用できます。
今回の無視オプション追加によって、例えば名前付き関数だけを警告する、ということができるようになりました。

#5234: quotes

/*eslint quotes: ["error", "double", {"avoidEscape": true, "allowTemplateLiterals": true}]*/

var foo = "double";
var foo = 'a string containing "double" quotes';
var foo = `a string containing "double" quotes`;

埋込式を持たないテンプレート リテラルを許容するオプションが追加されました。
デフォルトでは"double""single"を指定した場合、埋込式を持たないテンプレート リテラルは警告されます (文字列リテラルに単純変換できるため)。

#5675: prefer-arrow-callback

/*eslint prefer-arrow-callback: ["error", {"allowNamedFunctions": true}]*/

foo(function bar() {});

名前付き関数式を警告しないためのオプションが追加されました。
名前付き関数式は、デバッグ時にスタック トレースを読みやすくしてくれます。

#5757: no-fallthrough

/*eslint no-fallthrough: ["error", {"commentPattern": "ふぉーるするー"}]*/

switch(foo) {
    case 1:
        doSomething();
        // ふぉーるするー
    case 2:
        doSomething();
}

意図的に fall through を行っていることを示すコメント文をカスタマイズできるようになりました。
デフォルトは /falls?\s?through/i になっています。

#5800: no-empty

/*eslint no-empty: ["error", {"allowEmptyCatch": true}]*/

try {
    doSomething();
} catch (ex) {}

空の catch ブロックを許可するオプションが追加されました。

この要求は過去に何度もあったのですが、そのたびに Reject されていました。
今回、JSCS がこのオプションを持っているため、移行支援のために追加された次第です。


今回はほとんど活動できてなかったので、次回は頑張りたいな...

18
17
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
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?