世界を動かす技術を、日本語で。

Deno 2.8

2026年5月22日原文(deno.com)

概要

  • Deno 2.8 はこれまでで最大規模のマイナーリリース
  • 新サブコマンドや機能追加で開発・CI/CD体験を大幅強化
  • Node.js互換性 ・パフォーマンスが大幅に向上
  • npmパッケージ管理がより直感的・高速に
  • さまざまな新機能でプロジェクト管理・パッケージ配布が簡単に

Deno 2.8 新機能と改善点

  • アップグレード方法

    • 既存ユーザーは deno upgrade コマンドでバージョンアップ
    • 新規インストールは公式サイトまたは curl/iwr コマンドを利用
  • deno audit fix

    • deno audit(2.6で導入)はnpm依存関係の脆弱性を検出
    • deno audit fixで自動的に脆弱なパッケージをパッチ済みバージョンへアップグレード
    • メジャーバージョンアップが必要な場合は個別にリスト化
  • deno bump-version

    • deno.jsonpackage.jsonのバージョンフィールドを自動更新
    • ワークスペース対応で、全パッケージのバージョンを一括管理
    • Conventional Commitsに基づく自動バージョン判定も可能
    • --dry-runで変更内容の事前確認が可能
  • deno ci

    • CIやDockerfile向けの再現性の高いインストール専用コマンド
    • deno.lockの厳密な一致を強制し、node_modulesを初期化
    • --prod--skip-typesも利用可能
  • deno pack

    • Deno/JSRプロジェクトをnpm公開用tarballに一発変換
    • TypeScript→JavaScript変換、型定義、README・LICENSE自動同梱
    • 依存関係やimportの自動書き換えでnpm互換性確保
    • --dry-run--set-version等多彩なオプション
  • deno transpile

    • TypeScript, JSX, TSXから型を除去し純粋なJavaScriptに変換
    • 複数ファイル・ディレクトリ出力・ソースマップ・型定義生成に対応
    • JSのみの配布やTS非対応ランタイム向け事前ビルド用途
  • deno why

    • 指定パッケージが依存関係に含まれる理由を可視化
    • npm/JSR両方の依存ツリーをトレースし、npm explain/pnpm why/yarn whyと同等機能
    • バージョン指定も可能
  • npm: プレフィックス不要化

    • CLIでnpmパッケージ名にnpm:プレフィックスが不要に
    • deno add expressでnpm:expressを自動認識
    • import時は従来通りプレフィックス必須
    • JSRパッケージはjsr:プレフィックス維持

Node.js互換性・パフォーマンス向上

  • Node.js API互換性の大幅進展

    • Node公式テストスイート合格率が42%→76.4%に急上昇(Deno 2.7→2.8間)
    • 500以上のコミットでほぼ全モジュールに最適化・修正
    • Bun 1.3.14と比較しても圧倒的な互換性
  • パフォーマンス最適化

    • npmインストールが3.66倍高速化(3,319ms→906ms)

    • base64処理・node:bufferが3倍以上高速化

    • node:httpのスループット2.21倍、レイテンシ40%減

    • その他node:crypto, node:fs, Worker間通信も大幅高速化

    • 主な高速化手法

      • npmレジストリの省略版メタデータ利用(packument短縮)
      • 依存解決の並列化
      • gzip展開の非同期スレッド化
      • tarball展開のI/O・CPUフェーズ分離
      • base64処理のsimdutf化

まとめ

  • Deno 2.8 は開発者体験・CI/CD・パッケージ管理・Node.js互換性・パフォーマンスの全方位で大幅進化
  • npm/JSR両エコシステムを活用したい開発者にとって、より直感的・強力な選択肢を提供
  • 詳細や各コマンドの使い方は公式ドキュメント参照

Hackerたちの意見

これを読んでる時点で、ブログ記事はまだ存在しないみたいだね。

v2.8のリリース記事はまだ公開されていない。 Denoの最新リリース状況はGitHubのリリースページで確認してね。リリースはこちら: https://github.com/denoland/deno/releases/tag/v2.8.0 EDIT: フォーマット調整

DenoはJavaScriptとTypeScriptのランタイムなんだけど、名前を知らない人もいるかもね。Deno 2.6と競合のBun 1.3、Node.js 25の比較レビューがあるよ: https://www.devtoolreviews.com/reviews/bun-vs-node-vs-deno-2...

Bunがウェブリクエストを処理するのがこんなに速いのは驚きだね。記事ではZigが要因として挙げられてるけど、メモリを細かく管理することでNodeに対して2倍以上の速度が出るって本当なのかな?同様に、彼らは正確には言ってないけど、Bunを温かいパッケージキャッシュで動かしてるみたいだね…他のはどうなんだろう?キャッシュ持ってるのかな?

Denoはどうなってるんだろう。Nodeは安定したソリューションで、ずっと使われ続けるだろうね。今はTypeScriptも使えるし、もうすぐアプリを単一の実行ファイルにビルドできるようになるよ -- ネイティブ依存関係も含めてね。Bunはカオスだけど、それでもめっちゃ速いし、標準ライブラリに全部含める面白いアプローチを取ってる。しかも、Anthropicに買収されたし。Denoはサンドボックスとサードパーティ依存関係のインポートの簡単さで素晴らしいストーリーがあったけど、今はサンドボックスが一般的になっちゃって、インポートメカニズムもnpm addより良いとは思えないな。

もうすぐアプリを単一の実行ファイルにビルドできるようになるよ -- ネイティブ依存関係も含めてね。 おお、それは知らなかった!めっちゃいい機能だね!

しかも、Anthropicに買収されたし。 これがポジティブだと思う人いるの?

彼らは約2ヶ月前に会社の半分を解雇したみたいだよ: https://news.ycombinator.com/item?id=47467746

選択肢があるのはいいことだね、エコシステムが停滞しないように。

もう単一の実行ファイルを出荷できるよ。私の製品のCLIはNodeの単一実行ファイルアプリケーションなんだ。

新しいdeno packコマンドは、安全でシンプルなパッケージングにいい追加だね。Node.jsを使ってる人には、同じような単一コマンドが https://www.npmjs.com/package/ts-node-pack で使えるよ。Node.jsが.tsモジュールのインポートをサポートするようになったから、ビルドステップなしでリポジトリが使えるようになったね。

そうだね、この記事を読んでるとすぐに思うのは、deno packが私のオープンソースパッケージのnpm publishワークフローの素晴らしい代替になるかもしれないってこと。Deno優先/Deno中心に移行を続けたいけど、逆にNodeのTypeScriptサポートが増えてきたから、TypeScript専用のnpmパッケージに切り替えようかなって(ちょっとした)メッセージをエコシステムに送りたいとも思ってる。JSRが存在するのは嬉しいけど、あれは(ほぼ)クリーンなエコシステムだからね。

大体のノード系のものをラップして、ランタイムとしてDenoを使ってるよ。うまくいってる。プロジェクトが純粋なTypeScriptなら、Denoでそのまま実行するだけ。セキュリティのための追加オプションもいいし、インストールスクリプトがデフォルトで無効になってるのもいいね。もし直接Nodeを使ってるなら、やめた方がいいよ。少なくともBunを使ってみて。エージェント的な作業では、RustとTypeScript以外を使う理由はほとんどないと思う。異論はあるかもしれないけど、型安全性、メモリ安全性、そして大量の作業の蓄積は重要だよ。エージェントは難しいエラーや、簡単にナビゲートできるパターンが必要だからね。UIに関しては、TypeScriptが一番理にかなってると思う。デザインの例がたくさんあるからね。

Hacker Newsで議論の続きを見る