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

JSR
開発元 Deno Land Inc.
リポジトリ https://github.com/jsr-io/jsr
プログラミング
言語
Rust, TypeScript
ライセンス MIT License
公式サイト https://jsr.io
テンプレートを表示

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

経緯

編集

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

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

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

特徴

編集

ネイティブ TypeScript サポート

編集

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

クロスランタイムサポート

編集

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

npm との互換性

編集

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

出典

編集
  1. ^ liruifengv (2024年2月29日). “JSR, a new JS Registry that supports TS and compatible with npm.” (英語). Medium. 2024年6月12日閲覧。
  2. ^ TypeScriptのための新しいパッケージレジストリ「JSR」の素晴らしさ”. Qiita (2024年3月9日). 2024年6月12日閲覧。
  3. ^ JSR: 一个全新的 Javascript 包注册中心 - MyEdgeTech”. myedgetech.com. 2024年6月12日閲覧。
  4. ^ Deno v2に向けて - Deno v2, deno_std v1, Fresh v2について”. Zenn. 2024年6月12日閲覧。
  5. ^ a b Deno (2024年3月6日). “Introducing JSR — the JavaScript Registry” (英語). Medium. 2024年6月12日閲覧。
  6. ^ JSR の紹介”. kt3k.github.io. 2024年6月12日閲覧。
  7. ^ Introducing JSR - the JavaScript Registry” (英語). Deno Blog (2024年3月1日). 2024年6月12日閲覧。
  8. ^ TypeScriptのための新しいパッケージレジストリ「JSR」の素晴らしさ”. Qiita (2024年3月9日). 2024年6月12日閲覧。
  9. ^ liruifengv. “Deno 新开发的 JSR,一个新的 JS Registry,支持 TS 并兼容 npm” (英語). liruifengv.com. 2024年6月12日閲覧。
  10. ^ a b masahiro-kondo (2024年5月9日). “マルチランタイム時代のモダン JavaScript レジストリ JSR を使ってみる | 豆蔵デベロッパーサイト”. developer.mamezou-tech.com. 2024年6月12日閲覧。

関連項目

編集

外部リンク

編集