JSR(JavaScript Registry の略)は、JavaScript および TypeScript のためのパッケージレジストリである。

Deno を開発している Deno Land Inc. が開発した。

経緯 Deno のためのモジュールレジストリとして、deno.land/x が存在する。しかし、依存関係の重複などの問題が指摘されていた。

一方の npm においては、もともと Node.js 用に作られたこともありそのために設計されている課題がある。また、ESM ではなく CommonJS を使用しているパッケージや、TypeScript をパッケージマネージャーおよびレジストリとして根本的にサポートしていないなどの問題もあった。

2024年3月、それらの問題の解決策として、JSRが公開された。

特徴

ネイティブ TypeScript サポート JSR は、ネイティブに TypeScript をサポートしている。 npm においてパッケージを TypeScript の型をつけて公開するには、.d.ts などのファイルを作成する必要があった。しかし、JSR においては、レジストリが自動的に作成する。

クロスランタイムサポート JSR は、複数のランタイムをサポートすることが前提に作られている。

npm との互換性 JSR は、npm と互換性をもっていて、npm から JSR の依存関係をインストールすることができる。

出典

関連項目

Deno npm yarn

外部リンク

JSR: the JavaScript Registry