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.jsonREADME.md という2ファイルも一緒に Publish された。

package.json はまだ分かるが、README.md もなの?と思い、.npmignoreREADME.md を追加し、Publish の対象外にしてみたが、それでも Publish された。

README.md の内容が npmjs.org 上での説明文に使用されるためだろうか。このファイルが存在する場合は .npmignore で対象外に指定していても Publish されるようであった。メモメモ。