ビルドにはnpmを使う

JavaScriptでライブラリを作ったり、Single Page Applicationを作るとき、ビルドの方法は多岐に渡る。

yeomanを使ってテンプレートを作成する場合はguardまたはgulpを使ってビルドすることになると思うし、

npm install
bower install
guard build (or gulp build)

browserifyを使っているとbrowserifyコマンドがある

browserify -t reactify -r react -r ./src/index.js > ./build/index.js

component/componentなどを使ったサンプルだと、Makefileでcomponentのコマンドたちをまとめていたりする。

make build

と、とりあえず多岐にわたっているので、他人のものをビルドしたいときだけでなく、久しぶりに触る自分のプロジェクトなんてなにでビルドしてたか完全に忘れている

ところでJavaScriptでのパッケージ管理のデファクトだと思われるnpmでは、ビルド時などに使うコマンドの設定ができる

{
  "scripts": {
    "build": "browserify ./src/index.jsx > ./build/index.js"
  }
}

例えばこんな感じ

これでbuild時に npm run buildとできる。

全てをパッケージ、プロジェクトのビルドをこれで統一すれは、たとえなにかのプロジェクトguardをgulpに切り替えても、使用者(エンドユーザなど)はコマンドを変えずに利用できる。

これが一番シンプルだなぁ…といまさら思っている。

あとはpackage.jsonからREADMEを生成できたらいいのかなぁと思ったりした

[追記 2014/10/4]

package.jsonからREADMEを作るやつ作った