コンテンツへスキップ

Deno 2.3 リリース!コンパイル改善とローカルNPMパッケージ対応

Deno 2.3: Compile Enhancements & Local NPM Support for Developers

Deno 2.3登場!コンパイルがパワーアップして、ローカルのNPMパッケージも使えるようになったって!?

皆さん、こんにちは!ジョンです。今日のテーマは、最近話題のDeno(ディーノ)の最新バージョン、2.3についてです。Denoって聞いたことありますか?簡単に言うと、JavaScriptとTypeScript(JavaScriptをより安全に使うための拡張版みたいなもの)を実行するための環境のことです。Node.js(ノードジェーエス)っていう似たようなものがあるんだけど、Denoはそれよりもっと安全で使いやすいように設計されているんです。

Deno 2.3の何がすごいのか?

今回のアップデートで特に注目すべき点は、以下の2つです。

  • コンパイル機能の強化
  • ローカルNPMパッケージのサポート

それぞれ詳しく見ていきましょう!

コンパイル機能がパワーアップ!

まず、コンパイル機能の強化について。コンパイルっていうのは、書いたプログラムをコンピューターが理解できる形に変換することです。Deno 2.3では、このコンパイル機能が大幅に改善されました。特に、FFI(Foreign Function Interface)とNode native add-onsをサポートしたのが大きいですね。

…はい、ちょっと難しい言葉が出てきましたね(笑)。FFIっていうのは、Denoのプログラムから、C言語とか他のプログラミング言語で書かれたプログラムを呼び出すための仕組みです。Node native add-onsっていうのは、Node.jsで使われていた、コンピューターの性能を最大限に引き出すための特別な部品みたいなものです。

つまり、今回のアップデートで、Denoで書いたプログラムが、これまで以上に色々なことができるようになったってことです!例えば、ものすごく処理能力が必要な計算とか、OS(オペレーティングシステム、WindowsとかmacOSのことです)の特別な機能を使う必要がある場合でも、Denoだけで対応できる可能性が広がりました。

さらに、コンパイルする際に、特定のファイルを除外できるようになったのも嬉しいポイントです。これによって、必要なものだけをまとめて、よりコンパクトなプログラムを作れるようになりました。

Deno compileを使うと、開発したプロジェクトを一つのファイルにまとめることができるので、Denoや必要なライブラリをインストールしていない環境でも、すぐに実行できるプログラムを配布できるんです。これは便利!

また、Deno.build.standaloneという機能も追加されました。これは、プログラムがコンパイルされた実行ファイルとして動いているかどうかを判断するためのものです。これを使うと、コンパイルされた環境とそうでない環境で、プログラムの挙動を切り替えることができます。例えば、エラー報告の方法を変えたり、特別な機能だけを有効にしたりできるんです。

ローカルNPMパッケージがついに使える!

次に、ローカルNPMパッケージのサポートについて。NPMっていうのは、JavaScriptの便利な道具箱みたいなもので、世界中のプログラマーが作った色々なプログラムが公開されています。Denoでも、NPMのパッケージを使うことができるんですが、これまではインターネットからダウンロードする必要がありました。

しかし、Deno 2.3からは、自分のパソコンの中にあるNPMパッケージを直接使えるようになったんです!これ、実はすごく便利なんです。例えば、自分で作ったNPMパッケージをテストしたり、開発したりする際に、いちいちインターネットに公開する必要がなくなります。ローカルで試して、問題がなければ公開、という流れがスムーズにできるようになりました。

ローカルのNPMモジュールを使うには、プロジェクトの中にnode_modulesというフォルダを作る必要があります。これには、"nodeModulesDir": "auto"または"nodeModulesDir": "manual"という設定を使います。”manual”オプションを使う場合は、ローカルのNPMパッケージを更新するたびにdeno installコマンドを実行する必要があります。

その他のアップデート

Deno 2.3には、他にも色々なアップデートが含まれています。

  • deno fmtの改善:埋め込まれたCSS、HTML、SQLを整形できるようになりました。プログラムの見た目を整えるのが簡単になりますね!
  • NPMとJSRからのパッケージインストール:--npm--jsrという新しいフラグが追加され、それぞれのレジストリからパッケージを簡単にインストールできるようになりました。
  • OpenTelemetryのサポート拡張:イベント記録、スパンコンテキスト伝播、node:http自動計測、V8 JSエンジンメトリクスがサポートされました。
  • Windowsでの署名:Denoの実行ファイルがWindowsで署名されるようになり、 DefenderがDenoを信頼するようになりました。
  • 依存関係のインストール速度向上:deno installdeno addが、NPMの依存関係がキャッシュされている場合に約2倍速くなりました。
  • Visual Studio Code Jupyterの改善:Jupyterのセル間で変数、モジュール、型定義が共有されるようになりました。
  • TypeScript 5.8とV8 13.5へのアップグレード:新しい言語機能とパフォーマンスの向上が提供されます。

Deno 2.3へのアップデート方法

Deno 2.3をまだ使っていない方は、以下のコマンドで簡単にアップデートできます。

deno upgrade

ぜひ試してみてください!

まとめと感想

Deno 2.3は、コンパイル機能の強化やローカルNPMパッケージのサポートなど、開発者にとって嬉しい機能がたくさん追加されたアップデートです。ますます便利になったDenoを使って、色々なことに挑戦してみてください!

個人的には、ローカルNPMパッケージのサポートが一番嬉しいですね。これで、今まで以上に気軽に実験的なコードを書けるようになります。Denoの進化には本当に目が離せません!

この記事は、以下の元記事をもとに筆者の視点でまとめたものです:
Deno 2.3 adds compile improvements, support for local NPM
packages

関連投稿

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です