grunt v0.4.x と Yeoman1.0 と bowerについて少し調べた

gruntがそろそろv0.4.0 が正式にリリースされそう(現在 v0.4.0rc8 ) なのですが、どうもYeoman など色々と関連するところがありそうなので、きちんと把握するためにまとめておきます

grunt 0.3 から 0.4 への変更点

ドキュメントが grunt から grunt-cli のinstallへ

v0.4.0 では grunt-cli というgruntのコマンドインターフェイスのライブラリ経由でインストールします。 なので公式ドキュメントも最初にglobalの grunt を uninstall しています。経緯はあんまり上手く汲み取れていないのですが、まぁこれでglobalにinstallすれば、プロジェクトごとに何度もinstallしなくていいでしょ?ってことでしょうか。

npm uninstall -g grunt
npm install -g grunt-cli

https://github.com/gruntjs/grunt/wiki/Getting-started

init コマンドが別コマンドに。

ファイル工数を作る init コマンドが grunt-init に分割されています。npm install -g grunt-init で install が可能。ただし いずれ、Yeoman に置き換わるそうです。

v0.3.x 系 pluginが非対応

grunt-contrib-* というシリーズのpluginが用意されているのですが、 v0.3.x 系で利用出来ていた plugin は v0.4.x 系 用に修正する必要があるようです。

config の書き方が変わる

<json:file.json> なんて書き方をしていたディレクティブが、<% %> というスタイルのテンプレート、もしくは 通常のJavaScript関数などに置き換わります。

他にも色々ありますが、詳しくはドキュメントへ。

https://github.com/gruntjs/grunt/wiki/Upgrading-from-0.3-to-0.4

Yeoman1.0 beta

init にとって変わるという Yeoman。こちらも現在 1.0 beta が開発進行中です。0.9 までは、gruntのwrapperみたいなものだったのが、scaffold できるツールみたいな位置づけになります。これは公式サイトの絵がわかりやすいです。

f:id:taizo_onexone:20130219000124p:plain

コマンド名は yeoman から yo に変更になっています。

// install
npm install -g yo grunt-cli bower
// Basic scaffolding
yo webapp
// generator を探す
npm search yeoman-generator
// angular の scaffold を作ってみる
npm install generator-angular
yo angular

ちなみに、自分の環境ではangularのscaffoldでエラーが出ました。

bower

http://twitter.github.com/bower/

Yeomanでinstall が必要な bower。twitter製のウェブパッケージ管理。nom の package.jsonとの棲み分けがイマイチよくわからないですが、(簡単に社内用の検索サーバ立てられる、とか?) 最近見かけるようになってきたので、把握はしておきたいものです。

まとめ

  • grunt v0.3.x 系と v0.4.x 系は違い、単純にアップデートできない
  • Yeoman が gruntのwrapperから、scaffold ツールになりつつあり、今後お世話になることがあるかもしれない 

あとで

  • bower と npm の使い分けを考える