Deno v1.16.4
Deno v1.16.4がリリースされました。
このリリースはバグ修正がメインです。
変更点:
SubtleCrypto.encrypt
で指定されたキーとアルゴリズムが一致しない場合、例外が投げられるようになりましたdeno test
のOpサニタイザーの安定性が向上しましたWebSocketStream
の作成後にAbortController
で中断すると、AbortError
ではなくDeno.errors.BadResource
エラーが発生する問題が修正されましたWorker#terminate
を呼ぶと、プロセスがまれにパニックする問題が修正されました
https://github.com/denoland/deno/releases/tag/v1.16.4
deno_std v0.117.0
deno_std v0.117.0がリリースされました。
http
モジュールでの新機能の追加やnode
モジュールのNode.jsとの互換性の向上が実施されています。
http
モジュール
serve
などの関数でonError
オプションがサポートされ、handler
で発生したエラーを補足できるようになりました
const handler = (request: Request) => {
throw new Error("Hello");
};
const servePromise = serve(handler, {
addr: "localhost:3000",
onError(_error) {
return new Response("Internal Server Error", { status: 500 });
},
});
node
モジュール
readline
:createInterface()
が実装されましたprocess
:process.stdin.read()
で読み込みが非同期に行われるようになりましたbuffer
:Buffer
でbase64エンコーディングがサポートされました. またindexOf()
やincludes()
などの互換性も向上されていますfs
:rm
/rmSync
/stat
/statSync
/writeFile
/writeFileSync
などの互換性が向上しましたutil
:util.inspect()
の互換性が向上しましたstreams
: Node.jsとの互換性が大幅に向上しました
https://github.com/denoland/deno_std/releases/tag/0.117.0
Denoの--no-check=remote
オプションのサポートについて
以下のプルリクエストでDenoに--no-check=remote
オプションが追加されました。
内容としては、Denoを実行する際に--no-check=remote
を指定することで、リモートモジュール(URLがhttps:
やhttp:
で始まるモジュール)の型チェックのみをスキップさせるというものです。
$ deno run --no-check=remote main.ts
まだリリースはされていませんが、次のメジャーリリース(v1.17.0)あたりで導入されそうです。
https://github.com/denoland/deno/pull/12766
doc.deno.landがリニューアル
DenoのAPIドキュメンテーションサイトであるdoc.deno.landがリニューアルされました。
これに合わせてリポジトリがdenoland/doc_websiteからdenoland/doclandへ移行されており、内部実装もVercel+Next.jsからDeno Deploy+Oak+NanoJSX+Twindに移行されています。
https://twitter.com/deno_land/status/1466810485337120779
Opine v2.0.0
DenoのExpressポートであるOpineのv2.0.0がリリースされました。
大きな変更点として内部実装がDenoネイティブHTTPサーバ(Deno.serveHttp
)に置き換えられており、パフォーマンスの向上などが期待されます。
また補足ですが、OpineはNode.js互換モードが成熟しExpressが安定して動くようになったら、メンテナンスモードへ移行される予定のようです。
- https://github.com/asos-craigmorten/opine/releases/tag/2.0.0
- https://github.com/asos-craigmorten/opine/compare/1.9.0...1.9.1
graffiti
DenoまたはNode.jsを使用してデスクトップアプリなどを開発するためのプラットフォーム
まだ開発途中の段階のようですが、Electronなどと同様にHTML/CSSなどのWeb技術を用いてデスクトップアプリを開発できるようにすることを目指しているようです。
https://github.com/cztomsik/graffiti
Denoに今後導入される新機能
Denoに今後導入される新機能という記事が公開されました。
Denoでの直近の変更内容や、2.0で導入予定の機能などについて詳しくまとめられています