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というファイルが追加されています。