Deno v1.29.2
Deno v1.29.2がリリースされました。
Deno.osUptime()
システムが起動してからの経過時間を取得するために、Deno.osUptime()
というAPIが追加されました。
利用するには、--unstable
と--allow-sys
の指定が必要です。
Deno.Conn.ref()/unref()
Deno.Conn
へunref()
とref()
メソッドが追加されました。
これらのAPIの利用には--unstable
の指定が必要です。
unref()
メソッドを呼ぶと、Deno.unrefTimerなどと同様に、読み込み途中のコネクションが存在したとしてもプロセスの終了がブロックされなくなります。(ただし、効果があるのは読み込みに対してのみで、書き込みについてはunref
を呼んだ場合であってもブロックされます)
ref()
メソッドを呼ぶと、unref()
されたコネクションをデフォルトの状態に戻すことができます。(通常通り、読み込み途中のコネクションがプロセスの終了をブロックします)
CLIに関するバグ修正
--node-modules-dir
が指定された際にrequire()
でパッケージが適切に解決できないケースがある問題が修正されていますdeno.json(c)
でTypeScriptのcompilerOptions.noErrorTruncation
オプションを設定できない問題が修正されています- dynamic importが使用されていると、
"unhandledrejection"
のリスナが呼ばれないケースがあった問題が修正されています deno instlall
もしくはdeno uninstall
を実行する際に、ロックファイルの自動適用が行われてしまう問題が修正されています
Deno APIに関する修正
Deno.memoryUsage()
から返却されるrss
プロパティに正しい値が設定されない問題が修正されていますDeno.permissions.revoke
またはDeno.permissions.request
でname: "ffi"
が指定された際に、path
オプションにURLオブジェクトを指定できるようになりました。
fetch()
関連の修正
下記のケースでプロセスがパニックしてしまう問題が修正されています:
- 引数に不正な形式のURLが与えられた場合
body
オプションに渡したReadableStream
でエラーが発生した場合
deno lsp
関連の修正
- 下記のケースでTest code lensが表示されない問題が修正されています
Deno.test()
でテスト名がテンプレートリテラルを使用して定義されている場合- 下記のように、関数を使用してテストケースが定義されている場合
const test = () => ({ name: "some test", fn: () => {} }); Deno.test(test());
"Add all missing imports"
アクションで正しいimport文が生成されないことがある問題が修正されています- プライベートフィールド(
#someField
)の補完が適切に動作するように修正されています
https://github.com/denoland/deno/releases/tag/v1.29.2
deno_std v0.171.0
deno_std v0.171.0がリリースされました。
std/node
Deno v1.29.2で実装されたDeno.osUptime
をベースに、os.uptime()
が実装されました。
これにより@sentry/node
が動かせるようになったようです。 (getsentry/sentry-javascript#3009)
その他には、diagnostics_channelパッケージの初期実装が追加されています。
基本的なAPIは一通り実装されており、組み込みchannelについては今のところ下記のみがサポートされているようです。
"net.client.socket"
"net.server.socket"
その他には、Astroのサポートに向けたhttp
パッケージのバグ修正などが行われています。
std/flags
- 型推論の改善
下記のケースで型推論がうまく動作しなかった問題が修正されています:
collect
オプションとstring
やboolean
などのオプションを併用された場合alias
オプションに配列で複数のエイリアスが指定された場合
std/path
- basename()
のバグ修正
basename()
で末尾の/
が適切に取り除かれない問題が修正されています。
std/http/file_server
- --header
オプションがサポート
ファイルサーバで--header
オプションがサポートされています。
例えば、--header 'Cache-Control: no-cache'
を指定した場合、各レスポンスにCache-Control: no-cache
が付与されます。
https://github.com/denoland/deno_std/releases/tag/0.171.0
Earthstar
分散ストレージプロトコル
サーバなどのリファレンス実装がDenoで記述されているようです。