JSR パッケージ公開に入門してみる
JSR というのは JavaScript の新しいパッケージレジストリです。パッケージマネージャーではないとドキュメントに記載されているので間違わないようにしましょう。今回は Hello World 的にパッケージを作成してみます。
パッケージを作成する方法は極めて簡単です。
まずは GitHub のアカウントを用意します。ない場合は作りましょう。
JSR の Web サイトの右上部にあるアイコンより、ログインします。 すると、自分のアカウントのアイコンから「Publish a package」というメニューを選ぶことができるようになります。
続いて Scope を決め、 Package name を決めます。これらを決めると公開用の JSR パッケージ名が決まります。例えば、僕 (karad) が作った greet というパッケージ名であれば @karad/greet
が公開用の JSR パッケージ名となります。
決め終えたら Publish
ボタンを押します。すると画面が遷移して、この後の作業についてのガイダンスページが表示されます。
あとは、Introduction にあるように必要なファイル mod.ts
や jsr.json
を用意して $ npx jsr publish
を実行するだけです。jsr.json
はパッケージ名を決めた後に出るガイダンスページにサンプルがあります。
今回 Hello World 的に作ったのが @karad/greet - JSR です。
上記のとおり通り進めることでできあがる greet
パッケージは既にいくつか登録されています。テスト的に試すなら greet
パッケージ名のままのほうがスルーできていいのかもしれないとも思いました。もちろん既にパッケージを持っている方は自分のパッケージで試してみるのもいいと思います。
こんな風にサンプルにしたがってテスト的にパッケージを公開してみましたが、適当に乱発してあとで消すみたいなことはできるのでしょうか。その答えは FAQ の「Can I delete a package from JSR?」にありました。
Source code published to JSR can not be deleted. ... You can “yank” a version of a package, which will hide the version from the default view, but it will still be available to users who depend on it. ... You may delete a package if it has no published versions.
公開されたバージョンがあるパッケージは削除できず、Yank することにより非表示にすることは出来るものの、直接指定するとそのバージョンはユーザーは利用できてしまうとのこと。また公開されたバージョンがないパッケージであれば削除することができるとのことです。なので、公開する際は注意が必要です。
ところで JSR というのは何の略なのでしょうか。その答えはドキュメントの FAQ のコーナーにあります。「JavaScript Registry」の略だそうです。
Is “JSR” an initialism for “JavaScript Registry”?
Yes.
しばらくいろいろといじってみて、なじんでおこうと思います。