2023/04/10〜2023/04/16の最新情報

Deno v1.32.4 Deno v1.32.4がリリースされました。 Deno v1.32.2以降、Freshが動かなくなっていた問題が解消されています。(#18572) Node.js互換性 node:cryptoで以下のAPIが実装されています: X509Certificate generateKey hkdf 特定のnpmパッケージのバージョンを更新しようとすると、以下のエラーが起きる問題が解消されています。 Could not find npm package '<package>’ matching <version>. Try retrieving the latest npm package information by running with --reload deno cache --reload npm:<package>を実行すると、依存している全npmパッケージが再インストールされる問題が解消されています。 KV Deno.Kvの各メソッドで、キーに配列以外の値を渡せないように挙動が変更されました。 例えば、今まではkv.get("key")のような呼び方ができましたが、今後はkv.get(["key"])のように呼ぶ必要あります。 Cache API プログラムの実行をまたいで同一のリクエストに対して複数回Cache.putを呼んだ際に、値がうまく上書きされなくなる問題が修正されています (#18649) deno_std v0.183.0 deno_std v0.183.0がリリースされました。 std/encoding/varint/の削除 非推奨化されていたstd/encoding/varint/が削除されました。 deno_std v0.179.0でstd/encoding/varint.tsにTypeScriptベースのAPIが追加されているため、今後はこれらの使用が推奨されます。 std/csv 破壊的変更 CsvStreamがCsvParseStreamへリネームされています。(CsvStreamはまだ削除はされていないものの、非推奨化されています) この変更はJsonParseStream/JsonStringifyStreamを提供するstd/jsonとの一貫性の向上を目的としています。 parse()などのAPIの型定義が改善されています。 具体的には、以下のように型推論が効くように変更されています。 import { parse } from "https://deno.land/std@0.183.0/csv/parse.ts"; const records: Array<Record<"id" | "name", string>> = parse("1,a\n2,b", { columns: ["id", "name"], }); std/http/etag....

April 16, 2023

2023/03/27〜2023/04/02の最新情報

Deno v1.32.2 Deno v1.32.2がリリースされました。 KV (Deno.Kv) Deno.KvCommitResult型が追加されています。 これには、KVにコミットされた値に設定された新しいversionstampが含まれます。 この追加に合わせて、以下の変更も実施されています。 Deno.AtomicOperation.commitの戻り値がPromise<boolean>からPromise<Deno.KvCommitResult | null>に変更されています。(コミット成功時はDeno.KvCommitResult、失敗時はnullが返却されます) Deno.Kv.setの戻り値がPromise<void>からPromise<KvCommitResult>に変更されています。 Deno.KvEntryMaybeが追加されています。(この型の実体はDeno.KvEntry<T> | { key: Deno.KvKey, value: null, versionstamp: null }のaliasです) これに合わせて、以下のAPIに型引数を指定できるように変更されました。 Deno.KvListIterator → Deno.KvListIterator<T> Deno.KvEntry → Deno.KvEntry<T> これらの変更により、エントリを取得する際に値の型を指定できるようになりました。 const entry: Deno.KvEntryMaybe<string> = await kv.get<string>(["str"]); const entries: [Deno.KvEntryMaybe<string>, Deno.KvEntryMaybe<number>] = await kv.getMany<[string, number]>([["str"], ["n"]]); Deno.Kv#getManyが実装されました。 複数のエントリをまとめて取得できます。 await kv.set(["key", 1], "foo"); await kv.set(["key", 2], "bar"); const entries = await kv.getMany([ ["key", 1], ["key", 2] ]); assert(entries....

April 2, 2023