Deno v2.4.5

Deno v2.4.5がリリースされています。

deno lsp

Pull Diagnostics

deno lspPull Diagnosticsが実装されています (#30325)

workspace/willRenameFilesの改善

.jsから.tsへのリネームが適切に動作するよう改善されています (#30458)

deno install

DENO_INSTALL_ARCH環境変数

DENO_INSTALL_ARCH環境変数がサポートされています (#30473)

DENO_INSTALL_ARCH=aarch64のように指定することで、deno installによってインストールされる際に取得されるnpmパッケージを変更できます。

出力の改善

インストールされたパッケージ名が表示されるよう出力が改善されています (#30387)

❯ deno install
Packages: 9
+++++++++
Resolved: 9, reused: 0, downloaded: 9, added: 9

Dependencies:
+ jsr:@david/dax 0.41.0
+ jsr:@david/which 0.4.1
+ jsr:@std/assert 0.221.0
+ jsr:@std/bytes 0.221.0
+ jsr:@std/fmt 0.221.0
+ jsr:@std/fs 0.221.0
+ jsr:@std/io 0.221.0
+ jsr:@std/path 0.221.0
+ jsr:@std/streams 0.221.0

--entrypointの改善

deno.jsonexcludeで除外されているモジュールが--entrypoint (-e) でエントリーポイントに指定された際に、ダウンロードが実行されない問題が修正されています (#30442)

deno bundle - .jsonの取り扱いの改善

deno bundleにおいては.jsonファイルをImport Attributesなしでも読み込めるようにする改善が実施されています (#30413)

deno outdated/deno update - latestタグの取り扱いの改善

アプリケーションで指定されたバージョン要求を満たす場合は、latestタグが付与されたバージョンのnpmパッケージが使用されるように挙動が変更されています (#30412)

deno publish - precompiled JSX transform のサポート

deno publishcompilerOptions.jsx: precompileがサポートされています (#30466)

Deno v2.2.1deno publishにJSXのサポートが追加されましたが、意図せず@jsxRuntime classicにフォールバックされてしまっており、うまく動作しなかったようです。

deno run/deno eval - --extでCommonJSがサポート

--extオプションでmts, mjs, cts, cjsがサポートされています (#30398)

$ echo 'console.info(require("events").on)' | deno run --ext=cjs -R -
[Function: on]

node:tls

connect()certkeyオプションがサポートされています (#30426)

また、connect()に渡したsocketにおいてもcloseイベントが適切に発火されるよう修正されています (#30451)

node:os

getPriority()及びsetPriority()の互換性が改善されています。WindowsにおいてsetPriority()が適切に動作するよう改善されています (#30383)

node:stream

promisesがすでに実装されていたものの、exportされていなかった問題が修正されています (#30427)

node:fs

cp()においてコピー元及びコピー先がともにディレクトリである際に、コピー先にコピー元と同名ディレクトリが作成される問題が修正されています (#30408)

Deno API

Deno.chmodのWindowsサポート

Deno.chmodnode:fschmod()に対するWindowsのサポートが追加されました (#30436)

パフォーマンス改善

TCPソケットのbacklogパラメーターの調整

listen(2)に渡すbacklogパラメーターの値が128から511に変更されています (#30471)

Deno Deploy EA に関するアップデート

Deno KV のサポート

Deno Deploy EA においても Deno KV がサポートされたようです。Deno KV に関するドキュメントが追加されています (deploy/early-access/reference/deno-kv.md)

Exposing an environment variable as a file

環境変数の値を一時ファイルに格納する機能が追加されています (Exposing an environment variable as a file)

この機能を有効化すると、各種環境変数には設定値を格納した一時ファイルへのパスが設定されるようです:

const path = Deno.env.get("DB_URL");
const value = await Deno.readTextFile(path);