Deno v1.27.2

Deno v1.27.2がリリースされています。

peerDependenciesのサポート

DenoでnpmパッケージのpeerDependenciesがサポートされました。

あるパッケージでpeerDependenciesが定義されていた場合、以下のような動作をするようです。

  1. 依存グラフの中から祖先をたどっていき、もしpeerDependenciesで指定された要件を満たすパッケージが見つからなかった場合、通常のdependenciesと同様に依存が解決されます。(npm v7と同様の挙動)
  2. optionalPeerDependenciesについては、依存グラフの祖先に指定された要件を満たすパッケージが見つかった場合のみ解決されます。
  3. それ以外の場合は、pnpmと同様の挙動optionalPeerDependenciesが解決されます。

https://github.com/denoland/deno/pull/16561

その他の変更点

いくつかのバグ修正が実施されています。

  • data:URLに対してロックファイルのremoteエントリが作られてしまう問題が修正されています。
  • Deno.serveHttpで起動したHTTPサーバで圧縮が有効化された状態でストリーミングを行う際に、各チャンクが適切にフラッシュされるように修正されています。
  • ローカルのnode_modules内のコードでrequireによる相対パス形式での読み込みが行われた際に適切に動作するように修正されています。

https://github.com/denoland/deno/releases/tag/v1.27.2

deno_std v0.163.0

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

std/semverモジュールでinc()diff()が非推奨化されました。

今後は、新しく追加されているincrement()difference()の使用が推奨されます。 (動作はそれぞれincdiffと同様です)


https://github.com/denoland/deno_std/releases/tag/0.163.0

denoland/fresh-wordpress-themes

WordPressをHeadless CMSとして使いつつ、フロントエンドをFreshで開発するためのテンプレートがDeno公式で公開されました。

以下の記事で使用方法などが解説されています。

esm.sh v98

esm.sh v98がリリースされました。

新機能としてTree shakingのサポートが追加されています。

exportsパラメータを指定することで適用されます。


https://github.com/ije/esm.sh/releases/tag/v98