Denoの直近の変更について

先週に続けて、おそらく次のDeno v1.46でリリースされると思われる機能がいくつかマージされているため、気になったものについて紹介いたします。

⚠️正式にDeno v1.46がリリースされる際には、仕様などに変更が入る可能性もあります🙏

deno removeコマンド

deno removeという新しいコマンドが追加されています。引数で指定されたパッケージをdeno.jsonimportspackage.jsonなどから削除しつつ、deno.lockを更新してくれます。

$ deno remove @std/testing

deno serve --parallel

deno serve--parallelオプションが追加されています。このオプションが指定された場合、deno serveはコア数またはDENO_JOBSで指定された値に基づいて、リクエストを複数のワーカーへ分散してくれるようです。

Deno公式のYoutubeチャンネルで解説動画が公開されています。


HMRの安定化

DenoのHMR機能が安定化されるようです。

安定化に合わせて、コマンドラインオプションが--unstable-hmrから--watch-hmrにリネームされています。


deno publishのLICENSEチェックについて

deno publishコマンドの実行時にLICENSEファイルが存在しない場合は、警告ではなくエラーが発生するように挙動が変更されています。(articles/2024/07/28)

また、deno.jsonlicenseフィールドが追加されており、こちらによってライセンスを定義することもできるようです。


deno_stdのリリース

deno_stdがリリースされています。

@std/cache

新規パッケージとして@std/cacheが追加されています。

現時点では、指定された関数をメモ化するためのmemoize()とそのキャッシュとして利用することができるLruCacheが実装されています。

@std/datetime@0.225.0

@std/datetime@0.225.0がリリースされています。

破壊的変更として、format()utcオプションが削除され、代わりにtimeZoneオプションが追加されています (現在は"UTC"のみがサポート)

@std/encoding@1.0.2

@std/encoding@1.0.2がリリースされています。

base32hexのサポートが追加されています。(@std/encoding/base32hex)

@std/streams@1.0.2

@std/streams@1.0.2がリリースされています。

新規APIとしてtoLines(@std/streams/to-lines)が追加されています。

@std/text@1.0.3

@std/text@1.0.3がリリースされています。

新規APIとしてslugify(@std/text/slugify)が追加されています。

fresh v1.7.0

fresh v1.7.0がリリースされています。

新機能としてUNIXドメインソケットのサポート(startUnixServer)が追加されています。