発生した事象
browserifyでビルドしたファイルに
_where : "user/local/path"
といったパスが混入されている箇所が幾つかある。
原因
調べるとmoduleによってはインストール先をpackage.jsonにインストール時に保存して、それをrequireで取り込んでいるものがあるらしい。しかも機能的には使われておらず削除しても問題ない。
ref. https://github.com/indutny/elliptic/issues/106
対応
package-json-versionify
を使ってversion情報以外読み込めなくする対応をいれることにした。package-json-versionify
をインストールしてビルドタスクに組み込む。
var versionify = require('package-json-versionify');
中略
browserify({entries: [srcPath]})
.transform({ global: true }, versionify)
以下略
globalで動くようにしないと機能しないので他への影響もないか注意する。
これによりpackage.jsonをrequireしたときversion情報しか取り込めなくなり、ビルドしたファイルにパスが入らなくなる。
最後に
ビルドされたソースは挙動が問題なくとも内容は確認しましょう。