npm publish されるファイルをアーカイブにまとめる「npm pack」コマンド

npm pack というコマンドがあるのを今頃知った。

通常 npm publish とすると、カレントディレクトリの内容がまるっと npm パッケージとして公開される。これに対し、npm pack コマンドは、npm パッケージとして公開されるファイルが .tgz ファイルとして圧縮される。

npm publish コマンドと同様、.npmignore で無視したファイルはアーカイブファイルには格納されていない。そこで、「Publish されたら困るファイルが本当に Publish されないかどうか」を事前検証するコマンドとして利用できる。

# npm pack コマンドで固めようとしたファイルの一覧を確認できる
$ tar -tf ($npm pack)

また、この .tgz ファイルを指定して npm publish することもできる。

$ npm publish example.tgz

プライベート npm リポジトリを立てる時なんかに使えるかも。