npm publish は package.json と README.md を必ず Publish する
.npmignore というファイルを用意すると、npm publish 時に無視するファイルを指定できることは以前紹介した。いわばブラックリストな指定法だ。
コレとは別に、package.json に "files": というプロパティを追加すると、npm publish で公開対象にするファイルやディレクトリを指定できる。要するにホワイトリストな指定方法だ。
// コレで dist/ ディレクトリ配下と LICENSE.md のみを Publish する
"files": [
"dist",
"LICENSE.md"
],
というワケで、package.json の "files": で上述のように指定したのだが、いざ npm publish してみると、package.json と README.md という2ファイルも一緒に Publish された。
package.json はまだ分かるが、README.md もなの?と思い、.npmignore に README.md を追加し、Publish の対象外にしてみたが、それでも Publish された。
README.md の内容が npmjs.org 上での説明文に使用されるためだろうか。このファイルが存在する場合は .npmignore で対象外に指定していても Publish されるようであった。メモメモ。