Deno v1.38.1
Deno v1.38.1がリリースされました。
Node.js互換性の改善
require()
.js
が見つからなければ.json
も探すように挙動が改善されました。- BYONMが有効化された際に、scopedパッケージ(
@foo/bar
)が適切に解決されるように修正されました。
node:crypto
createPrivateKey()
が実装されました。
node:child_process
spawnSync()
でstdio
オプションが適切に取り扱われるように改善されました。
これにより、execaパッケージが動くようになったようです。
node:util
toUSVString()
が実装されました。
deno doc --lint
の出力内容の改善
deno doc --lint
を実行した際の出力内容が変更されました。
今までは、lintに成功した際はAPIドキュメントが表示されました。
このリリースでは、lintに成功した際はAPIドキュメントを表示せず、チェックされたファイル数を表示するように変更されています。
$ deno doc --lint bytes/copy.ts
Checked 1 file
Deno.AtomicOperation#check
で指定できるキー数の増加
Deno.AtomicOperation#checkが最大で合計100個のキーまでチェックできるように改善されました。(今までは10個が最大値でした)
Promise.withResolvers()
の型定義の改善
Promise.withResolvers()
が返すresolve
関数の引数がオプショナルから必須に変更されています。
deno_std v0.206.0
deno_std v0.206.0がリリースされました。
std/async/deferred.ts
が非推奨化
Deno v1.38でPromise.withResolvers()
が利用できるようになったため、deferred()
が非推奨化されました。
std/encoding/binary.ts
が削除
非推奨化されていたstd/encoding/binary.ts
モジュールが削除されています。
std/path/glob.ts
に関するAPIの移動
std/path/glob.ts
で提供されていた以下のAPIが移動されています。
API | 移動先 |
---|---|
isGlob | std/path/is_glob.ts |
globToRegExp | std/path/normalize_glob.ts |
joinGlobs | std/path/join_globs.ts |
std/http/server_sent_event_stream.ts
が追加
新しいモジュールとしてstd/http/server_sent_event_stream.ts
が追加されました。
import { ServerSentEventStream } from "https://deno.land/std@0.206.0/http/server_sent_event_stream.ts";
const ac = new AbortController();
const server = Deno.serve({ port: 3000, signal: ac.signal }, () => {
const sse = ReadableStream.from([
{
id: "1",
event: "foo",
data: "hello",
},
{
id: "2",
event: "bar",
data: "hi",
},
{
id: "3",
event: "close",
data: "foo"
},
]).pipeThrough(new ServerSentEventStream());
return new Response(sse, {
headers: { "Content-Type": "text/event-stream" }
});
});
const eventSource = new EventSource("http://localhost:3000/");
eventSource.addEventListener("foo", (event) => console.info(event.data));
eventSource.addEventListener("bar", (event) => console.info(event.data));
eventSource.addEventListener("close", (event) => {
eventSource.close();
ac.abort();
});
std/text
が追加
新しいモジュールとしてstd/text
が追加されています。
指定されたワードの一覧の中から近似するワードを検出するためのclosestStringなどのAPIが提供されています。
std/testing/mock.ts
: class
のサポート
spy()がclass
(コンストラクタ)をサポートしました。
std/msgpack/encode.ts
: 巨大なオブジェクトの取り扱いが改善
encode()に巨大なオブジェクトを渡すとRangeError
が発生する問題が修正されました。
denokv v0.2.0
denokv v0.2.0がリリースされました。
S3を利用したレプリケーションやPITRなどが実装されています。
以下のDenoの公式ブログ記事でDeno KVのセルフホスティングやレプリケーションなどについて解説されています。
HonoとDenoで社内ツールを作ってみた
Hono/esbuild/Twind/Alpine.jsなどを活用したアイキャッチ画像の生成ツールの開発に関して記事が公開されています。