Deno v1.19.1

Deno v1.19.1がリリースされました。

新機能としてDeno.dlopenでstatic変数の参照がサポートされています。

その他にも、deno compile--import-mapオプションがうまく動かなくなっていた問題が修正されています。


https://github.com/denoland/deno/releases/tag/v1.19.1

deno_std v0.127.0

deno_std v0.127.0がリリースされました。

dotenvの追加

deno-dotenvモジュールがdeno_stdにマージされました。

マイグレーション手順も公開されているので、もしdeno-dotenvを利用されていた場合は参考にするとよさそうです。

async/abortableの追加

Promiseをキャンセルできるようにするためのユーティリティが追加されています。

import { abortable } from "https://deno.land/std@0.127.0/async/abortable.ts";
import { delay } from "https://deno.land/std@0.127.0/async/delay.ts";

const controller = new AbortController();
const promise = delay(5000);
setTimeout(() => controller.abort(), 2000);
await abortable(promise, controller.signal); // => AbortError

node

  • fs: fs.realpath.nativeが追加されました。
  • tls: tls.createServerの基本的なサポートが追加されました。

その他


https://github.com/denoland/deno_std/releases/tag/0.127.0

deno.json(c)でのImport Mapサポートについて

deno.json(c)でImport Mapファイルの指定をサポートするPRがマージされました。

feat: allow specification of import map in config file (#13739)

{
  "importMap": "./vendor/import_map.json"
}

次のマイナーアップデートであるDeno v1.20あたりでリリースされる可能性がありそうです。

deno testコマンドへの--trace-opsオプションの追加について

deno testコマンドに--trace-opsオプションを追加するPRがマージされています。

feat: deno test –trace-ops (#13770)

背景として、Deno v1.19でTest Sanitizersのエラー出力の大幅な改善が行われました (詳しくは下記の公式ポストを参照)

このエラー出力の改善にはパフォーマンスへの影響があったようで、上記のPRでこの改善されたエラー出力がデフォルトで無効化されるようになりました。

そして、改善されたエラー出力を任意で有効化できるようにするためにこの--trace-opsオプションが追加されました。

こちらも次のDeno v1.20でリリースされる可能性がありそうです。

deno.landのFreshへの移行

Denoの公式サイトである deno.landがNext.js+TailwindCSS+VercelからFresh+Twind+Denoの構成へ移行されました。

refactor: switch to fresh (#2016)

最近Freshに追加されたCustom Appなども活用されており、もし興味があれば中身を見てみると面白そうです。

Remix v1.2.0

Remixのv1.2.0がリリースされています。

実験的機能としてDenoアダプタが追加されています。


https://github.com/remix-run/remix/releases/tag/v1.2.0

OakのNode.jsサポートについて

Oakのv10.3.010.4.0がリリースされました。

これらのリリースではdntを使用したNode.jsへの実験的サポートが追加されています。

レジストリには@oakserver/oakという名前で公開されています。

より詳しくは下記ページを参照ください