nest-cli で NestJS プロジェクトを初期化するとVScodeで警告が出る問題の対処方法
はじめに
これと言った結論は出てないですが、一日悩んだ結果を投稿します。
あと、初投稿です。
前提条件
- nodeのバージョン: v16.17.0
- パッケージマネージャ: yarn 1.22.19
- nest-cliのバージョン: 9.1.1
- macOS
発生する問題
初期化したNestJSプロジェクトのデフォルトのLint設定だと、クラスデコレーターに対して@typescript-eslint/no-unused-vars
の警告が出ます。
再現方法
@nestjs/cli@9.1.1 で以下のコマンドを実行し、プロジェクトを初期化します。
nest new new-project
そして、そのプロジェクトをVScodeで開いて、src/app.controller.ts
を確認します。
すると、クラスデコレーターに対して@typescript-eslint/no-unused-vars
の警告が誤検知されます。
対処方法
生成されたpackage.json
で、"@typescript-eslint/eslint-plugin":"^4.33.0"
にバージョンを下げると警告が消えます。
ただし、本来表示されるべき@typescript-eslint/no-unused-vars
の警告もまた、表示されなくなってしまいます。
助けてください
とりあえず、一日悩んで上記の方法で対処することにしましたが、本来警告されるべき未使用の変数が警告されないのは気持ち悪すぎます…
今現在、NestJSをバリバリ使ってるって人いたらマジで遠慮なく連絡ください。
こちら筆者のツイッターです。フォローとかいいんで本当に相談したいです。この記事のコメントでも大丈夫です。
最後に
読んでくださってありがとうございました。
追記
nest-cliのGitHub issueに似た問題があったので状況をコメントしておきました。
結構いろんな人が直面しているっぽい。追記2
治ったっぽい!
多分、typescript-eslint
側のこのリリースかな?
追記3
Qiita の方に筆者の考えた NestJS の最強 Lint 設定の解説を書いて公開しました。
Discussion