Deno v1.34.1

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

deno compile

  • DENO_DIRが読み取り専用であった際に、deno compileで作ったバイナリがうまく動かない問題が修正されました。
  • npmパッケージ内に含まれるファイルを読む際に、deno compile--allow-readを指定しているにも関わらず、バイナリの実行時に再度--allow-readが求められる問題が修正されました。

Node-API

napi_get_cb_infodata引数が適切に取り扱われるように改善されました。

Deno.createHttpClient

オプションとしてhttp2: falsehttp1: trueの両方が指定された場合に、ALPNでh2が指定されないように修正されました。

denoland/deno_kv_oauth

Deno公式で、Deno KVをベースにOAuthのアクセストークンやセッションなどの管理を行ってくれるモジュールが公開されています。

ロードマップについては、以下で公開されています。

window変数の削除について

Deno 2.0でwindow変数の削除が検討されているようです。

背景としては、既存のライブラリにはwindow変数の有無に応じて現在の環境(ブラウザ or Node.js)を判断しているものが多く存在し、Denoでそういったライブラリを利用する際に、意図せずしてブラウザであると判定されてしまうことを防ぎたい、という狙いがあるようです。

次のマイナーリリースであるDeno 1.35では、window変数が参照された際に警告を表示する変更を入れることが検討されているようです。

esbuild_deno_loader v0.8.0

esbuild_deno_loader v0.8.0がリリースされました。

npm:URLやnode_modulesのサポートが行われています。

"native"ローダーでは、通常のDenoにおけるnpm:などと同様に、依存するnpmパッケージはDenoのグローバルキャッシュ(DENO_DIR)から読み込みやダウンロードなどが行われるようです。

ただし、Deno Deployなどでも動作する"portable"ローダーでは、--node-modules-dirなどによって事前にnode_modulesディレクトリが作成されていないと動作しないなどの制限があるようです。

freshでのnpm:サポート

またマージはされていませんが、esbuild_deno_loader v0.8.0を活用してfreshにnpm:のサポートを入れる対応が進められているようです。