Deno Landは最近Deno 2.3、ローカルのNPMパッケージのサポートが追加されたDenoランタイムのアップデートをリリースした。Deno 2.3では、deno compileの改善も行われている。
Deno 2.3はnpmパッケージのテストおよび開発をローカルでできるようにする。これによりDenoは依存関係をオーバーライドするメカニズムを提供し、開発者がカスタムまたはローカルバージョンのライブラリを使用できるようにする。このメカニズムはNode.jsのnpm linkに似ており、deno.jsonのpatchフィールドを通じて設定される。
{ "patch": [ "../path/to/local_npm_package" ] } 開発者は提供された例をレビューできる。
deno compileはプロジェクトを単一のスタンドアロンバイナリにコンパイルし、実行可能な配布を容易にする。これによりDenoがインストールされていないシステムにDenoアプリケーションを配布できるようになる。内部ではDenoランタイムのスリム化バージョンとJavaScriptまたはTypeScriptコードをバンドルしている。
Deno 2.3はdeno compileがForeign Function Interface(FFI)およびNodeネイティブアドオンを使用するプログラムをサポートするよう拡張されている。FFIはDenoのJavaScriptランタイムとネイティブコードの間の橋渡しをし、開発者が既存のネイティブライブラリをDenoアプリケーション内で使用したり、RustやCなどの言語でパフォーマンスクリティカルなコードを実装したり、JavaScriptでは直接利用できないオペレーティングシステムのAPIやハードウェア機能にアクセスしたりできるようにする。
さらに、開発者はコンパイルプロセス中に特定のファイルを埋め込まずに済むため、実行ファイルサイズを削減できるようになった(例:開発用またはテスト用ファイルを本番ビルドから除外する)。
Deno 2.3にアップグレードするには、開発者はターミナルでシンプルに次のコマンドを実行するだけだ。
deno upgrade Deno 2.3には、deno fmtの改善(埋め込みCSS、HTML、およびSQLのタグ付きテンプレートのフォーマットを可能にする)、OpenTelemetryサポートの拡張(基本的なイベント記録、スパンコンテキストプロパゲーターなど)、依存関係のインストールの高速化など、追加の機能が含まれている。完全な機能リストについては、開発者はリリースノートを確認することを勧められている。
DenoはMITライセンスの下で利用可能なオープンソースソフトウェアである。Deno Projectを通じて貢献することが奨励されており、Denoの貢献ガイドラインに従う必要がある。