5月15日、DenoチームはJSR(JavaScript package registry)にDeno Standard Libraryを正式に移行したと発表した。このライブラリは高品質のTypeScriptパッケージの充実したコレクションであり、これまで<https://deno.land/std>で基本的なパッケージとして提供されていた。ファイルシステム管理から高度な暗号化機能まで、すべてのパッケージはDenoチームによって監査され、Denoとの互換性が保証されている。
JSRは単なる別のパッケージマネージャではなく、JavaScriptパッケージの配布を異なる環境間で統一し、簡素化するために設計された先進的なレジストリだ。Denoおよび他のJavaScriptランタイムとシームレスに統合され、JavaScriptエコシステムを大幅に強化する機能を多数導入している。その互換性は、Node.js、Cloudflare Workers、さらにはバンドラーを使用するブラウザーまで広がっており、幅広いJavaScriptアプリケーションがDenoのStandard Libraryを活用できるようになっている。
Deno Standard LibraryのJSRへの移行により、JSRは今後、自動生成されたドキュメント提供やSemVerの重複削減を行いながら、開発者のアクセシビリティと多用途性を高めることに寄与する。
以下はDeno Standard LibraryをJSRで使用するためのコマンド例である。
deno add @std/fs @std/path
このコマンドは、次のようにdeno.json
インポートマップを更新する。
{
"imports": {
"@std/fs": "jsr:@std/fs@^0.224.0",
"@std/path": "jsr:@std/path@^0.224.0"
}
}
また、以下のようにソースコードでこれらのパッケージをインポートすることができる。
import { copy } from "@std/fs";
import { join } from "@std/path";
await copy("foo.txt", join("dist", "foo.txt"));
または、jsr:
指定子を直接使用してインポートすることも可能である。
import { copy } from "jsr:@std/fs@^0.224.0";
import { join } from "jsr:@std/path@^0.224.0";
await copy("foo.txt", join("dist", "foo.txt"));
詳細は[The Deno Standard Library is now available on JSR」を参照していただきたい。