ESLint
ESLint statically analyzes your code to quickly find problems. It is built into most text editors and you can run ESLint as part of your continuous integration pipeline.
2015年の記事
ESLint の特色は、
すべての検証ルールを自由に on/off できる
自分のプロジェクトに合わせたカスタムルールを簡単に作れる
豊富なビルトイン ルール (5.0.0 時点で 260 個) に加えて、たくさんのプラグインが公開されている
ECMAScript 2015 (ES6), 2016, 2017, 2018, 2019 を標準サポートしている Babel と連携することで、仕様策定中の新しい構文や Flow 型注釈にも対応できる 2021年の記事
ポイント1. pluginsとextendsとrulesの意味を理解する
plugins
ルールを追加する項目
ただし、extends に共有設定だけを追記してもルールが追加される場合もある(その場合は plugins に追記しなくてもいい)
ルールのON/OFF自体は、rulres プロパティで設定する
extends
ルールの設定 を拡張してくれる共有設定を指定する項目
ルール設定が重複している場合、後から書いた方が優先
plugins 自体はルールを読み込んだだけで、どのルールを適用させるかの設定はないので、何のルールも適用されない状態です。各pluginには、どのルールを適用させるかの推奨設定が公開されているので、その共有設定をextends では指定することで、ルールの設定を適用させることができます。
よくあるお決まりの設定は、extends でやるっぽい( recommend 系)
rules
個別のルールの設定 を登録する項目
extendsで指定した共有設定以外で個別に設定したい内容を記載する
ポイント2. ルールのレベル
ルールのレベルは
0: off
1: warn
2: error
ポイント3. 導入した外部ルールのパッケージの名前を .eslintrc.js に記載する際に名前を省略して指定できる
eslint-plugin-xxx は、eslint-plugin-の部分は省略できる
eslint-config- も同様に省略できる