Deno 2.9 がリリースされた。ヘッドラインは実験的な deno desktop で、スクリプトや Web フレームワークのプロジェクトからネイティブのデスクトップアプリを単一バイナリとして出力できる。deno installpackage-lock.json / pnpm-lock.yaml / yarn.lock / bun.lock を直接読み、既存の解決結果を deno.lock に引き継ぐ。

ts
Deno.serve(() =>
  new Response(
    "<!DOCTYPE html><h1>Hello from Deno desktop</h1>",
    { headers: { "content-type": "text/html" } },
  )
);
sh
deno desktop main.ts
  • deno desktop は実験的機能である。UI は webview(既定)または --backend cef の Chromium Embedded Framework で描画し、--target / --all-targets でクロスコンパイルできる。
  • deno link / deno unlink / deno list が追加された。links フィールドは安定扱いになった。
  • npm の min-release-age は既定で 24 時間有効になる。オプトインの trust-policy=no-downgrade も追加された。
  • deno test--changed / --retry / --shard、組み込みの t.assertSnapshot()Deno.test.each が加わった。
  • コールドスタートは約 34ms から約 17ms に短縮され、負荷時の RSS も抑えられた(x86_64 Linux、2.8.0 比)。
  • Deno.serve のレスポンス自動圧縮は既定オフになった。有効化は automaticCompression: true または DENO_SERVE_AUTOMATIC_COMPRESSION=1

#参考文献