Deno v1.30.1

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

Node.js互換性の改善

Node-APIの互換性が改善されています。

  • napi_get_globalでDenoのglobalThisではなくglobalオブジェクトが返されるように修正されています。
  • napi_create_functionlengthパラメータが誤ってチェックされていた問題が修正されています。

これらの変更により、Denoでref-napiが動くようになったようです。

その他には、deno replnode:URLを使った際に、以下のエラーメッセージが表示されてしまう問題が解消されています。

Could not set npm package requirements. Error getting response at https://registry.npmjs.org/@types/node: An npm specifier not found in cache: "@types/node", --cached-only is specified.

deno lspの改善

Import Maps関連のバグ修正が実施されています。

  • Import Mapsを更新した際に、LSPの再起動やコードの編集をせずとも更新内容が反映されるように挙動が改善されました
  • Import Mapsが存在すると、fs形式のimportをnode:fsの形式へ変換するquickfixが機能しなくなる問題が修正されています

その他の修正

  • performance.markdetailオプションにArrayBufferTypedArrayを指定するとエラーが発生する問題が修正されています

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

Deno v1.30.2

Deno v1.30.2がリリースされています。

v1.30.1でCPU使用率の増加が見られたため、それを修正するために、急遽リリースされる運びになったようです。


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

deno_std v0.176.0

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

std/node

node:worker_threadsが無効化されています。

現在、Deno本体に直接std/nodeを埋め込む対応が進んでおり、それに向けた一時的な修正のようです。

その他には、以下の修正が実施されています。

  • node:net: --allow-netなしでServer#listen()を呼んだ際に、UNKNOWNエラーではなくDeno.errors.PermissionDeniedが発生するように修正されています
  • node:util/types: より厳格に型チェックが行われるように挙動が改善されています

std/encoding/front_matter

std/encoding/front_matterをブラウザ(例: Freshのislandコンポーネントなど)でも利用できるように実装が修正されています。


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

Deno.Commandの安定化とDeno.runの非推奨化について

Deno v1.28で実装されたDeno.Commandを安定化するためのPRが作成されています。

feat: Stabilize Deno.Command API #17628

この変更がリリースされれば、今後は--unstableなしでDeno.Commandが利用できそうです。

また、この変更に合わせて、Deno.runを非推奨化するPRも作成されています。Deno.runについては、Deno v2.0にて削除されることが予定されているようです。

feat: Deprecate Deno.run API in favor of Deno.Command #17630

これらの変更は、v1.31でのリリースが検討されているようです。


Node-APIの安定化について

Deno本体でNode-APIを安定化するためのPRが作成されています。

feat(napi): stabilize Node-API #17553

もしこの変更がリリースされれば、例えばPrismaのCLIなどを--unstableなしで利用できるようになりそうです。

また、現在、DenoでNode-APIを有効化するには--unstableに加えて--allow-ffiの指定も必要ですが、より良いパーミッションがないか検討もされているようです。

今のところ、この変更はv1.31でのリリースが検討されているようです。

Deno標準モジュール解説

gihyo.jp@kt3kさんによるdeno_stdの解説記事が公開されています。

deno_stdで提供されている機能の一覧や今後の計画などについて説明されています。