ESLint v2.10.0 released: https://t.co/EnXreZPYmQ
— ESLint (@geteslint) 2016年5月13日
いくつかのバグ修正・ルール追加・機能改善が行われました。
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);
}