Deno v1.35.1
Deno v1.35.1がリリースされました。
Node.js互換性
node_modules/.deno/setup-cache.binという独自のキャッシュファイルが導入されています。
このファイルはnode_modules/.denoに関するディレクトリ構造を記録しており、このファイルを活用してシンボリックリンクの作成を効率化することで、node_modulesのセットアップを高速化することが狙いのようです。
https://github.com/denoland/deno/pull/19787
Deno.listenTls
Deno.listenTlsのalpnProtocolsオプションを--unstableを指定せずに利用できるようになりました。(元々、Deno v1.35のリリース時に安定化される予定でしたが、今回のリリースで改めて安定化されました)
https://github.com/denoland/deno/pull/19732
Deno.serve
Deno.serveでBrotliによる圧縮が適用された際のパフォーマンスを改善するため、以下のパラメータが設定されています。
BROTLI_PARAM_QUALITY:6(ngx_brotliのデフォルトと同じ値)BROTLI_PARAM_LGWIN:22(brotliのデフォルトのウィンドウサイズ)
https://github.com/denoland/deno/pull/19758
deno lsp
deno.jsonのexcludeで指定されたファイルがdeno lspで取り扱われなくなるように挙動が改善されています。
https://github.com/denoland/deno/pull/19791
deno vendor
deno.jsonのcompilerOptions.jsxImportSourceにImport Mapsで定義されたマッピングが指定された際に、対象のモジュールがベンダリングされない問題が修正されました。
https://github.com/denoland/deno/pull/19724
deno_std v0.194.0
deno_std v0.194.0がリリースされました。
std/msgpackが追加
MessagePackを取り扱うためのモジュールがdeno_stdに追加されています。
import { decode, encode } from "https://deno.land/std@0.194.0/msgpack/mod.ts";
const message = decode(encode({ type: "foo", message: "bar" }));
console.info(message); // => `{ type: "foo", message: "bar" }`
https://github.com/denoland/deno_std/pull/3460
std/collections/group_by.ts
groupByが受け取るselector関数がstringだけでなくPropertyKeyを返せるように改善されています。
https://github.com/denoland/deno_std/pull/3461
deno_std v1について
deno_std v1のリリースに関してissueが作成されています。
時期などについては未定のようですが、安定版のリリース前に一度、全APIを見直すことなども提案されています。
今後、いくつかのAPIの削除やリネームなどが実施される可能性もあるかもしれません。
deno testへのJUnit/dotレポーターの追加について
deno testにJUnit/dotレポーターを追加するPRが作成されています。
今のところ、以下のようにレポーターごとに専用のオプション(--junit)が追加される想定のようです。
$ deno test --unstable --junit=./junit.xml test.ts
JUnitレポーターについては、v1.36でのリリースが検討されているようです。
Deno v1.35でAstroが使えるように
Deno v1.35を使用してAstroを動かす解説記事が公開されています。