eslintの import/extensionsだと type-importを 処理できないっぽい
typescriptでunknownなものをensureするライブラリでfabian-hiller/valibotがある。
これがdenoでも動くので、たまに使っているのだが、拡張子なしのimport
をたまに残したままリリースするので、壊れる問題がある。
eslintでなんとかしようとしたけど無理だったので調査メモを残す。
- eslintの
import/extensions
の設定はすでにある - このeslintはCIで通ってる
このimport/extensions
の設定は問題なかった(手元で小さいprojectを作ってやってみたが、エラーが出た)
調べてみると、どうやらtype
のspecifierがついたimport
| export
のときだけ、拡張子のruleを無視しているようだった。
typescriptのresolveの責務はeslint-import-resolver-typescript
が持つとのこと: https://github.com/import-js/eslint-plugin-import/pull/2270
ref: https://github.com/import-js/eslint-plugin-import/issues/2530