Deno v1.30.0
Deno v1.30がリリースされました。
以下に変更内容をまとめたため、よろしければ参照ください。
deno_std v0.175.0
deno_std v0.175.0がリリースされました。
非推奨APIの整理などが実施されています。
std/io/buffer.ts
: (破壊的変更) 非推奨APIの削除
以下のAPIが削除されています。
同名のAPIは引き続き別ファイルで提供されているため、もしこれらを利用されている場合は、以下の移行先ファイルへimport
を書き換える必要がありそうです。
対象API | 移行先 |
---|---|
BufferFullError | std/io/buf_reader.ts |
BufReader | std/io/buf_reader.ts |
PartialReadError | std/io/buf_reader.ts |
ReadLineResult | std/io/buf_reader.ts |
BufWriter | std/io/buf_writer.ts |
BufWriterSync | std/io/buf_writer.ts |
readDelim | std/io/read_delim.ts |
readStringDelim | std/io/read_string_delim.ts |
readLines | std/io/read_lines.ts |
std/io/files.ts
モジュールの削除 (破壊的変更)
std/io/files.tsが削除されています。
このファイルで提供されていたAPIはstd/io/read_range.tsから引き続き利用できるため、今後はそちらへ移行する必要がありそうです。
std/io/readers.ts
モジュールの削除 (破壊的変更)
std/io/readers.tsが削除されています。
このファイルから提供されていたAPIは引き続き別ファイルで提供されているため、もしこれらを利用されている場合は、以下の移行先ファイルへimport
を書き換える必要がありそうです。
対象API | 移行先 |
---|---|
StringReader | std/io/string_reader.ts |
MultiReader | std/io/multi_reader.ts |
LimitedReader | std/io/limited_reader.ts |
std/io/writers.ts
モジュールの削除 (破壊的変更)
std/io/writers.tsが削除されています。
このファイルで提供されていたStringWriter
は、引き続きstd/io/string_writer.tsから利用できるため、もし利用されている場合は移行する必要がありそうです。
std/io/util.ts
モジュールの削除 (破壊的変更)
std/io/util.tsが削除されています。
このファイルから提供されていたAPIは引き続き別ファイルで提供されているため、もしこれらを利用されている場合は、以下の移行先ファイルへimport
を書き換える必要がありそうです。
対象API | 移行先 |
---|---|
copyN | std/io/copy_n.ts |
readInt | std/io/read_int.ts |
readLong | std/io/read_long.ts |
readShort | std/io/read_short.ts |
sliceLongToBytes | std/io/slice_long_to_bytes.ts |
std/dotenv
: (破壊的変更) 非推奨APIの削除
非推奨APIであるconfigSync()
とconfig()
が削除されました。
今後はloadSync()
やload()
の使用が推奨されます。
std/encoding/front_matter
: (破壊的変更) 非推奨APIの削除
std/encoding/front_matter.ts
が削除されています。
このファイルは削除されたものの、同じ機能が引き続きstd/encoding/front_matter/配下で提供されるため、今後はそれらの使用が推奨されます。
std/fmt/bytes.ts
: (破壊的変更) prettyBytes()
の削除
非推奨APIであるprettyBytes
が削除されています。
今後はformat()
の使用が推奨されます。
std/path
: (破壊的変更) basename
とdirname
がCoreutilsと互換に
元々、Node.jsの挙動を参考に実装されていたbasename
とdirname
が、Coreutilsの同名コマンドと同じように動作するように挙動が変更されました。
具体的には、以下のように動作が変更されているようです (※内容については、こちらのコメントから拝借しております)
例 | v0.174.0 | v0.175.0 |
---|---|---|
basename("abc", "abc") | "" | "abc" |
basename("/") | "" | "/" |
dirname("aaa///bbb") | "aaa//" | "aaa" |
- https://github.com/denoland/deno_std/pull/3089#issuecomment-1399905837
- https://github.com/denoland/deno_std/pull/3089#issuecomment-1374782432
std/node/async_hooks.ts
AsyncLocalStorageが実装されています。
std/semver
: ビルドメタデータのサポート
format()
でstyle
オプションがサポートされています。
このオプションにfull
やbuild
を指定すると、ビルドメタデータも含めて出力されます。
import { parse } from "https://deno.land/std@0.175.0/semver/mod.ts";
const v = parse("1.2.3+001");
assert(v);
console.info(v.format({ style: "full" })); // => "1.2.3+001"
また、increment()
にオプショナルのmetadata
引数が追加されています。
import { parse } from "https://deno.land/std@0.175.0/semver/mod.ts";
const v = parse("2.0.1+5");
assert(v);
const metadata = "6";
v.increment("pre", undefined, metadata);
console.log(v.format({ style: "full" })) // 2.0.1-0+6
https://github.com/denoland/deno_std/releases/tag/0.175.0
deno_std v0.174.0
deno_std v0.174.0がリリースされました。
std/fmt/printf.ts
: %I
及び%i
ディレクティブのサポート
これらのディレクティブを使用すると、Deno.inspect
を用いて出力がフォーマットされます。(%I
を指定した際は、compact
オプションにtrue
が設定されます)
import { printf } from "https://deno.land/std@0.174.0/fmt/printf.ts";
printf("obj: %I\n", { n: 123, s: "foobar" }); // => `obj: { n: 123, s: "foobar" }`
std/encoding/csv
stringify()
で改行を含むフィールドが適切にエスケープされる(ダブルクォーテーションで囲まれる)ように修正されています。
https://github.com/denoland/deno_std/releases/tag/0.174.0
Deno in 2022: npm, Edge Functions, Series A, Fresh, and more
Deno公式ブログで2022年に関するまとめが公開されています。
また、この記事に合わせて、Deno 2.0に向けたアンケートが公開されています。
deployctl v1.5.0
Deno Deployの公式CLIであるdeployctl
のv1.5.0がリリースされています。
このリリースではdeployctl logs
コマンドが実装されており、特定のプロジェクトのログの閲覧がサポートされています。