Deno v2.6.9
Deno v2.6.9がリリースされています。
deno doc
Markdownファイルのプレビューがサポートされています (#32024)
$ deno doc README.md
deno docコマンドに--agentsオプションの追加 (#31987) が検討されており、それに向けた対応であると思われます。
--agentsオプションの追加についてはまだマージはされていませんが、すでにPRも作成されています (#32044)
deno upgrade
--checksumが追加されています (#31804)。ダウンロードされたアーカイブが改ざんされていないか検査できます。
$ deno upgrade --checksum 8a677a4b0cea1a25aaecfc70d6c6a288f9ad69af0a92e9e9d513cabaaf3c688f
チェックサムはGitHub Releaseページの Assets として配置してあります。
deno compile
npm:をエントリーポイントに指定した場合、デフォルトで/tmp/deno_nm/yyyy-mm-ddディレクトリにnode_modulesを作成し、そこに依存パッケージをインストールしてコンパイルするよう挙動が修正されています (#32084)
node:worker_threads
下記APIが実装されています:
threadName(#32072)Worker#cpuUsage()(#32050)BroadcastChannel#ref()&BroadcastChannel#unref()(#32036)Worker#[Symbol.asyncDispose]()(#32051)
また、MessageChannelの一方のMessagePortがcloseされたら、もう一方のMessagePortでもcloseイベントが発火されるよう改善されています (#32092)
node:sqlite
DatabaseSync#setAuthorizer()が実装されています (#32009)
node:child_process
ChildProcessのstdin/stdout/stderrにReadable/Writableではなく Socket (node:net) インスタンスが設定されるよう改善されています (#31975, #32071)
また、シグナルによってプロセスが停止した場合は ChildProcess.exitCodeがnullに設定されるよう挙動が修正されています (#32081)
node:zlib
ZstdCompress/ZstdDecompressが実装されています (#32025)
node:tty
isatty()に0, 1, または2以外の値が渡された際も適切に動作するよう実装が改善されています (#31912)
node:test
.only()が使用された際に終了コードとして1が返されないよう挙動が修正されています (#32043)
require()
require()によって読まれたESMモジュールからnpm:やjsr:パッケージの読み込みがサポートされています (#31974)
--allow-import
--allow-importのデフォルトの許可対象ホストにraw.esm.sh:443が追加されています (#32030)
deno packコマンドについて
まだマージはされていませんが、deno packコマンドを実装するPRが作成されています。
30189e1b9e4ee0a26c0a27f5070f41f44feed4d8時点での実装によると、現在のプロジェクト内の各種パッケージに対して、TypeScriptファイルのJavaScript形式へのトランスパイルや.d.tsファイル・package.jsonの生成を行った上でtarballを作成してくれるようです。作成されたtarballはnpm publishコマンドによってnpmレジストリへ公開することができます。
なお、もしDeno APIに依存しているコードがある場合は、自動的に@deno/shim-denoを依存関係に追加してくれるようです。
dntとの兼ね合いが気になるところではありますが、複雑ではないユースケースにおいてはdeno packによってdntを代替できる可能性がありそうです。
Cliffy v1
DenoのCLIフレームワークであるCliffyのv1.0.0がリリースされています。
@cliffy/command
Command#argument()の実装とコマンドライン引数への説明 (description) の指定のサポート (#843, #844) やgenerateShellCompletions()の追加 (#808)などが行われています。