Closed6

TypeScriptアプリケーションでconditional exportsなnpmパッケージを使う

bisquit_devbisquit_dev

TypeScriptアプリケーションで、npmパッケージのconditional exportsを利用するには、moduleResolutionnode16bundlerにしないといけない

(そもそもexportsもnode16bundlerじゃないと考慮されない)
https://github.com/microsoft/TypeScript/pull/51669#:~:text=Comparison with existing module resolution settings

bisquit_devbisquit_dev

Nodeのサーバーアプリケーションであれば、node16にすれば良いので、TS4.7以上にする。

フロントエンドアプリケーションの場合は、ほとんどの場合バンドラ(webpack, vite, etc..)を使ってビルドしており、bundlerが実態に即している。
従ってconditional exportsを使うにはTypeScriptを5.0以上が必要となる。

bisquit_devbisquit_dev

(実際開発してる業務アプリでTS5.0 &node -> bundler変更したら、社内パッケージだけエラーになった、、著名なライブラリであれば正しく対応されていると思うので問題ないと思われる)

このスクラップは2023/09/05にクローズされました