Deno v2.1.4
Deno v2.1.4がリリースされています。
Node.js互換性の改善
deno install --entrypointの挙動の改善と--unstable-npm-lazy-cachingの導入
今までDenoはnpmパッケージに依存したスクリプトを実行する際に、package.jsonで指定されたパッケージをすべてインストールしていました。
このリリースではdeno install --entrypointの挙動が変更され、指定したエントリポイントから依存されているnpmパッケージのみがキャッシュされるよう改善されています。
他のコマンドでもdeno install --entrypointと同様の振る舞いをさせたい場合は、--unstable-npm-lazy-cachingまたはDENO_UNSTABLE_NPM_LAZY_CACHINGを指定することで有効化できます。
パスに@が含まれるモジュールを提供するパッケージの取り扱いの改善
npmパッケージからファイル名に@が含まれるモジュールをimportしようとするとエラーが発生する問題が修正されています。
node:fs
readFile()でファイルディスクリプターの指定がサポートされています。
node:v8
serialize()とdeserialize()でFloat16Arrayがサポートされています。
_http_common
@mswjs/interceptorsなどのNode.jsの内部パッケージである_http_commonに依存しているパッケージでエラーが発生する問題が修正されています。
deno task
(Windows) v2.1.3に関する修正
Deno v2.1.3からdeno taskから実行された子プロセスでSIGINTが受信できなくなっていた問題が修正されています。
deno lsp
@deno-typesから@ts-typesへの移行
Code Actionなどにおいて@deno-typesではなく@ts-typesが使用されるよう修正されています。
OpenTelemetry
OTEL_EXPORTER_OTLP_PROTOCOLの指定が任意に変更
--unstable-otelによってシグナルの送信が有効化された際に、OTEL_EXPORTER_OTLP_PROTOCOLが未定義だとプロセスがパニックする問題が修正されています。
fetch()
Windowsにおけるfile:URLの取り扱いの改善
Windowsにおいてfetch()の引数に不正な形式のfile:URLを指定するとプロセスがパニックする問題が修正されています。
deno_lint v0.69.0
deno_lint v0.69.0がリリースされています。
以前に紹介したJSX関連のLintルールに加えて、rules-of-hooksルールの実装が追加されています。Deno本体に搭載されているdeno_lintがアップデートされれば、これらのJSX関連のルールが利用できるようになりそうです。
Deno本体でのnode:sqliteのサポートについて
Deno本体にnode:sqliteを実装するPRが作成されています:
まだ正式に導入されるかどうかはわかりませんが、もしかしたらDeno v2.2.0あたりでリリースされる可能性もあるかもしれません。
Denoのファイルシステム関連APIの@std/fsへの移植について
@std/fsをNode.jsで動作させるために、Deno.FsFileなどのファイルシステム関連のAPIを@std/fsへ移植することが検討されているようです:
まだマージはされていないですが、早速、Deno.statに関する移植が進められているようです:
UnstorageでのDeno KVドライバーの実装について
まだリリースはされていないですが、UnstorageにDeno KVドライバーを実装するPRがマージされています: