Deno v1.21.1
Deno v1.21.1がリリースされました。
ネイティブHTTPサーバ(Deno.serveHttp
)の変更点
Deno v1.20でレスポンスボディの自動的な圧縮がサポートされました。
このリリースでは、レスポンスボディにReadableStream
が指定された際の圧縮がサポートされています。
その他にもいくつかのパフォーマンス改善が実施されています。
deno task
で引数に--
を指定した際の挙動が変更
例えば、deno.json
で次のようなタスクが定義されていたとします。
{
"tasks": {
"test": "deno test --allow-read"
}
}
例えば、下記のように--
を指定してタスクを実行したとします。
$ deno task test -- some-test.js
この場合、v1.21.0時点では次のようにコマンドが実行されていました。
$ deno test --allow-read "some-test.js"
今回リリースされたv1.21.1では、次のように変更されています。
$ deno test --allow-read "--" "some-test.js"
Deno.inspect
の変更点
strAbbreviateSize
オプションが追加されました。- 文字列がこのオプションで指定された長さを超えると省略して表示されます。
- デフォルト値は
100
です。
compact: false
が指定された際であっても、空のIterable
オブジェクトはコンパクト化して表示するように修正されています。
deno bench
の変更点
deno bench
で2つ以上のファイルを実行した際に、前のファイルのベンチマーク結果が次のファイルに影響を与えてしまう問題が修正されました。
この問題は、例えば、1つ目のベンチマークファイルでグルーピング(group
オプション)を利用しているが、2つ目のベンチマークファイルではグルーピングを利用していないようなケースで発生していたようです。
その他にも、Exit sanitizerによるオーバーヘッドの削減が実施されています。
deno test
の変更点
Deno v1.21でテストケースの実行時にログに出力された内容がキャプチャされるように改善されました。
このリリースでは、Deno.spawn()
などでstdout
やstderr
オプションに"inherit"
を指定した際に、サブプロセスの出力内容もキャプチャされるように改善されています。
他にも、Worker
の出力内容もキャプチャするように改善されています。
その他の変更点
Deno.spawn(Sync)
でstdin
などのオプションに"piped"
を指定した際にエラーを発生させるよう修正されました。Worker.terminate
が呼び出し元のスレッドをブロックしないように修正されました (https://github.com/denoland/deno/issues/13705)
https://github.com/denoland/deno/releases/tag/v1.21.1
deno_std v0.137.0
deno_std v0.137.0がリリースされました。
testing/mock
stub()
やspy()
の使用時に、対象オブジェクトのメソッドの型が自動で推論されるように修正されました。(型定義の修正のみで挙動には影響はありません)
http/server
serve()
やserveTls()
によるサーバの起動時に、Listen中のアドレスがログに出力されるように変更されました。 (ログを無効化したいときはserveListener
などのAPIを使う必要があります)
wasi
Context
のコンストラクタ引数がオプショナルに変更されました。
node
deno repl --compat
を指定してREPLを起動した際に、crypto.randomBytes
などを実行するとエラーが発生する問題が修正されました。 (--compat
を指定すると、crypto
がWeb Crypto APIのCrypto
オブジェクトではなく、deno_std/node/crypto
パッケージを参照してしまうのが原因のようです)
https://github.com/denoland/deno_std/pull/2165
Aleph.js v1.0.0-alpha.28
Aleph.js v1.0.0-alpha.28がリリースされました。
buildコマンドを実行した際に、esbuildを使用してモジュールがバンドルされるようになりました。
これによりAleph.jsのデモサイトでLighthouseの全スコアが100点になったようです。
https://github.com/alephjs/aleph.js/releases/tag/1.0.0-alpha.28
deno.landにShowcaseページが追加
DenoのホームページにShowcaseページが追加されています。
このページにはDeno製のプロダクトなどが掲載されています。
deno-opn v2
deno-opn v2.0.0がリリースされています。
opn()
がopen()
、app
オプションがwith
にそれぞれリネームされています。
https://github.com/hashrock/deno-opn/releases/tag/v2.0.0
Ruck
RuckというReactベースのフレームワークが公開されています。
コンポーネントレベルでのデータ読み込みやカスタムのルーティングロジックのサポートなど、既存のフレームワークでは解決が難しい問題の解消などを目指しているようです。