2023/06/05〜2023/06/11の最新情報

Deno v1.34.2 Deno v1.34.2がリリースされました。 Node.js互換性 node:http2が追加されました。 http2.connectとhttp2.createServerの基本的な実装が追加されています。 node:fs/promises: FileHandleの以下のメソッドが実装されました。 readFile() read() write() close() node:child_process: spawnのstdioオプションで[0, 1, 2]の指定がサポートされました。 node:process: process.stdoutにpipeされたReadableストリームがクローズされた際に、process.stdoutも一緒にクローズされてしまう問題が修正されています。 Web API 巨大なArrayBufferをconsole.logなどで表示しようとした際に、誤ってdetached状態として表示される問題が修正されました。 EventTargetのリスナ内で同一イベントへのリスナを新しく登録した際に、登録されたばかりのリスナが即座に呼ばれてしまう問題が修正されました。 パフォーマンス改善 主にHTTPサーバ(Deno.serve)に対して、様々なパフォーマンス改善が実施されています。 perf: use sendto syscalls #19414 perf(ext/http): Add a sync phase to http serving #19321 perf(ext/http): Use flat list of headers for multiple set/get methods #19336 perf(ext/http): Migrate op_http_get_request_headers to v8::Array #19354 perf(ext/http): Migrate op_http_get_request_method_and_url to v8::Array #19355 perf: optimize RegExp usage in JS #19364 perf(http): avoid flattening http headers #19384 deno_std v0....

June 11, 2023

2021/08/15〜2022/08/21の最新情報

Denoの今後の計画について Deno公式からBig Changes Ahead for Denoという、Denoの今後の計画などに関する記事が公開されました。 今のところ、以下の点などに注力されていく予定のようです。 Node.jsとの互換性の向上 パフォーマンスの向上 エンタープライズユーザへのサポートの強化 開発体験の向上 これらに関連すると思われる直近での変更について簡単にまとめてみます。 npm:URLのサポート 現在、npm:URLによるnpmパッケージのimportに関する開発が行われています。 feat(unstable): initial support for npm specifiers (#15484) 例えば、以下のようにして、npmパッケージをimportすることができるようです。 import express from "npm:express@5"; import { expect } from "npm:chai@4.2"; この機能には、大まかに以下のような特徴があります。 デフォルトでnpmパッケージはnpmの公式レジストリからダウンロードされ、DENO_DIRにキャッシュされます。 Node.js互換モード(--compat)とは異なり、npm:URLで読み込まれたモジュール内のみにNode.jsのグローバルAPI(process/global/Bufferなど)が注入されます。 Node.js互換モード(--compat)とは異なり、現時点では--unstableなしで使用できる想定のようです。 型チェック, LSPのサポート, エントリポイントでのnpm:URLの指定(例: deno run npm:mkdirp path/to/dir)などの機能はまだ入っておらず、今後追加されていく予定のようです。 この機能はおそらく、次のv1.25でリリースされるのではないかと思われます。 新しいHTTPサーバ (Flash) HTTPサーバの高速化を目的に、Deno本体でFlashという新しいHTTPサーバが開発されています。 feat(ext/flash): An optimized http/1.1 server (#15405) feat(unstable): change Deno.serve() API (#15498)...

August 21, 2022