ESLintでconsoleの使用をエラーにする
動作確認用のconsole.logを撲滅するべくESLintに頑張ってもらいましょう。
2024.01.31
こんにちは。サービス開発室の武田です。
先日CDKのソースコードをレビューしていたところ、動作確認用のconsole.log
が残っていました。grepなどで探すのは面倒ですので、Linterにお任せしましょう。
no-consoleルール
ESLintに用意されているno-console
ルールを有効にすることでチェックされます。
有効化は簡単で、.eslintrs.js
などの設定ファイルに'no-console': 'error'
を追記するだけです。
module.exports = { // 省略 rules: { // 省略 'no-console': 'error', }, };
また、console
であっても、warn
とerror
だけは使ってもOKとした場合には、次のように書けます。
module.exports = { // 省略 rules: { // 省略 'no-console': ['error', { allow: ['warn', 'error'] }] }, };
チェックしてみた
設定を追記し、実際にLinterを走らせてみました。
$ npx eslint **/*.ts /work_dir/hogehoge.ts 12:5 error Unexpected console statement no-console ✖ 1 problem (1 error, 0 warnings) $ sed -n 12p hogehoge.ts console.log(__dirname);
このプロジェクトでは一行のみ使用している箇所があったようです。
まとめ
JSやTSのコードをデバッグする際に、console.log
を書くことはよくあります。しかしそのまま残しておくのはあまりよろしくありませんね。必要ないのであれば、Lintの設定をして簡単に見つけられるようにしておくと良さそうです。