直近の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で安定化が計画されているようで、すでにドキュメントも公開されています:
- feat: stabilize –node-conditions flag (denoland/deno#29628)
- add docs for –unstable-node-conditions (denoland/docs#1800)
--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プラグインが公開されています:
- JSRパッケージ: @deno/rolldown-plugin
- リポジトリ: denoland/deno-rolldown-plugin
@deno/loader
Deno公式から@deno/loader
というパッケージが公開されています:
- JSRパッケージ: @deno/loader
- リポジトリ: denoland/deno-js-loader
各種バンドラーなど向けに、Denoの内部でも使用されているdeno_graphや各種モジュール解決の仕組みなどをベースに、Denoと同様の振る舞いに基づいて specifier や依存解決などの機能を提供することが目的のパッケージのようです。先程の@deno/rolldown-plugin
を実装するために利用されています。