JSR (レジストリ)
表示
開発元 | Deno Land Inc. |
---|---|
リポジトリ | https://github.com/jsr-io/jsr |
プログラミング 言語 | Rust, TypeScript |
ライセンス | MIT License |
公式サイト | https://jsr.io |
JSR(JavaScript Registry の略[1])は、JavaScript および TypeScript のためのパッケージレジストリである。[2]
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]
出典
[編集]- ^ liruifengv (2024年2月29日). “JSR, a new JS Registry that supports TS and compatible with npm.” (英語). Medium. 2024年6月12日閲覧。
- ^ “TypeScriptのための新しいパッケージレジストリ「JSR」の素晴らしさ”. Qiita (2024年3月9日). 2024年6月12日閲覧。
- ^ “JSR: 一个全新的 Javascript 包注册中心 - MyEdgeTech”. myedgetech.com. 2024年6月12日閲覧。
- ^ “Deno v2に向けて - Deno v2, deno_std v1, Fresh v2について”. Zenn. 2024年6月12日閲覧。
- ^ a b Deno (2024年3月6日). “Introducing JSR — the JavaScript Registry” (英語). Medium. 2024年6月12日閲覧。
- ^ “JSR の紹介”. kt3k.github.io. 2024年6月12日閲覧。
- ^ “Introducing JSR - the JavaScript Registry” (英語). Deno Blog (2024年3月1日). 2024年6月12日閲覧。
- ^ “TypeScriptのための新しいパッケージレジストリ「JSR」の素晴らしさ”. Qiita (2024年3月9日). 2024年6月12日閲覧。
- ^ liruifengv. “Deno 新开发的 JSR,一个新的 JS Registry,支持 TS 并兼容 npm” (英語). liruifengv.com. 2024年6月12日閲覧。
- ^ a b masahiro-kondo (2024年5月9日). “マルチランタイム時代のモダン JavaScript レジストリ JSR を使ってみる | 豆蔵デベロッパーサイト”. developer.mamezou-tech.com. 2024年6月12日閲覧。