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を動かす解説記事が公開されています。