米Deno Landは、V8 JavaScriptエンジンとRust言語を使用したJavaScript/TypeScriptランタイム「Deno」の新版「Deno 2.0.0」を10月9日(現地時間)に公開した。DenoはMITライセンスで公開しているオープンソース・ソフトウェア。
新版では、Node.jsやrpmとの互換性をより高めた。「package.json」ファイルや「node_modules」フォルダ、npmのワークスペースの中身を解釈するため、ECMAScript Module(ESM)形式で作成したNode.js向けアプリケーションなら、Denoにそのまま移動させればほぼ稼働する。軽微な文法解釈の違いが発生したとしても、「deno lint --fix」コマンドで修正できるとしている。
また、import文でnpmパッケージの名称やバージョンを指定することで、使用するnpmパッケージを自動的に導入する機能も持つ。この機能により、package.jsonファイルやnode_modulesフォルダを用意する必要がなくなり、単一のJavaScriptファイルだけでアプリケーションを構築できるようになる。アプリケーションが大きくなってきたら、使用するnpmパッケージの名称とバージョンを「deno.json」ファイルにまとめることも可能だ。
そして、依存関係にあるファイルを一括で導入する機能も備わった。「deno install」コマンドを実行すると、package.jsonファイルを参照して、依存関係にあるファイルをnode_modulesフォルダに導入する。package.jsonファイルが存在しない場合は、依存関係にあるファイルをDenoのグローバルキャッシュに保存する。
そして、4年以上かけて構築してきたDenoの標準ライブラリがようやく安定化した。標準ライブラリは機能ごとに分割したモジュールになっており、JSR(JavaScript Registry)からダウンロードできる。
さらに、長期サポート版(LTM:Long Term Support)も用意する。Denoのバージョン2.1.0から、LTS版を用意し、その後の新バージョンで発生した不具合の修正を、LTS版にも反映させる。6カ月経過したら、その時点の最新の安定版が新たなLTS版となる。そして、企業向けのサポートプログラム「Deno for Enterprise program」も開始する。
- 関連リンク
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です