最初に断っておきますが、ちょっとマニアックな記事です。
TypeScript 4.5 Betaがアナウンスされました。
こちら Announcing TypeScript 4.5 Beta
前回と同じように全体を紹介する記事を書こうかとも思ったのですが、一つだけピックアップすることにしました。それがpackage.jsonのexportsのサポートです。
package.jsonのexportsというのは、Node.jsのドキュメントに書かれているPackage entry pointです。これによるとパッケージが提供する複数のエントリーポイントをexportsで定義できるのです。過去のnodeではファイル構造がそのままエントリーポイントとして使えたかもしれませんが、今はexportsでちゃんと定義する必要があります。exportsにはconditonal exportsというのがあって、CommonJSとESMの双方に対応したパッケージが定義できます。
今回の、TypeScript 4.5 Betaの記事では、ここに"types"
も追加で書けるようになったとのことです。
なぜこれが個人的に注目かというと、すでにjotaiではそれを設定しているからです。
これは、明確な根拠があったわけではなく、これができたらいいのになぁ、という期待から設定したもので、それが今回サポートされることになったと知って、いい意味で驚いた次第です。
他にも地道な改善が多くなされているようでTypeScript 4.5が出るのが楽しみですね。