公開しているnpmパッケージをGitHub Packagesから取得できるようにしました

じぶんのプロジェクトでつかうために、いくつかのnpmパッケージ を公開しています。これらのパッケージをGitHub Packagesから取得できるようにしました。

以下の設定を .npmrc に追加すると、 @piyoppi スコープのパッケージについては GitHub Packages(npm.pkg.github.com) から取得します。

//npm.pkg.github.com/:_authToken=${NPM_TOKEN}
@piyoppi:registry=https://npm.pkg.github.com

インストールするときは、NPM_TOKEN環境変数を設定してふつうに npm install します。たとえばこんなかんじ。

export NPM_TOKEN=xxxxxxxx
npm install --save @piypppi/pico2map-editor

パッケージの取得にはGitHubのアクセストークンが必要です(ref)。NPM_TOKENには、read:packages スコープの付いたアクセストークンを発行し、設定します。

たとえばHerokuにデプロイする過程で npm install をするときは、上記 .npmrc をコミットしておき、別途 NPM_TOKEN 環境変数を設定することで同様にパッケージを参照できます。

https://devcenter.heroku.com/articles/nodejs-support#private-dependencies

最近は自作ライブラリの公開に GitHub Actions を活用していますが、GitHub Packagesなら別途アクセストークンを用意しなくていい(GITHUB_TOKEN がつかえる)ので、 お手軽だな~というかんじです。

また、開発中のパッケージをちょっと公開して自分のプロジェクトで参照したいときに、なんとなくnpmに公開するよりはお手軽感を感じているのでした。(たとえば、目下開発中の @piyoppi/pico2map-editor はいまのところGitHub Packagesでのみパッケージを公開しています。それ以外のパッケージはnpmでも公開しています。)

ではでは