うっかり引っかかってしまったのでメモ。特に設定しないと .gitignore の影響を受けるようで、ビルド後の dist が無視されてしまっていた。

解決策

.npmignore を使う。

.npmignoreにこのような感じで、必要なファイルを記載する。

node_modules
.git
.idea
.env
.eslintignore
.eslintrc
.gitignore
.npmignore

おまけ

package.jsonには、 files というフィールドが存在する。

files: ['dist', 'tsconfig.json']

などと記載すれば、srcやscriptsなど他のフォルダが含まれないようになる。package.json, README, LICENSEなどは必ず含まれるため指定する必要はない。また、一部のファイルも常に無視される。

詳細は公式ページを参照のこと

https://docs.npmjs.com/cli/v8/configuring-npm/package-json#files