LoginSignup
20

More than 5 years have passed since last update.

ESLint v2.10.0

Last updated at Posted at 2016-05-14

v2.9.0 | 次 v2.11.0

いくつかのバグ修正・ルール追加・機能改善が行われました。
JSCS からのルール移植が開始しました。今後しばらくはスタイル関連ルールの追加が多くなりそうです。

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

URI
日本語 Issue 管理リポジトリ https://github.com/eslint/eslint-jp
日本語チャット https://gitter.im/eslint/eslint-jp
本家 Issue 管理リポジトリ https://github.com/eslint/eslint
本家チャット https://gitter.im/eslint/eslint

新しいルール

#5667: object-property-newline

オブジェクト定義において、1行に複数のプロパティがあると警告します。

/*eslint object-property-newline: "error"*/

// ✔ GOOD
var obj = {
    foo: "foo",
    bar: "bar",
    baz: "baz"
};

// ✘ BAD
var obj = { foo: "foo", bar: "bar", baz: "baz" };
var obj2 = {
    foo: "foo", bar: "bar", baz: "baz"
};
var obj3 = {
    foo: "foo", bar: "bar",
    baz: "baz"
};

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

#3366: object-shorthand

プロパティ名が "/' で囲まれていた場合に省略記法をしないオプションが追加されました。
構文的には省略して問題ないため、オプションです。

/*eslint object-shorthand: ["error", "always", {"avoidQuotes": true}]*/
/*eslint-env es6*/

// ✔ GOOD
var foo = {
    "bar-baz": function() {},
    "qux": qux
};

// ✘ BAD
var foo = {
    "bar-baz"() {}
};

#5692: prefer-const

再代入されていない場合でも、代入文より前の位置で利用されている変数を警告しないためのオプションが追加されました。このオプションは、no-use-before-define ルール (with "nofunc" オプション) との衝突を避けるために追加されました。

/*eslint prefer-const: ["error", {"ignoreReadBeforeAssign": true}]*/
/*eslint-env es6*/

// ✔ GOOD
let timer;
function initialize() {
    if (foo()) {
        clearInterval(timer);
    }
}
timer = setInterval(initialize, 100);

なおデフォルトの振る舞いでは次のようになります。

/*eslint prefer-const: "error"*/
/*eslint-env es6*/

// ✔ GOOD
const timer = setInterval(initialize, 100);
function initialize() {
    if (foo()) {
        clearInterval(timer);
    }
}

// ✘ BAD
let timer;
function initialize() {
    if (foo()) {
        clearInterval(timer);
    }
}
timer = setInterval(initialize, 100);

#5840: no-irregular-whitespace

各種リテラルの中の "irregular whitespace" を許容するオプションが追加されました。
日本語にある 全角空白 も "irregular whitespace" の1つなので、私達にとって便利なオプションです。

  • skipStrings - 文字列リテラル内の "irregular whitespace" を許容する (default で有効)
  • skipRegExps - 正規表現リテラル内の "irregular whitespace" を許容する
  • skipTemplates - テンプレートリテラル内の "irregular whitespace" を許容する

@inuscript さん, @Linda_pp さん、ありがとうございます!

/* eslint no-irregular-whitespace: ["error", {"skipRegExps": true}] */

// ✔ GOOD
var foo = / /;
//         ↑ ここに全角空白がある

#6036: no-extra-parens

return 文で代入式を使う場合の余分なカッコを許可するオプションが追加されました。
no-return-assign ルールとの衝突を回避するためのオプションです。

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

// ✔ GOOD
function a(b) {
    return (b = 1);
}

// ✘ BAD
function a(b) {
    return (b === 1);
}

eslint --fixに対応したルール

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
20