ESLint
何も使ってない変数はエラーにするとかネストさせすぎないとかみんなが書くコードの規約を決めるツール
ドキュメントで運用しなくても、エディター上でチェックして自動でチェックしてくれる。
だからコード運用とかを決める前にESLintにそのルールあるか確認してあるならエラーなりワーンなり出せばいいと思う
ルールは拡張もできるみたいなので、他のルールをインポートしたりとかでも増やせるみたい。
tscでビルドする時に自動で検証したりとかもできたっけ?
たまに守らず適当に書く人いたりするから自動でエラーになると良きかな。
Prettierと併用してかけるとそのルールに従って勝手に修正するとかも確かできた気がする(知らんけど) ymlファイルで作るのが個人的に良さそう
なんでか知らんけど、ちゃんとeslintでかける値を書いてない場合エラーにしてくれる
.eslintrcとかだとjsonでかけるけど、項目名が違っていても見つけづらい
スペルミスが発生する可能性ありそう
流石にスペルミスってるルールがあるか、そのルールが存在するかどうかまではチェックしてないっぽい。
基本的には、extendsで設定すれば無駄に一から作らなくてもベストプラクティスだよねみたいなおすすめを参考にできる
ちなみに上書きできるから、厳しすぎやわってなれば別途rulesに書けばいい。
基本はおすすめ設定でなんとかして、必要あれば上書きって運用のほうが綺麗そう
code:yml
parser: '@typescript-eslint/parser'
parserOptions:
project: ./tsconfig.json
plugins:
- '@typescript-eslint'
extends:
- eslint:recommended
- plugin:@typescript-eslint/eslint-recommended
- plugin:@typescript-eslint/recommended
- prettier # prettierとバッティングしないようにするやつ↓
- prettier/@typescript-eslint # これはいらない
plugin:@typescript-eslint/eslint-recommended
eslint:recommendedで指定しているうちtypescriptの型チェックでカバーできるものを無効にする
plugin:@typescript-eslint/recommended
prettier/@typescript-eslintはもう必要ない
書かなくてもいいけど、eslint-plugin-prettierはいるっぽい。
reccommended
grepできるのありがてぇ
工具マークが--fixで自動で直せる
電球マークが、エディターにこうしたら?って提案できるものって感じみたい
疑問
どのルールが適応されてるかを把握する方法はあるの?
今設定されてる一覧とかみてみたい
eslint --print-config .
これでeslintrcに設定してる設定全て吐き出してくれる。
この中のrulesをみたらちゃんと展開して全部見える状態になってる。
バッティングしてるとか、ダブってる設定を検知することはできるのか?
設定によっては、eslintだとエラーになるから、typescript-eslintのno-unsed-varsを使うとかあったりするしそういうのを検出できたりするのか?