Deno v2.2のリリースについて
Deno v2.2は先週にリリースが計画されていたようですが、おそらくは後述するV8 13.4へのアップデートなどの関連で、リリースが見送られたようです:
V8のアップグレードとJavaScriptファイルでのExplicit Resource Managementのサポートについて
直近でDeno内部のV8を13.4へアップデートするPRがマージされています:
おそらく、Deno v2.2でリリースされるのではないかと思います。
この対応に合わせて、JavaScriptファイルでExplicit Resource Managementを利用できるようにする対応が進められています (今まで、Explicit Resource ManagementはTypeScriptでのみサポートされていました)
deno fmt
でのTOMLのサポートについて
deno fmt
コマンドにTOMLファイルのフォーマットをサポートするためのPRが作成されています:
dprint-plugin-tomlをベースに実装されているようです。
2.2.0のマイルストーンには含まれていないため、この機能のリリースは少し先になるかもしれません。
deno transpile
コマンドの追加に関する提案
deno transpile
コマンドをDenoに追加する提案が行われています:
まだ正式に実装されるかどうかはわかりませんが、issueにそれなりにリアクションがついていそうなので紹介します。
機能としては、.ts
ファイルを.js
ファイルへトランスパイルしつつ.d.ts
も生成することなどが想定されているようです。Denoでnpmパッケージを公開したい場合などに便利そうではないかと思いました。
Deno v2.1.10
Deno v2.1.10がリリースされています。
deno compile
- --include
オプションがdeno compile
で生成された実行可能ファイルを検出するよう改善
--include
オプションで指定されたディレクトリにすでにdeno compile
で生成された実行可能ファイルが存在する場合に、それが新しく生成される実行可能ファイルに含まれてしまわないよう改善されています (#27877)
Streams API - ReadableStream
に関するバグ修正
ReadableStream#pipeTo
などの使用時に、該当のReadableStream
でエラーが発生するとそれを捕捉することができない問題が修正されています (#27975)
Node.js互換性の改善
npmパッケージ中の拡張子を持たないモジュールの取り扱いが改善
npmパッケージ中の拡張子を持たないモジュールをCommonJS形式で取り扱うよう修正されています (#27904)
node:zlib
- BrotliCompress
とBrotliDecompress
の正式な実装が公開
node:zlib
においてBrotliCompress
とBrotliDecompress
の正式な実装がexport
されています (#27943)
これら2つのAPIはすでに実装されていたものの、誤って空の実装の方がexport
されていたようです。
node:crypto
- JWK形式でのed25519
/x25519
の鍵生成に関するバグ修正
JWK形式で生成されたed25519
/x25519
形式の秘密鍵においてx
プロパティーが未定義であった問題が修正されています (#27990)
node:http
- request()
の改善
request()
においてwebsocket
以外の値が設定されたUpgrade
ヘッダーを適切に処理するよう改善されています (#27931)
また、リクエストのプロキシーをサポートするためにrequest()
のpath
オプションにURLを設定できるよう改善されています (#27871)
deno_std
のリリース
deno_std
のリリースが行われています:
@std/cli@1.0.13
- ProgressBar
/ProgressBarStream
の追加
@std/cli@1.0.13がリリースされています。
プログレスバーを表示するためのProgressBar
(@std/cli/unstable-progress-bar
)とProgressBarStream
(@std/cli/unstable-progress-bar-stream
)が追加されています (#6378)
import { ProgressBar } from "jsr:@std/cli@1.0.13/unstable-progress-bar";
const bar = new ProgressBar(Deno.stdout.writable, { max: 100 });
for (let i = 0; i < 100; i++) {
bar.add(1);
await new Promise((ok) => setTimeout(ok, 100));
}
await bar.end();
@std/fs@1.0.12
- Node.jsサポートの改善
@std/fs@1.0.12がリリースされています。
@std/fs
のNode.jsサポートの改善に向けて、以下のモジュールが追加されています:
@std/fs/unstable-rename
(rename
及びrenameSync
が提供されます)@std/fs/unstable-read-file
(readFile
及びreadFileSync
が提供されます)@std/fs/unstable-make-temp-dir
(makeTempDir
及びmakeTempDirSync
が提供されます)