Denoの直近の変更について
先週に続けて、おそらく次のDeno v1.46でリリースされると思われる機能がいくつかマージされているため、気になったものについて紹介いたします。
⚠️正式にDeno v1.46がリリースされる際には、仕様などに変更が入る可能性もあります🙏
deno removeコマンド
deno removeという新しいコマンドが追加されています。引数で指定されたパッケージをdeno.jsonのimportsやpackage.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.jsonにlicenseフィールドが追加されており、こちらによってライセンスを定義することもできるようです。
- feat(publish): error on missing license file (denoland/deno#25011)
- feat(config/jsr): add license field (denoland/deno#25056)
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)が追加されています。