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がマージされています: