grunt-cliへの移行備忘録

今やってるプロジェクトで使ってるGruntをgrunt-cliで行うようにしたのでメモ。
0.4からGruntはgrunt-cliというのを使うようになったようです。ちなみにこのプロジェクトではまだ0.3.17でタスクを実行する。

基本的にはGetting started - Grunt: The JavaScript Task RunnerUpgrading from 0.3 to 0.4 - Grunt: The JavaScript Task Runnerにある内容。
0.4からはgrunt-cliを使うようになり、このコマンドがpackage.jsonという設定ファイルを見て各プロジェクトごとにinstallされたgruntを利用して実行するようになるようです。依存しているgruntプラグインも個別に設定するようになるのでgruntをクリーンな状態で保てます。

-gでinstallしているgruntをuninstall

npm uninstall -g grunt

gruntコマンドを扱うモジュールが変わるのでまずはgruntをuninstall。

grunt-cliをinstall

npm install -g grunt-cli

こいつがgruntコマンドになります。でもgrunt自体じゃないです。package.jsonを見てgruntを実行します。

package.jsonを作成

{
  "name": "my-project-name",
  "version": "0.1.0",
  "devDependencies": {
    "grunt": "~0.3.17"
  }
}

使用するgruntのバージョン、使用するプラグインがあればdevDependenciesに書きます。0.4だとconcat等のタスクを実行する場合にはgrunt-contrib-concatとかが必要になるので書かないとなんですが、以前のバージョン(この場合は0.3.17)を使用する場合はそのへんの基本的なものは含まれているので書く必要はありません。

gruntをinstall

npm install grunt@0.3.17

ローカルにgruntをinstall。grunt-cliはgruntコマンドを実行したディレクトリにあるgruntを実行するので、package.jsonに使用するgruntを書いた上でinstallをしておかないと「Unable to find local grunt.」とか言われます。

必要なプラグインがあればinstall

今回自分は特に使うものはないですが、

npm install grunt grunt-contrib-concat

とかやってinstallします。

これで準備完了。0.4以降のやり方で0.3を実行。このあとgrunt自体も0.4でできるようにちょこちょこ変えてく