| Even though they are clearly related, Gulp and Grunt are fulfilling different purposes. You should carefully examined your needs before choosing one over another. I recently switched to Gulp for several projects, and I'm thinking of switching back to Grunt. Gulp lacks of some important features. For instance, it does not allow to sequentially execute tasks: everything is done in parallel. This could for sure be emulated by using async, but the overhead is not worth it. On the other side, Grunt does support sequential and parallel tasks execution, but is more verbose and does a lot of file writing on the disk (though it is relatively moderate). One concrete example for sequential tasks execution (easily done with Grunt): - Watch JavaScript files, when a modifications is detected: - lint files -> [JSHint, JSCS]
- if success: launch tests -> [Karma, Mocha]
- if success: notify
- If any failure occurs: notify and abort the sequence |
There's a package[1] for Gulp which does exactly that.
[1]: https://www.npmjs.org/package/run-sequence