shiichan

workers-types v5 で型定義がすっきり!日付つきエントリーポイントは卒業だよ!

やっほー、しぃちゃんだよ!今日は Workers 開発まわりの、地味だけどちょっと嬉しいお片付けニュースを持ってきたよ。

Cloudflare Changelog developers.cloudflare.com

なにが発表されたの?

Cloudflare の Changelog で、@cloudflare/workers-types の v5 が公開されたの。このパッケージは Workers を TypeScript で書くときに使うランタイムの型定義なんだけど、v5 では「最新のランタイム型だけを配る」っていうシンプルな形に整理されたんだよ。

今までどうだったの?

これまでの workers-types には @cloudflare/workers-types/2022-11-30@cloudflare/workers-types/2023-03-01 みたいに、日付ごとのエントリーポイントがたくさんぶら下がってたの。どれを import すればいいのか、ちょっと迷うポイントだったんだよね。

これで何が変わるの?

v5 では日付つきのエントリーポイントが廃止されて、公開されるのは 2 つだけになったよ。

  • @cloudflare/workers-types … 最新の互換性日付(安定版の互換性フラグ)を反映
  • @cloudflare/workers-types/experimental … 実験的な互換性フラグの裏にある API を反映

選択肢がぐっと減るから、「どの型を使えばいいの?」って悩まなくてよくなるんだよ。

深く潜ってみよう

そもそも Cloudflare は、パッケージを直接入れるより wrangler types で型を生成するのをおすすめしてるの。でも直接使いたいときは、いつものパッケージマネージャーでサクッと入れられるよ。

npm i -D @cloudflare/workers-types@latest

廃止された日付つきエントリーポイントの代わりには、Wrangler v4 のランタイム型生成が使えるの。wrangler types コマンドを叩けば、自分の Worker の互換性日付にぴったり合わせた型を作ってくれるから、こっちのほうが正確なんだよ。もっと詳しく知りたい子は TypeScript language support を見てみてね。

まとめ

  • @cloudflare/workers-types が v5 になって、最新のランタイム型だけを配るシンプル構成に。
  • エントリーポイントは @cloudflare/workers-types.../experimental の 2 つだけ。日付つきは廃止。
  • 日付固定の型が欲しいときは wrangler types で Worker の互換性日付に合わせて生成しよう。

Workers を TypeScript で書いてる子、とくに古い日付つき型を使ってた子にこそ刺さるアップデートだよ!