TypeScript + eslint で importno-unresolved が出る場合の2つの対処法
2017-11-10 Fri.
eslint の plugin:import/errors
を extend している場合に TypeScript を使用していると、拡張子 .ts
.tsx
が解釈されず、 resolve されないという問題が発生します。
README にある import/parsers
に eslint-typescript-parser
を指定することでは、拡張子解決には影響されないようです。
ぱっと思いつく方法では、 eslint-import-resolver-typescript
のようなものを使えば良さそうですが、実際に存在するものは DL も star も少ないので不安なので、別の方法で解決します。
1. eslint-import-resolver-node
を使用し、オプションとして拡張子を指定する
この resolver は es6
や coffee
等も解決できるよう、オプションで拡張子が指定できるようになっています。
2. eslint-import-resolver-webpack
を使用し、resolve の設定を流用する
プロジェクトがフロントエンドの場合など、 webpack を使用していてそちらに拡張子解決についての記載があれば、それを eslint での resolve に流用できます。
もしくは、
というように config ファイルを指定することもできます。 Webpack プロジェクトの場合、後者の方が DRY になるので良さそうです。
Other Works
2024-05-11 Sat.
Powerfully Typed TypeScript
- TSKaigi 2024
2024-05-10 Fri.
pnpm の node_modules を探検して理解しよう
- ドワンゴ教育サービス開発者ブログ
2024-03-17 Sun.
neverthrow で局所的に Result 型を使い、 try-catch より安全に記述する
- Zenn
2023-12-20 Wed.
レガシーブラウザ向けのビルドオプションを剪定する
- ドワンゴ教育サービス開発者ブログ
2023-05-26 Fri.
Next.js で dynamic import を使い Client だけで動かす Component を実現する
- Zenn
2023-05-02 Tue.
Node.js でファイル名から拡張子を取り除く/取り出すために path.parse を使う
- Zenn
2023-02-27 Mon.
WSL2 で外部からアクセス可能にするために bridge mode を有効にする
- Zenn
2023-01-26 Thu.
init.vim & dein から init.lua & lazy.nvim へ、シンプル設定で移行した
- Zenn
2023-01-13 Fri.
kindle の本をブクログ形式の csv でエクスポートする@2023初春
- Zenn
2023-01-10 Tue.
自宅サーバの移設に際して docker から nerdctl に移行した
- Zenn
2023-01-10 Tue.
自宅サーバを rootless に移行した際のトラブル対応
- Zenn
2021-11-11 Thu.
並列実行した Promise で throw されても全てハンドルしたいときの方法(allSettled, finally, etc...)
- Zenn