直近のDenoの変更について

直近でDeno v2.4向けと思われる変更がいくつか実施されているため、紹介します。

--node-conditionsオプションのサポート

Denoに--unstable-node-conditionsオプションを追加するPRがマージされています。

これはNode.jsの--conditionsに相当するオプションで、react-server conditionを有効化したい場合などに利用できそうです:

$ deno run --unstable-node-conditions react-server -A main.mjs

このオプションはv2.4で安定化が計画されているようで、すでにドキュメントも公開されています:

--preload/--importオプション

まだマージはされていませんが、Denoに--preload (--import) オプションを追加するPRが作成されています:

これはNode.jsの--require--importに相当するオプションのようで、エントリーポイントとして指定したモジュールの実行前に読み込みたいモジュールを指定できます。

$ deno run --import @std/dotenv/load main.mjs

esbuildベースのdeno bundleコマンド

先週に紹介したesbuildベースのdeno bundleコマンドがマージされています。後述の@deno/rolldown-pluginなども含め、Denoから利用できるバンドラーの選択肢が増えそうです。

@deno/rolldown-plugin

Deno公式からRolldownプラグインが公開されています:

@deno/loader

Deno公式から@deno/loaderというパッケージが公開されています:

各種バンドラーなど向けに、Denoの内部でも使用されているdeno_graph各種モジュール解決の仕組みなどをベースに、Denoと同様の振る舞いに基づいて specifier や依存解決などの機能を提供することが目的のパッケージのようです。先程の@deno/rolldown-pluginを実装するために利用されています。