BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Deno 2リリース、レガシーJavaScriptインフラストラクチャとの相互運用性と大規模利用にフォーカス

Deno 2リリース、レガシーJavaScriptインフラストラクチャとの相互運用性と大規模利用にフォーカス

原文リンク(2024-12-31)

Denoチームが最近Deno 2をリリースした。チームによると、Deno 2はレガシーJavaScriptインフラストラクチャとのシームレスな相互運用性、安定化した標準ライブラリ、ランタイム間でJavaScriptライブラリを共有するためのモダンレジストリなどを提供する。

Deno 2は、Nodeやnpmとの下位互換性を謳っている。リリースノートにはこう説明されている:

Deno 2はpackage.jsonnode_modulesフォルダ、npmワークスペースを理解し、ESMを使う任意のNodeプロジェクトでDenoを実行できます。もし簡単な構文調整が必要なら、deno lint --fix で修正できます。

上記互換性により、チームはDenoとそのオールインワン・ツールチェーンを段階的に採用することができる。Deno開発者は、npm:指定子を使ってnpmパッケージをインポートできる:

import chalk from "npm:chalk@5.3.0";console.log(chalk.blue("Hello, world!"));// Hello, world! (in blue)

開発者はインポートマップを活用してnpmパッケージにベア指定子を設定することもできる:

// deno.json{ "imports": {   "chalk": "npm:chalk@5.3.0" }}

その後、モジュールはベア指定子を使って利用できる:

import chalk from "chalk";console.log(chalk.blue("Hello, world!"));// Hello, world!(in blue)

Deno 2は一般に使用される多くのWebフレームワーク(Next.js、Astro、Remix、Angular、SvelteKit、QwikCityなど)をサポートすると表明している。

Deno 2はさらに、deno installdeno adddeno removeによる依存性管理をサポートしている。後者2コマンドはそれぞれpackage.jsonファイルからパッケージを追加、削除する。

Deno標準ライブラリが安定版となり、Deno 2に含まれている。この標準ライブラリは、データ操作、Web関連のロジック、JavaScript固有の機能など、数十の監査済みユーティリティモジュールで構成されている。ESM(JavaScriptネイティブモジュール)を採用、TypeScriptパッケージをネイティブに受け入れるDenoのJavaScript Registry (JSR) から、開発者は標準ライブラリの 完全なモジュールリストを確認できる。

リリースノートはJSRのベネフィットをこう説明している:

TypeScriptをネイティブにサポートし(TypeScriptのソースコードとしてモジュールを公開可能)、複数のランタイムと環境でのモジュールロードの複雑さを処理し、ESMのみ許可し、JSDocスタイルのコメントからドキュメントを自動生成し、npmやnpxのようなシステムでも使用できます(その通り、JSRはTypeScriptを.jsや .d.tsファイルに変換します)。

Denoは関連し相互に依存する複数のパッケージを同時に管理するためのワークスペースもサポートしている(「モノレポ」としても知られる)。Denoワークスペースは既存のnpmパッケージからDeno優先パッケージを使うことをサポートし、npmワークスペースからの移行を容易にする。

開発者はdotcom-2.deno から本番リリースをインストールできる。開発者は機能、改善点、バグ修正の完全なリストを含むオリジナルリリースノートを確認することが推奨される。DenoはMITライセンスの下で利用可能なオープンソースソフトウェアである。Denoプロジェクト を通してのコントリビューションが推奨されており、それはDenoコントリビューション・ガイドラインに従う必要がある。

作者について

この記事に星をつける

おすすめ度
スタイル

BT