Deno v1.30.1
Deno v1.30.1がリリースされました。
Node.js互換性の改善
Node-APIの互換性が改善されています。
- napi_get_globalでDenoの
globalThis
ではなくglobalオブジェクトが返されるように修正されています。 - napi_create_functionで
length
パラメータが誤ってチェックされていた問題が修正されています。
これらの変更により、Denoでref-napiが動くようになったようです。
その他には、deno repl
でnode:
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.mark
のdetail
オプションにArrayBuffer
やTypedArray
を指定するとエラーが発生する問題が修正されています
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
を埋め込む対応が進んでおり、それに向けた一時的な修正のようです。
- feat: embed std/node polyfill into the binary (denoland/deno#16748)
- tools: bundle std/node using esbuild (denoland/deno_std#3109)
その他には、以下の修正が実施されています。
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が作成されています。
この変更がリリースされれば、今後は--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が作成されています。
もしこの変更がリリースされれば、例えばPrismaのCLIなどを--unstable
なしで利用できるようになりそうです。
また、現在、DenoでNode-APIを有効化するには--unstable
に加えて--allow-ffi
の指定も必要ですが、より良いパーミッションがないか検討もされているようです。
今のところ、この変更はv1.31でのリリースが検討されているようです。
Deno標準モジュール解説
gihyo.jpで@kt3kさんによるdeno_std
の解説記事が公開されています。
- Deno標準モジュール解説[前編] ~Deno標準モジュールの概要と、モジュール解説(Archive~FMT) | gihyo.jp
- Deno標準モジュール解説[後編] ~モジュール解説(FS~Wasi)と、Deno標準モジュールの今後の展望 | gihyo.jp
deno_std
で提供されている機能の一覧や今後の計画などについて説明されています。