Fresh v2のアルファバージョンが公開
Fresh v2向けに開発されていたコードがmain
ブランチに取り込まれています。
合わせて、Fresh v2のアルファバージョンとして公開されています。
現状、大きな変更として以下のような内容がありそうです。
- FreshのJSRへの公開
preact
やesbuild
などのパッケージがnpm:
経由で読み込まれるように変更されています (例:www/deno.json
)- ExpressライクなAPIの採用 (例:
www/main.ts
) - ハンドラーやページコンポーネントなどの定義方法の改善 (例:
www/routes/showcase.tsx
)
現状、わかっている変更点などを少しずつ以下のページにまとめているため、もし興味がありましたら参照ください。
Deno v1.43.6
Deno v1.43.6がリリースされています。
Node.js互換性の改善
JestやVitest, avaなどのテストフレームワーク向けの対応を中心に進められています。
node:worker_threads
:Worker
を介して転送されるメッセージの中にMessagePort
があった場合に、addListener
などのメソッドが未定義になってしまう問題が修正されています (vitest
など向けの対応)node:module
: avaを動かせるようにするため、findSourceMap
の空実装が追加されています。node:process
:process.listeners()
に'SIG*'
を渡した際に、きちんとリスナー数が返却されるように改善されています。
deno task
deno.json
でnodeModulesDir: true
設定されていて かつ node_modules
ディレクトリがない場合に、deno task
の実行に失敗してしまう問題が修正されています。
deno serve
deno serve
コマンドで指定されたエントリポイントでfetch
が引数を受け取らない形式で定義されている場合に、TypeError
が発生する問題が修正されています。
URL.{canParse,parse}
の型定義の改善
URL.canParse
の第2引数にURL
オブジェクトを渡せるように型定義が改善されています。URL.parse
の型定義が追加されています。
deno_std
のリリース
deno_std
のリリースが行われています。主要な変更点についてのみ紹介します。
@std/collections@1.0.0-rc.1
@std/collections v1のRCバージョンが公開されています。近いうちにv1がリリースされる可能性がありそうです。
@std/streams@0.224.1
新規APIとしてconcatReadableStreams
が追加されています。
import { concatReadableStreams } from "jsr:@std/streams@0.224.1/concat-readable-streams";
const result = await Array.fromAsync(concatReadableStreams(
ReadableStream.from([1]),
ReadableStream.from([2, 3]),
ReadableStream.from([4, 5, 6]),
));
console.info(result); // => [ 1, 2, 3, 4, 5, 6 ]
deno install
と各種パッケージマネージャーとの相互運用性の改善
deno install
コマンドでnpm/pnpm/Yarn/Bunなどが生成するロックファイルをサポートすることで、より相互運用性を高めることが検討されているようです。
FUTURE: deno install should interop with other package managers #23909
この機能が入ると、BYONMなどと合わせることで、少しずつDenoへの移行などはやりやすくなる可能性もありそうです。
deno_core
にARCHITECTURE.md
が追加
deno_coreの仕組みなどについて解説したARCHITECTURE.md
というファイルが追加されています。