Deno v2.5.3
Deno v2.5.3がリリースされています。
パーミッションブローカー (DENO_PERMISSION_BROKER_PATH
)
先週に紹介したパーミッションブローカーがリリースされました (#30826)
先週に紹介した時点からの差分として、追加で以下の改善が実施されています:
- 任意でこのフィールドに文字列を設定することで、権限が拒否された際にユーザーへ表示されるメッセージをカスタマイズできるようです。
- Windows でのパーミッションブローカーのサポート (#30894)
DENO_PERMISSION_BROKER_PATH
に名前付きパイプへのパスを指定することで有効化できるようです。
deno check
cloudflare:
などのDenoがサポートしないURLスキームが検出されるとエラーが発生する問題が修正されています (#30904)。v2.5.2によるリグレッションであったようです (#30898)
また、deno check
コマンドで--v8-flags
オプションがサポートされています (#30868)
deno run
--watch
オプションが指定され かつ Deno.addSignalListener()
によってSIGINT
へのリスナーを登録してる場合、プロセスがSIGINT
で終了しなくなる問題が修正されています (#30635)
Deno API
Deno.FsFile#stat()
のパーミッションの見直し
read: false
を指定して実行したDeno.open()
から返却されたDeno.FsFile
に対してstat()
メソッドを呼んだ際に、該当ファイルに対する--allow-read
権限が要求されるよう挙動が変更されています (#30876)
Deno.FsFile#utime()
のパーミッションの見直し
write: false
を指定して実行したDeno.open()
から返却されたDeno.FsFile
に対してutime()
メソッドを呼んだ際に、該当ファイルに対する--allow-write
権限が要求されるよう挙動が変更されています (#30872)
Node.js互換性の改善
node:sqlite
--allow-all
が指定されている場合のみ ATTACH DATABASE
の実行がサポートされました (#30763)
node:timers/promises
setTimeout()
でsignal
オプションがサポートされています (#30855)
bundleDependencies
bundleDependencies
およびbundledDependencies
の両方が定義されたnpmパッケージをインストールするとエラーが発生する問題が修正されています (#30875)
Tunnelling
Deno v2.4.1で実装された--connected
オプションが--tunnel
にリネームされています (#30786)
typescript-go
との統合について (--unstable-tsgo
)
まだマージはされていないですが、deno check
でtypescript-goを利用できるようにするPRが作成されています:
c0fde0e81ec6c7b5e5e7512b2958be93bb3e41fbの時点においては、--api
オプションを指定して子プロセスとして起動したtsgo
とプロセス間で通信することによって統合が実現されているようです。
typescript-go
は--unstable-tsgo
を指定してdeno check
がはじめて実行された際に動的にダウンロードされ、キャッシュされるようです。
現時点ではtypescript-go
のフォーク版 (denoland/typescript-go)が利用されています。
Deno Deploy EA に関するアップデート
Prisma Postgresのサポート
先週に紹介した Deno Deploy EAにおけるデータベースのプロビジョニング機能にPrisma Postgresのサポートが追加されたようです:
上記PRで公式ドキュメントが追加されています。
repository_dispatch
Deno Deploy EAがアプリケーションのビルドの開始または終了時に、GitHubリポジトリに対してrepository_dispatch
イベントを送信してくれる機能がサポートされたようです:
Deno Deploy EA の名称について
Deno Deploy EA (Early Access)に関するドキュメントの構成などが更新されています:
この更新では Deno Deploy EA を Deno Deploy, 今までのバージョンの Deno Deploy を Deno Deploy Classic と呼ぶように表現が変更されています。