概要
- 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.jsonやpackage.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:プレフィックス維持
- CLIでnpmパッケージ名に
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両エコシステムを活用したい開発者にとって、より直感的・強力な選択肢を提供
- 詳細や各コマンドの使い方は公式ドキュメント参照