Deno v1.37

Deno v1.37がリリースされました。

以下に内容をまとめたため、よろしければそちらを参照いただければと思います。

deno_std v0.202.0

deno_std v0.202.0がリリースされました。

std/collections及びstd/cryptounstable/ディレクトリが導入

std/collectionsで提供されている以下のデータ構造がstd/collections/unstableへ移動されました。

また、std/cryptoで提供されているKeyStackstd/crypto/unstable/keystack.tsへ移動されています。

std/crypto/to_hash_string.ts: toHashStringが非推奨化

今後はstd/encoding/hex.tsまたはstd/encoding/base64.tsの使用が推奨されます。

std/csv/parse.ts: ERR_BARE_QUOTE/ERR_FIELD_COUNT/ERR_INVALID_DELIM/ERR_QUOTEが非推奨化

std/csvの内部で使用されている各種エラーが非推奨化されています。

std/datetime/to_imf.tsが非推奨化

今後はDate#toUTCString()の使用が推奨されます。

std/media_types/type_by_extension.ts: typeByExtensionが非推奨化

std/media_typestypeByExtensionが非推奨化されました。

今後は、contentTypeの使用が推奨されます。

std/streams: Deno.Reader & Deno.WriterベースのAPIが非推奨化

std/streamsで提供されていたDeno.ReaderDeno.WriterをベースにしたAPIが非推奨化されています。

今後はWeb Streams APIをベースとした機能の使用が推奨されるものと思います。

非推奨化されたファイルの一覧:

  • std/streams/copy.ts
  • std/streams/iterate_reader.ts
  • std/streams/read_all.ts
  • std/streams/readable_stream_from_reader.ts
  • std/streams/reader_from_iterable.ts
  • std/streams/reader_from_stream_reader.ts
  • std/streams/writable_stream_from_writer.ts
  • std/streams/write_all.ts
  • std/streams/writer_from_stream_writer.ts

std/encoding/hex.ts: encodeHex/decodeHexが追加

  • encodeHexは既存のencodeと比べると、引数をより柔軟に受け取れる点と戻り値としてstringを返す点が異なります。
  • decodeHexについては、既存のdecodeと異なり、stringを引数として受け取ります。

std/streams: toArrayBuffer/toBlob/toJson/toTextが追加

これらの関数はReadableStreamをそれぞれ対応する型へ変換してくれます。

import { toJson } from "https://deno.land/std@0.202.0/streams/to_json.ts";

const file = await Deno.open("deno.json");
const json = await toJson(file.readable);
console.info(json.tasks);

std/ulidが追加

ULIDに関する機能を提供するstd/ulidモジュールが追加されました。

import { decodeTime, ulid } from "https://deno.land/std@0.202.0/ulid/mod.ts";

const id = ulid();
console.info(decodeTime(id));

deno vendorコマンドの非推奨化について

deno.jsonvendorオプションが実装されたこともあり、deno vendorコマンドを非推奨化することが提案されています。

Deprecate deno vendor and replace with “vendor”: true? #20584

deno vendorコマンドについては、別のツールとして提供することも検討されているようです。