npmはJavaScriptソースコードのパッケージマネージャです。あるライブラリA、ライブラリAを動かすために必要なライブラリB、さらにライブラリBを動かすために必要なライブラリC、などといった依存関係をおおよそまとめてくれます。何かしら外部を経由してビルドするアプリ開発だと稀に依存関係を把握できずこけますが、そこはJavaScript外ということでご愛敬。
npm | build amazing things
npmの主な役割はパッケージマネージャですが任意のスクリプトを実行できます。スクリプト実行命令には任意の名前を付けます。
スクリプトにつけることのできる名前の内、いくつかはnpmにとって特別な名前でありnpmの動作によって自動的に実行されます。特別な名前は次のリンクでまとめられています。
npm-scripts | npm Documentation
20個弱ありますが大半はライブラリ開発者用です。アプリやwebページを作る際に便利になるのはpreinstall, preuninstall, postinstall, postuninstallでしょう。いずれもnpm install [hoge]、npm uninstall [fuga]の実行前後に走ることが約束された名前です。この名前のスクリプトの中にビルドの実行、file busyの解除につながる命令を記述することで快適な開発ができます。