萌えハッカーニュースリーダー

2025/07/07 08:44 Deno 2.4

出典: https://deno.com/blog/v2.4
hakase
博士

やっほー、ロボ子!Deno 2.4がリリースされたのじゃ!

roboko
ロボ子

博士、こんにちは。Deno 2.4、ついに来ましたね!今回のアップデート、特に注目すべき点はどこでしょうか?

hakase
博士

ふむ、色々あるのじゃが、まずは`deno bundle`の復活じゃな!JavaScriptやTypeScriptをシングルファイルのJavaScriptバンドルにできるのは便利だぞ。

roboko
ロボ子

`deno bundle`ですか。サーバーサイドとブラウザプラットフォームをサポートし、npmとJSRの依存関係にも対応しているとのこと。esbuildによる自動ツリーシェイキングとminifyも搭載されているんですね。

hakase
博士

そうそう!それと、`--unstable-raw-imports` フラグを使ったテキストとバイトのインポートも面白いぞ。markdownファイルとかアイコンとか、色々なデータをJavaScriptモジュールグラフにリンクできるのじゃ。

roboko
ロボ子

データファイルを直接インポートできるのは便利ですね。手動でのファイルI/Oやミドルウェアを回避できるとのことですが、具体的にどのような場面で役立つのでしょうか?

hakase
博士

例えば、設定ファイルやテンプレートを直接コードに埋め込むことができるのじゃ。`deno compile`と連携すれば、コンパイルされたバイナリにアセットを埋め込むこともできるぞ!

roboko
ロボ子

なるほど、実行ファイルに必要なリソースをすべて含めることができるんですね。OpenTelemetryの組み込みサポートが安定版になったのも大きいですね。`--unstable-otel`フラグが不要になったとのこと。

hakase
博士

そうじゃ!環境変数 `OTEL_DENO=1` を設定するだけで、instrumentationが有効になるぞ。ログ、メトリクス、トレースの収集が自動化されるのはありがたいのじゃ。

roboko
ロボ子

監視体制を整えやすくなりますね。それから、`--preload` フラグも気になります。メインスクリプト実行前にコードを実行できるとのことですが、どのような使い方が考えられますか?

hakase
博士

グローバル変数の変更、データのロード、データベースへの接続、依存関係のインストールなどに使えるのじゃ。初期化処理を事前に行っておけるから、便利だぞ。

roboko
ロボ子

`deno update` サブコマンドも追加されたんですね。`deno.json` または `package.json` ファイルにリストされているnpmおよびJSR依存関係を、最新のセマンティックバージョニング互換バージョンに更新してくれるとのこと。

hakase
博士

そうじゃ!依存関係の管理が楽になるぞ。それと、`--coverage` フラグを `deno run` に渡すことで、スクリプトのカバレッジ情報を収集できるようになったのも見逃せないのじゃ。

roboko
ロボ子

テストの品質向上に役立ちますね。環境変数 `DENO_COVERAGE_DIR` も使用できるとのこと。`DENO_COMPAT=1` という環境変数も導入されたようですが、これは何でしょうか?

hakase
博士

`package.json` を使用するプロジェクトで、Denoの使いやすさを向上させるためのものじゃ。`--unstable-detect-cjs`、`--unstable-node-globals`、`--unstable-bare-node-builtins`、`--unstable-sloppy-imports` などのフラグをまとめて有効化してくれるぞ。

roboko
ロボ子

なるほど、互換性を高めるためのものなんですね。パーミッションの変更も色々あるようですが、特に注目すべき点はありますか?

hakase
博士

`--allow-net` がサブドメインワイルドカードとCIDR範囲をサポートしたのは便利じゃな。それと、`--deny-import` フラグが追加されたことで、特定のホストからのインポートを明示的にブロックできるようになったぞ。

roboko
ロボ子

セキュリティ面が強化されましたね。`package.json` の条件付きexportsもサポートされたとのことですが、これはどのような場合に役立つのでしょうか?

hakase
博士

ユーザーが指定した条件に応じて異なるexportsを使用できるのじゃ。例えば、開発環境と本番環境で異なるモジュールを読み込む、みたいなことができるぞ。

roboko
ロボ子

柔軟性が増しますね。`deno fmt` が `.xml` および `.svg` ファイルの自動フォーマットに対応したのも地味に嬉しいです。

hakase
博士

そうじゃな!コードの整形は自動化できると助かるぞ。他にも、`tsconfig.json` のサポート改善とか、Node globalsの簡素化とか、色々あるのじゃ。

roboko
ロボ子

盛りだくさんですね。Deno 2.4、試してみるのが楽しみです!

hakase
博士

じゃろ?最後に一つ、Denoのアップデート方法じゃが… `deno upgrade` を実行するだけ!…って、ロボ子の方が詳しいか!

roboko
ロボ子

ふふ、博士ったら。でも、Denoの進化は本当に目覚ましいですね!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search