ESLintを導入してみた

ESLintとは

Javascriptの静的解析を行ってくれるツールです。
フォーマッタとしての機能も兼ね備えていますが、この機能はPrettierを使用するのが主流みたいです。

導入及び設定

拡張機能をインストールする

Image from Gyazo

setting.jsonに設定を追加する

Vscodeではファイルの保存時に、ESLintの自動修正が走るように設定を行えます。
下記で行っている設定はESLintの対象になっているファイルのみ走るようになっています。

"editor.codeActionsOnSave": {
     "source.fixAll.eslint": true
  }

Vscode上でにオプション(一部紹介)

参考 => ESLint - Visual Studio Marketplace

eslint.enable

ESLintの有効/無効を設定できます。デフォルトは有効です。

eslint.debug

デバッグモードの有効/無効を設定できます。

eslint.lintTask.enable

Vscodeワークスペースにある全てのフォルダを対象にするかを設定できます。

eslint.run

ESLintが実行されるタイミングを設定できる。
- onsave => ファイルが保存された時
- ontype => コードの区切りを入力した時

eslint.codeActionsOnSave.mode

  • all
    これはターミナルで--fix オプションをつけて eslint を実行したのと同じコードパスで実行されるため、時間がかかることがあります。これがデフォルト値です。

  • problems
    テキスト編集が重複していない限り、修正可能な既知の問題のみを修正します。このモードの方がはるかに高速ですが、問題の一部だけを修正する可能性が高いです。

eslint.format.enable

ESlintで検証されたファイルのフォーマッタとしてESlintを使用します。この設定を有効にした場合、他のフォーマッタを無効にしてください。

例:

 "[javascript]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" } ,
 "[typescript]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" }

ESlintをインストールする

拡張機能はワークツリー下にインストールされたESLintがある場合はそちらを参照し、なければグローバルにインストールされたESLintを参照します。

  • ローカル
npm install -D eslint 
  • グローバル
npm install -g eslint

Eslintの設定ファイルを作成する

npx eslint --init    

上記を実行するとどのような設定を行うか対話式で聞いてきます。
後から修正も可能ですので間違っても問題ありません。

  • ESLintを使用する目的を選びます。
    Image from Gyazo

  • モジュールのimport/exportスタイルを選びます。
    Image from Gyazo

  • フレームワークを選択します。
    Image from Gyazo

  • 次にプロジェクトでTypescriptを使用するか選択します。
    Image from Gyazo

  • どこでソースコードを実行するか選択します。
    Image from Gyazo

  • 最後にconfigファイルの拡張子を選択します
    Image from Gyazo

eslintrc.json(.jsonは選択した拡張子で変わります)が作成されます。