興味があったのでGitHub Packagesを試してみている。node-css-mqpackerを復活させて、公開するところまではできた。ヘルプの通りでうまくいったが、.npmrc
ファイルで気になるところがあったので、メモを残しておく。
オーナーとして公開する場合、.npmrc
ファイルを編集してregistry
を編集しろとなっている。もちろんこれで公開できる(できた)けれど、npmのaudit
コマンドが動かなくなってしまった。
$ npm audit npm ERR! code ENOAUDIT npm ERR! audit Your configured registry (https://npm.pkg.github.com/hail2u) does not support audit requests. npm ERR! audit The server said: 404 page not found npm ERR! audit
それはそうかというエラーだが、これは困る。後述のスコープで絞る方法で設定しても良いようだが、ヘルプに併記されているpackage.json
ファイルでpublishConfig
フィールドを使う方法でもうまくいく。
{
"name": "@hail2u/css-mqpacker",
"version": "8.0.1",
"repository": {
"type": "git",
"url": "git://github.com/hail2u/node-css-mqpacker.git"
},
"publishConfig": {
"registry": "https://npm.pkg.github.com/"
}
}
.npmrc
ファイルを編集する場合と違い、registry
フィールドの値にはオーナー名まで含めなくていい。こちらは「公開設定」というそのものズバリのフィールドで設定することになるので、わかりやすいと感じた。他に.npmrc
ファイルを使う必要がない場合に、ファイルが増えないという点でもやりやすい。
ユーザーとしてインストールする場合も、.npmrc
ファイルを編集してregistry
を設定しろとなっている。しかし、これだと影響範囲が大きすぎるような気がする。npmのaudit
コマンドが動かないのも同じだ。
@hail2u:registry=https://npm.pkg.github.com/
このようにスコープで絞って設定してやっても大丈夫だった。これならプリフィックスで@hail2u
を持つ依存パッケージのみがGitHub Packagesを見に行くだろう。
ローカルの.npmrc
ファイルを使ったことがなかったので、基本的な知識がなく混乱した。registryを変更する場合は「とりあえずスコープをつける」などと覚えるだけも良いのかもしれない。