Gruntについて最新の気持ち

思いつき

だいぶ前からGrunt周りというかGruntそのものへの関心が薄れゆくなか、タスク周りがやたらと充実してきたエコシステムの恩恵を、ただただ享受するにとどまっている。

業務で700行のGruntfile.jsを見かけて、SAN値をもっていかれた折に前々から感じていた疑念が表に出た。

「これ、Gruntに仕事させすぎじゃないの」

分担してもよいのでは

前述の700行のなかには、ファイルのビルドをはじめとして、ユニットテスト、E2Eテスト、ドキュメント生成、ローカルサーバー、LiveReload etc etc etc ...すべてひとつのファイルに入っていた。

(; ⁰⊖⁰) Oh...

いまいち感覚的なトコロなので表現しづらいのだが、役割としてあまりにGruntfileで表現している内容がごった煮すぎるように思う。

自分の場合、テスト周りはtestemにしていて、ドキュメント生成系はpackage.jsonのscriptsにコマンドで定義している。ローカルサーバーとかLiveReload周りは、WebStormのLiveEditで済んでいるから設定していない。

とにかく、Gruntが汎用タスクランナーであることは承知の上で、中でもビルドタスクのみに専念させるようにしている。

設定の見通しがイマイチ

ビルドに専念させたとしても、各タスクの設定が独立性が高い&冗長なため「あるタスクで作ったこのファイルを、別のタスクでアレする」という流れについて、コード的に見通しが良くないという問題が残る。

その点、gulpのほうがStreamを軸としてコードベースで記述できるので、わりとマシな見た目でストレスも少なそうだった。今のところはタスクの充実度からgruntを使っているが、gulpも今後に期待したい。

ツール乱立の地獄

別件として

という話もあるが、それは別問題とさせていただきたい。

設定を分割するとか

それもアリだと思う。

個人の経験としては、当時configとtaskのオートローダーを添えてしっかり分割した結果「こんなに仕事させるべきツールだっけ?」という疑問に至ってしまった。

結果、1ファイルで200-300行くらいにおさまる仕事量を目安にgruntとお付き合いを続けている。全体としては、結果的に今のほうがシンプルにまとまっていると思う。

個人の感想

です。

感覚には個人差があります。

現場からは以上です。