Deno v1.24.2

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

FFIに関する改善

Deno.UnsafePointerView#getArrayBufferpointerが指すデータのコピーではなく、pointerが指すデータを直接返すように修正されています。

また、Deno.PointerValueが追加されています。 これに合わせて、ポインタを取り扱う各APIの戻り値などでもこの型が使用されるように修正されています。

その他には、戻り値が64ビット値の関数に対してもV8 Fast API Callsによる最適化が適用されるようになりました。

その他の変更点

  • プロパティにErrorオブジェクトが設定されたオブジェクトをthrowすると、プロセスがパニックする問題が修正されました。
  • deno vendor: dynamic importに失敗した際に、プロセスがパニックする問題が修正されました。
  • deno lsp: import節の入力補完において、レジストリ補完の最中のみ/がコミット文字として使用されるように修正されました。

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

deno_std v0.151.0

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

Node.jsの互換レイヤーに関するバグ修正や機能の追加が実施されています。

変更点:

  • node/fs: fs.existsSync()が例外をthrowする可能性がある問題が修正されました。
  • node/fs: fs.watchFile()fs.unwatchFile()が実装されました。
  • node/http(s): http.request()などでprotocolを省略した際に、デフォルトで適切なプロトコルが設定されるように修正されました。

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

Deno Merch

Deno公式のショップサイトが公開されました。

ソースコードも公開されており、Fresh/Twind/SWR/GraphQL Storefront API (Shopify)をベースに実装されているようです。


https://github.com/denoland/merch

Freshのロードマップ

Freshのロードマップが公開されました。

直近では、以下の変更が予定されているようです。

  • プラグインシステムの実装 (現状、Twindプラグインの実装が進行しているようです)
  • <Head>コンポーネントの非推奨化 (<head>タグによって直接メタ情報を埋め込めるようにする予定のようです)

https://github.com/denoland/fresh/issues/563

PrismaのDenoサポートについて

Prismaの以下のissueで、Denoのサポートについて議論されています。

先週、このissueにDeno Land Inc.のメンバであるBartekさんがコメントしています。

現在、DenoとPrismaの開発チームは共同でPrismaをDenoに対応させるための作業をしているようで、近いうちに何らかの発表ができるかもしれないとのことです。

ここ最近のPrismaのDenoサポートに関する動きについて以下のページにまとめたため、もし興味がありましたら参照ください。


https://github.com/prisma/prisma/issues/2452#issuecomment-1201068791

esm.sh v90

esm.shのv90がリリースされました。

このリリースでは、CLIの実験的なサポートが行われており、Import mapsファイルの管理に利用することができます。

$ deno install -A -n esm -f https://esm.sh

# reactをimport_map.jsonに追加
$ esm add react

# reactをアップデート
$ esm upgrade react

# reactをimport_map.jsonから削除
$ esm remove react

https://github.com/ije/esm.sh/releases/tag/v90