Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
16
Help us understand the problem. What is going on with this article?
@mysticatea

ESLint v2.1.0 ~ v2.3.0 までの変更点

More than 5 years have passed since last update.

v2.0.0 | 次 v2.4.0

v2.1.0v2.2.0では、v2.0.0リリースに入ってしまった誤検出やクラッシュのバグ修正が行われました。v2.3.0から通常の隔週リリースに復帰しています。

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

ピックアップ:

  • ECMAScript 2016 (ES7) をサポートしました。
  • 設定ファイル.eslintrcの中で、0, 1, 2の代わりに"error", "warn", "off"文字列が使えるようになりました。

リリースノート(英語):

#3626 文字列によるルール設定

従来は、ルールの On / Off を数値によって行っていました。

  • 0 - Off
  • 1 - On (警告扱い)
  • 2 - On (エラー扱い)

v2.3.0から、これを文字列によって指定できるようになります。

  • "off" - Off
  • "warn" - On (警告扱い)
  • "error" - On (エラー扱い)

引き続き数値でも指定できるので、既存の設定ファイルはそのまま使うことができます。

#5260 eslint-disable-next-line

次の行で ESLint の警告を無視せよと指示するためのコメントです。

//eslint-disable-next-line no-constant-condition
while (true) {
  if (foo()) {
    break;
  }
}

ルール名を省略するとすべての警告を無視します (あまりおすすめしません)。

#5401 ECMAScript 2016 (ES7) サポート

ECMAScript 2016 では、Array.prototype.includesメソッドとべき乗演算子 (**)が追加されました。
それ以外の新機能提案 (async/await 等) は来年以降に持ち越しです。

ESLint で ECMAScript 2016 (ES7) の新しい機能を利用するには、parserOptionsを指定します。
es6: trueも必要な点に注意してください (ECMAScript 2016 (ES7) では新しいグローバル変数が増えなかったので、es7: trueという指定はありません)。

{
    "env": {
        "es6": true       // ES6 で追加されたグローバル変数群を定義する
    },
    "parserOptions": {
        "ecmaVersion": 7  // 構文解析器に ES7 を使うと伝える
    }
}

この辺り、構文解析器の設定と変数解析の設定が分離していることが混乱の元になっていて、将来的に改善される予定です。

新しいルール

  • #3966 - no-restricted-globals - 指定したグローバル変数を利用すると警告するルールです。「リファクタリングによって削除された変数への参照が、偶然にグローバル変数と同じ名前であるために警告されない」という事態を避けることを目的とします。特にbrowser環境にはname, top, eventなど一般的な名称のグローバル変数があります。使わないものは禁止してしまうのが良さそうです。
  • #5009 - newline-before-return - return文の前に改行がなければ警告するスタイル・ルールです。

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

  • #5056, #5092 - padded-blocks - switch文とクラス定義の先頭と末尾の空行を警告するオプションが追加されました。
  • #5249 - no-invalid-regexp - RegExpコンストラクタの第2引数が受け入れられるフラグを追加するオプションが追加されました。これは "Transpilers は使わないけれど Polyfill は利用する" という場合に便利です。
  • #5348 - no-magic-numbers - JSXタグの属性に書かれた数値を許可するオプションが追加されました。(例: <input maxLength={10} />)
16
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
mysticatea
ESLint のメンテナ。Vue.js の開発チームメンバー。JavaScript 言語仕様書 ECMA-262 や JavaScript 構文解析器 Acorn のコントリビューター。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
16
Help us understand the problem. What is going on with this article?