Deno v1.21.2
Deno v1.21.2がリリースされました。
変更点:
lib.dom.extras.d.ts
が追加されました。lib.dom.d.ts
を読み込んでもURLPattern
が利用できない(型エラーが発生する)問題を解消するための修正です。- このファイルには、
URLPattern
に関する型定義が含まれています。 lib.dom.d.ts
を読み込むと自動でこのファイルも読み込まれます。
deno test --coverage
による計測対象から.snap
ファイルが除外されるように修正されました。 (deno_stdでスナップショットテスティングがサポートされたため)- HTTPサーバ(
Deno.serveHttp
)でレスポンスボディにReadableStream
を指定した際に、対象のリソースが自動で閉じられない問題が修正されました。 deno task
でタスクの引数に-
を含むオプションを指定した際に、そのオプションが適切に渡されない問題が修正されました。deno test
やdeno bench
の引数にfile:
形式のURLを指定すると、プロセスがパニックする問題が修正されました。
https://github.com/denoland/deno/releases/tag/v1.21.2
deno_std v0.138.0
deno_std v0.138.0がリリースされました。
testing
assertSnapshot()
(testing/snapshot
)で複数行に渡る文字列の取り扱いが改善されました。
その影響により、deno_stdをv0.138.0にアップデートするとテストが失敗する可能性があります。
その場合は--update
オプションでスナップショットを更新する必要あります。
その他にも、testing/asserts
モジュールにassertFalse()
が追加されています。
node
dns/promises
パッケージのlookup()
が実装されました。module
パッケージをWorker
から読み込むとプロセスがハングする問題が解消されました。
bytes
bytes/equals
パッケージから今までprivateであったequalSimd()
とequalsNaive()
が公開されました。
https://github.com/denoland/deno_std/releases/tag/0.138.0
Denoの全コマンドで--no-check=remote
をデフォルトの挙動にする
下記のissueでdeno run
などの各コマンドで--no-check=remote
オプションの挙動をデフォルト化することが提案されています。
現在、例えばdeno run
を実行すると、デフォルトではリモートモジュールも含めて全TypeScriptファイルが型チェックされます。
この--no-check=remote
の挙動がデフォルト化された場合、ローカルのTypeScriptファイルのみが型チェックされるように挙動が変わります。
今のところ、この変更はDeno v1.22でのリリースが想定されているようです。
また、Deno v1.23ではdeno run
などの各コマンドでの型チェックがデフォルトで無効化されることが予定されています。(型チェックを行いたいときはdeno check
コマンドを利用します)
https://github.com/denoland/deno/issues/14498
deno test
コマンドの--doc
オプションをデフォルトで有効化する
deno test
コマンドには--doc
オプションを付与することで、MarkdownファイルやJSDocコメント中のコードブロックに対して型チェックを行う機能があります。
現在、以下のissueで、deno test
コマンドの--doc
オプションの挙動をデフォルトで有効化することが提案されています。
この変更はDeno v1.22にてリリース予定のようです。
https://github.com/denoland/deno/issues/14499
deno.json(c)
でのパーミッションの宣言について
現在、deno.json(c)
でDenoのパーミッションを宣言できるようにするPRが作成されています。
この機能が入ると、下記のようにdeno.json(c)
ファイルでパーミッションを管理できるようになりそうです。
{
"permissions": {
"read": true,
"env": ["PORT"]
}
}
この機能も、今のところDeno v1.22でのリリースが予定されているようです。
WASMモジュールのimportについて
Denoで.wasm
ファイルをimport
できるようにするPRが作成されています。
リリース時期などは未定ですが、この機能が入れば、以下のように.wasm
モジュールを直接import
できるようになりそうです。
import { some_function } from "./some_module.wasm";
https://github.com/denoland/deno/pull/14485
Deno.emit()
とDeno.formatDiagnostics()
の削除について
現在、Deno.emit()
とDeno.formatDiagnostics()
を削除するPRが作成されています。
BREAKING: Remove unstable Deno.emit and Deno.formatDiagnostics APIs (#14463)
詳しい内容については、以下のissueにて議論や提案などが行われているため、もし興味がありましたらsubscribeしておくととよいかもしれません。