ESLint v6.2.0

前 [v6.1.0](https://qiita.com/mysticatea/items/8a59471d6c16933a82b6) | 次 [v6.3.0](https://qiita.com/mysticatea/items/20b08f8d7f75bca07202)

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">ESLint 6.2.0 has been released: <a href="https://t.co/L7srPm1jkE">https://t.co/L7srPm1jkE</a><br><br>This release adds support for parsing ES2020 features (bigint, dynamic import) using the default parser! Please give it a try and let us know if you see any issues.</p>&mdash; ESLint (@geteslint) <a href="https://twitter.com/geteslint/status/1163217096924422144?ref_src=twsrc%5Etfw">August 18, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

ESLint `6.2.0` がリリースされました。

お盆休み中に [ESTree 仕様が更新された](https://github.com/estree/estree/pull/198)ので、BigInt と Dynamic Imports 構文をサポートしました。

既知の問題:

- [`babel-eslint`を利用している場合、変数の利用判定が変になる](https://github.com/eslint/eslint/issues/12117)。これは`babel-eslint`の対応待ちです (過去 ESLint 5.0.0 で実施された Breaking Changes に関わる問題であるため)。
- [npmで更新したとき、JSXの解析がうまくいかなくなる場合がある](https://github.com/eslint/eslint/issues/11018)。npm の不具合によるものです。一度 `node_modules` と `package-lock.json` を削除して再インストールしてみてください。それでも解決しない場合、`package.json` の `devDependencies` に `"acorn": "^7.0.0"` を追加し、`node_modules` と `package-lock.json` を削除して再インストールしてみてください。

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

> 🏢 [日本語 Issue 管理リポジトリ](https://github.com/eslint/eslint-jp)
> 👫 [日本語サポート チャット](https://gitter.im/eslint/eslint-jp)
> 🏢 [本家リポジトリ](https://github.com/eslint/eslint)
> 👫 [本家サポート チャット](https://gitter.im/eslint/eslint)

# 🚀 本体への機能追加

## BigInt と Dynamic Imports をサポートしました。

これらを利用するには、`env.es2020` 設定と、(デフォルトのパーサーでは) `parserOptions.ecmaVersion` 設定を指定します。

```json:.eslintrc.json
{
    "parserOptions": {
        "ecmaVersion": 2020
    },
    "env": {
        "es2020": true
    }
}
```

- `parserOptions.ecmaVersion` 設定により、新しい構文 (`import("source")` や `100n`) が有効になります。
- `env.es2020` 設定により、新しいグローバル変数 (`BigInt`, `BigInt64Array`, `BigUint64Array`) が有効になります。


## 設定ファイルに `noInlineConfig` プロパティが追加されました。

🔖 [RFC 22](https://github.com/eslint/rfcs/tree/master/designs/2019-core-options), [#12091](https://github.com/eslint/eslint/pull/12091)

```json:.eslintrc.json
{
    "noInlineConfig": true
}
```

この設定は [`--no-inline-config` CLI オプション](https://eslint.org/docs/user-guide/command-line-interface#--no-inline-config)とほぼ同等です。今まで CLI でしか指定できなかったものが設定ファイルでも指定できるようになりました。

# 💡 新しいルール

## [function-call-argument-newline](https://eslint.org/docs/rules/function-call-argument-newline)

関数呼び出しの各実引数の間に改行を入れるかどうかを矯正するスタイル ルールが追加されました。

```js:例
/* eslint function-call-argument-newline: [error, consistent] */

//✘ BAD
foo(a, b,
    c);

//✔ GOOD
foo(a, b, c);
foo(
    a,
    b,
    c
);
```

[Online Demo](https://eslint.org/demo#eyJ0ZXh0IjoiLyogZXNsaW50IGZ1bmN0aW9uLWNhbGwtYXJndW1lbnQtbmV3bGluZTogW2Vycm9yLCBjb25zaXN0ZW50XSAqL1xuXG4vL+KcmCBCQURcbmZvbyhhLCBiLFxuICAgIGMpO1xuXG4vL+KclCBHT09EXG5mb28oYSwgYiwgYyk7XG5mb28oXG4gICAgYSxcbiAgICBiLFxuICAgIGNcbik7XG4iLCJvcHRpb25zIjp7InBhcnNlck9wdGlvbnMiOnsiZWNtYVZlcnNpb24iOjgsInNvdXJjZVR5cGUiOiJtb2R1bGUiLCJlY21hRmVhdHVyZXMiOnt9fSwicnVsZXMiOnt9LCJlbnYiOnt9fX0=)

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

特になし。

# ✒️ `eslint --fix` をサポートしたルール

特になし。

# ⚠️ 非推奨になったルール

特になし。