11
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ESLintの設定を視覚化してくれるESLint Config Inspector

Posted at

はじめに

ESLintは2024年4月5日をもってバージョン9.0.0を迎え、ルール設定ファイルのデフォルト形式がFlat Configになりました。これにより、eslintrcで記述される旧形式が非推奨となりました(リリースブログ)。

Flat Configでは1つのファイルから中央集権的に設定を構築するので、どのファイルに対してどのルールが有効になっているかが把握しにくくなっています。
そのため、旧形式からの移行やルールの増減時に設定を確認する作業が困難になります。

このような時、ESLint Config Inspectorを利用することで、視覚的に有効なルールと対象ファイルを確認できます。

スクリーンショット 2024-04-08 11.37.21.png

利用方法

ESLint Config Inspectorの利用方法は以下の通りです。

パッケージ内のESLintのバージョンが9.0.0以上の場合は

npx eslint --inspect-config

を実行し、パッケージのESLintを使わない場合は

npx @eslint/config-inspector

を実行します。実行するとlocalhost:7007に設定が視覚化されたページ表示されます。

スクリーンショット 2024-04-08 11.40.14.png

機能

ページにはConfigsRulesFilesの3種類の機能があります。

Configs

Configsは定義した配列の各要素に適応された内容が表示されます。同一配列要素内で記述されていても、extendsに記述された内容などは異なる要素として表示されます。

表示される内容には、有効なファイル、プラグイン、ルール、その他の構成としてlanguageOptionssettingsなどが含まれます。

localhost_7777_configs (1).png

検索フィールドを使用して特定のファイルを指定することで、設定を絞り込めます。
スクリーンショット 2024-04-08 15.10.47.png

Merged Rulesにタブを切り替えると、統合された設定も確認できます。全ファイルと特定のファイルに適応される設定が2つの項目で表示されます。
スクリーンショット 2024-04-08 15.14.30.png

Rules

RulesはパッケージにインストールされたESLintのプラグインのルールが表示されます。

スクリーンショット 2024-04-08 15.34.29.png

表示されるルールは、以下の3つの項目で絞り込めます。

  • Plugins:特定のパッケージ
  • Usage:利用しているルールや全てのルール等の使われ方
  • State:ルールの推奨、廃止等の状況

Files

FilesはESLintが有効なファイルの一覧が表示されます(experimentalなので、今後大きな変更のある可能性があります)。
スクリーンショット 2024-04-08 15.48.51.png
表示されたファイル名をクリックするとConfigsに移って有効な設定が表示されます。

File Groupsに変更すると、同じ設定が有効になっているファイルがグループごとに表示されます。

localhost_7777_files (1).png

おわりに

ESLint Config Inspectorにより、設定を視覚的に把握し、適用されるルールやファイルを明確に理解しやすくなりました。
設定の確認作業が大幅に簡単になることで、より速くより確実にコードの品質を維持するルールを設定できるようになります。
Flat Configを利用してさえいればESLint Config Inspectorを利用するのも容易なので、積極的に利用していきたいです。

11
7
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
11
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?