読者です 読者をやめる 読者になる 読者になる

herokuでpackage.jsonから消したモジュールを削除する

node.js heroku

buildpackで動かしてるNode.jsで、1回インストールされたnpmのモジュールがpackage.jsonから消えないのでbuildpackのスクリプトに npm prune を追記した。
https://github.com/hokaccha/heroku-buildpack-nodejs/commit/e942d5a91e24fe5850b9e2cbe072a4f2c6a3ed7d

slugサイズ節約のためにもいらんのは消したほうがいいよね。

npm pruneはpackage.jsonにないけどインストールされてるやつを消してくれるコマンド。ただdevDependenciesに書いてあるモジュールは削除してくれないので、dependenciesに書いてインストールしちゃったけどやっぱheroku側では使わんからdevDependenciesに移そうってときに消えないのが問題(ちなみにdevDependenciesをインストールしないようにするのはこれね)

npm prone --production

みたいのがあればいいんだけどパッチ書くほどのモチベーションはないので一旦devDependenciesから消してコミットして戻すので対応。