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.listenTlsalpnProtocolsオプションを--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.jsonexcludeで指定されたファイルがdeno lspで取り扱われなくなるように挙動が改善されています。


https://github.com/denoland/deno/pull/19791

deno vendor

deno.jsoncompilerOptions.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が作成されています。

Release a stable version 1.0 #3489

時期などについては未定のようですが、安定版のリリース前に一度、全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を動かす解説記事が公開されています。