Deno、モダンなJavaScript/TypeScriptに最適化したパッケージレジストリ「JSR」パブリックベータ公開。Node.js、Bun、Cloudflareなどにも対応
今回は「Deno、モダンなJavaScript/TypeScriptに最適化したパッケージレジストリ「JSR」パブリックベータ公開。Node.js、Bun、Cloudflareなどにも対応」についてご紹介します。
関連ワード (下記、多様、機能等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
JavaScript/TypeScriptランタイムの「Deno」を開発提供しているDeno Land Inc.は、モダンなJavaScriptおよびTypeScriptに最適化した新しいパッケージレジストリ「JSR」をパブリックベータとして公開しました。
現在、JavaScriptのパッケージレジストリは、Node.js用に構築され、GitHubが運営するnpm(Node Pacage Manager)が事実上の標準となっています。
参考:GitHubがnpmの買収を発表、JavaScriptのパッケージ管理サービス。将来的にはGitHubとnpmを統合へ
npmにはさまざまな機能を備えたパッケージモジュールが大量に登録されており、この豊富なパッケージモジュールの存在がNode.jsの大きな利点となっています。そのため、現在ではDeno、Bun、Cloudflare Workersなど後発のJavaScriptランタイムもNode.js互換機能としてnpmに対応しています。
しかしnpmが登場した当時と比べるとJavaScrioptランタイムを取り巻く状況は大きく変わりました。
具体的には、JavaScriptモジュールの標準仕様が登場し、JavaScriptのスーパーセットと位置づけられるTypeScriptが普及し、Node.js以外にDeno、Bun、Cloudflare Workersを始めとする複数のJavaScriptランタイムが登場しました。
こうした現在の状況に対応した新しいパッケージレジストリとしてDenoが開発したのがJSRです。
TypeScriptコードをプッシュ可能、多様なJSランタイムに対応など
JSRは下記のような特徴を備えています。
JavaScriptモジュール標準に対応
JSRのパッケージはJavaScriptモジュールの標準仕様であるECMAScript modulesに従って提供されます(CommonJSには対応しません)
TypeScriptに対応
TypeScriptのコードをJSRにプッシュ可能です。
多様なJavaScriptランタイムに対応
Node.js、Deno、Bun、Cloudflare Workersなど多様なJavaScriptランタイムに対応します。またnpmやyarnなどどんなパッケージマネージャからも利用可能と説明されています。
その上でDenoはJSRはより優れた開発者体験を提供するとしています。