IntelliJでESLintを使う

Posted on 2020/09/13

TOC

はじめに

ESLintの設定について使用頻度の高い作業を記録する。

ESLintとは

ESLintはJavaScriptの静的検証ツール。C言語のための静的検証ツールLintから名前を取っているらしい。 設定に記述されたルールを元にエラー・警告を出したり、エラーをFixしたりする。 設定は.eslintrc.jsに書く。JSONやYAMLのフォーマットでも書ける。 スタンダードなStyleがいくつかあるため(後述)、とりあえずそのStyleでチェックしておけば無難っぽい。

設定方法

今回はReactのプロジェクトに適用する設定をインストールする。 TypeScriptやJSXを使用するため、それらの設定も含める。

まずは以下コマンドでESLintをインストール。

$ yarn add --dev @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint eslint-plugin-import eslint-plugin-jsx-a11y

Styleの詳細は後述するが、JavaScriptStandardStyleをインストール。

eslint-config-standard eslint-plugin-standard eslint-plugin-promise eslint-plugin-node

IDEにIntelliJを使っているため、⌘,で設定を開き、Editor->Code Style->JavaScriptより、SetFrom…ボタンを押下。JavaScriptStandardStyleを選択する。
Language&Framework->JavaScript->CodeQualityTools->ESLintより、ManualESLintConfigurationを選択。
Run eslint –fix on saveを選択(保存時にfixできるものはfixする)

Styleの種類

有名なStyleは以下3つ。Airbnbが一番使われているがJavaScript Standard Styleが追い上げている感じ。とりあえずAirbnbを使うのが無難っぽい。
IntelliJの設定になぜかAirbnbが見当たらなかったので、今回はJavaScriptStandardStyleを元に設定した。

  • Airbnb
  • JavaScript Standard Style
  • Google

トラブルシューティング

‘React’ was used before it was defined

以下で解決。

IntelliJの既存プロジェクトにESLintを適用

再フォーマットしたいディレクトリかファイルを右クリックし、「Fix ESLint problems」を選択。
⌘+opt+Lのショートカットに紐付けるとその後楽になる。
コミット時にReformatやoptimize import にチェックを入れているとfixした結果が修正されてしまうのでチェックを外す。

https://mmll.hatenablog.com/entry/memo/phpstorm/eslint/reformat