LoginSignup
55
37

More than 5 years have passed since last update.

ESLintで特定ルールの警告だけ修正する

Posted at

既存警告の多いプロジェクトで ESlint を使う場合のTipsを紹介します。

背景

JavaScriptの静的解析ツール ESlint には、警告を自動修正してくれる --fixオプション があります。次のように

$ eslint --fix src/js

とするだけで、スタイル違反などの警告を自動的に修正してくれる優れものです。修正対象となる警告は、検出だけする場合と同様に、 .eslintrc で設定されたルールに従います(すべてのルールが自動修正に対応しているわけではありません)。

ここで、既存警告の少ない新規プロジェクトや、コードベースがクリーンなプロジェクトでは、一括ですべて修正してもしれていると思います。しかし、総警告数が数千・数万規模の既存プロジェクトになってくると、個別のルールごとに修正したいことがあります。

解決策

--no-eslintrcオプション--ruleオプション を組み合わせることで、特定のルールの指摘だけを修正できます。例えば、 indent ルールだけ修正したい場合は、次の通りです。

$ eslint --fix --no-eslintrc --rule 'indent: ["error", 2]' src/js

補足

前述の方法で --fix オプションを外せば、特定のルールの警告だけを検出することができます。自動修正に対応していないルールなど、特定のルールにフォーカスして個別に修正したい場合に便利です。

$ eslint --no-eslintrc --rule 'indent: ["error", 2]' src/js

また、 eslint-nibble をインストールすると、ルールごとの警告数を一覧し、特定のルールにドリルダウンして確認することができます。

画面イメージ

こちらも全体を俯瞰したり、個別のルールに着目したりする場合に便利です。

まとめ

eslint --fix を特定のルールだけに絞って実行する方法として、 --no-eslintrc オプションと --rule オプションで実現する方法を紹介しました。これであなたも警告数が数千・数万の既存プロジェクトと闘えます。

55
37
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
55
37