My team’s current Gruntfile config includes options for linting, minification, obfuscation, SASS compilation, live reload, qunit testing for unit testing and also casperjs for functional testing. All tests are run against a phantomjs headless browser.
Lessons? Never take on a side project without learning something new. So what else? Here are a couple of reasons why you should consider GruntJS:
1. Standardized interface – it defines a completely repeatable method for defining tasks.
2. Great community – there are one gazillion plugins, tutorials and blog posts on why you should use Grunt.
3. Plugins for nearly every web dev work you’ll do – I personally love the watch tasks that reload the browsers.
4. The learning curve is almost non-existent; I love easy-to-use stuff.
5. Grunt is powerful – it packs a punch!
6. Flexible, I found out that you can actually invoke command line arguments and run new programs.
6 thoughts on “Grunting with GruntJS”
I started Grunting last month & its simply amazing. On 2 of our projects, we are using similar tools with a few minor differences – Node.js (server-side), Underscore.js, Backbone.js (front-end), Jasmine (testing). It would be great to know what your other experiences with these slick technologies are.
And ‘Hey!’, I’m looking for adventurous hands to work (remotely) on our internal & external projects.
aniediudo [at] gmail [dot] com
Awesome to hear about your use of GruntJS!
I actually evaluated backbone and EmberJS and chose the latter – I believe both are excellent however EmberJS is my preferred choice. Underscore looks great – I checked it out some time ago, however I am not using it. Finally, no server-side JS for me for now; I’ll love to learn it but I have got my hands terribly full now.
Do you remember we met at the 2010 G-Nigeria in Unilag? :)
“I had to bring everything up to production-ready levels”
Is your Scrum increment not already at production-ready levels at the end of each Sprint (I.E. potentially releasable)?
They need to be running on every Increment (Sprint). Otherwise, you’re not getting maximum benefit.
Thanks a lot for the suggestion! :D