2021年2月4日木曜日

create-react-app v4 + React v17 + ESLint v7 + TypeScriptでeslint-config-airbnbを使っていると、d.ts読み込めてるのにerror "Hoge" is not definedって感じでno-undefエラーが出てきてしまう的なお話

  • このエントリーをはてなブックマークに追加

今までcreate-react-appのv3系を使っていて、えいやっていう気持ちでv4にアップしたので、内部的に入っていたESLintもついに7系になりって感じ。
だったんだけど、今までd.tsで通っていた型がESLintで通らなくなるというか、VSCode上ではちゃんと引っ張ってきてるのにno-undefエラーが出てしまったという。

ということで今日はそれを解決する方法をば。

結論からいうとeslint-config-airbnbを使っていたから。
eslint-config-airbnbは開発が止まっているっていうのもあるんだけど、そもそもv7系に対応していないし、というかさらにそもそもtypescript向けじゃなくてjavascript向け。 これを強引に使っていたツケが回ってきたという。

で、airbnbのtypescriptバージョンであるeslint-config-airbnb-typescriptっていうのがあるのでこれを使いましょう的な。
いまだにairbnbなんて使ってるのかよ、時代遅れなんていう声も聞こえてきそうだけど、慣れ親しんだものだし割と厳し目なlintだから好きという。

なので今後はtypescriptを使う場合はeslint-config-airbnb-typescriptを使いましょう的な。

0 件のコメント:

コメントを投稿

Adsense