Deno v1.32.4
Deno v1.32.4がリリースされました。
Deno v1.32.2以降、Freshが動かなくなっていた問題が解消されています。(#18572)
Node.js互換性
node:crypto
で以下のAPIが実装されています:
特定の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.ts
が追加
ETagを計算するためのcalculate()や、If-None-MatchヘッダーとリソースのETagを比較するためのifNoneMatch()などが提供されています。
std/datetime/is_leap
- isUtcLeap()
が追加
新しいAPIとしてisUtcLeap()が追加されています。
基本的には既存のisLeap()とほとんど同じですが、内部でgetUTCFullYear()が使われているのが異なります。
これによりisLeap()
で起きうるタイムゾーンに関する問題を回避できるのがメリットのようです。
std/dotenv
: load()
のenvPath
/examplePath
/defaultsPath
オプションにnull
を渡せるように
load()のこれらのオプションにnull
を渡した場合、それぞれのパスからの読み込みが無効化されます。
例えば、envPath
オプションにnull
を渡した場合、.env
の読み込みが行われなくなります。
std/fs/move
の改善
move()の引数で指定したsrc
とdest
が同一ディレクトリを指しており、かつoverwrite: true
が設定されている場合、対象ファイルが削除された上でNotFound
エラーが起きてしまう問題が解消されています。
std/bytes/bytes_list
: BytesList.slice
の修正
BytesList.sliceがうまく動作していなかった問題が修正されています。(#3291)
std/encoding/ascii85
の修正
encode()が 4バイトまたはその倍数のサイズのsubarrayを受け取った際に、誤った結果を返す問題が修正されています。
denoland/tic-tac-toe
Deno公式でDeno.KvとFreshを活用したTic-Tac-Toeゲームが公開されています。
esm.sh v115
esm.sh v115がリリースされました。
新機能として?module
パラメータがサポートされています。
これを指定することで、.wasm
ファイルをWebAssembly.Moduleオブジェクトとしてimport
できるようです。
Danet v1.6.0/v1.7.0
DenoのWebフレームワークであるDanetのv1.6.0/v1.7.0がリリースされています。
これらのリリースではFreshのサポートが追加されているようです。
Cicadaのソースが公開
以下のリポジトリでCicadaのソースコードが公開されています。
これに合わせて、ドキュメンテーションページも公開されています。