編集

Deno v2.0

Deno v2 がリリースされた。

https://deno.com/blog/v2.0

#window オブジェクトの削除

ブラウザ互換を目的としてグローバルに追加されたが混乱の元になっていたため削除された。 現在は globalThis の利用を推奨している。

#process オブジェクトのグローバルへの追加

Node.js 互換を目的として、グローバルに追加された。 今までnode:processからのインポートする必要があった。

#deno addのプレフィックス指定

deno addでパッケージをインストールする際に、JSR と NPM どちらのレジストリを利用するかjsr:またはnpm:のプレフィックスの指定が必須になった。省略した場合、JSR にあればjsr:が提案され、NPM にしかなければnpm:が提案される。

shell
$ deno add @hono/hono
error: @hono/hono is missing a prefix. Did you mean `deno add jsr:@hono/hono`?

また、npm:を指定し、package.jsonが存在する場合、deno.jsonではなくpackage.jsonに依存関係が追加されるようになった。

#deno removeの追加

依存関係を削除するdeno removeコマンドが追加された。 プレフィックスの指定は不要。package.jsonがある場合、package.jsonから削除される。

#deno install --entrypointの追加

エントリーポイントとして指定したファイルで使われているモジュール全てをインストール出来るdeno install --entrypointが追加された。

#その他

他にimport assertiondeno bundledeno vendorなど非推奨であった機能の廃止、--unstable--lock-writeなどの CLI フラグの非推奨化、既存の機能の改善や、Node.js との互換性強化などが行われている。

Deno の高速化については、公式の発表を見ると Bun より速いように見えるが、現状個人で検証している方のデータを参照および自身で軽く試してところ、Bun より高速ということはないように思う。

編集