Grunt.js
gruntjs.com
gruntjs.com
Since we already did everything through Makefiles, what we wanted was a shell script/Make that worked out of the box in all platforms (Windows included). So we wrote ShellJS for Node.js:
https://github.com/arturadib/shelljs
It is now battle-tested in several Mozilla projects (PDF.js, Firefox OS, Butter.js, etc). Check it out, happy to answer questions/comments at @arturadib.
If, on the other hand, you want to execute web developer-centric tasks like concatenation and minification, linting, running of unit tests in pure JavaScript or a headless WebKit instance, or any of the functionality the 90+ plugins I'm aware of provide, check grunt out.
Grunt also works on all platforms, and supports completely arbitrary JavaScript tasks. If you can write it, grunt will execute it.
And because grunt supports arbitrary JavaScript tasks, you can use ShellJS (or any other JavaScript) from within grunt.
http://github.com/ricardobeat/cake-flour
I could see shelljs as a stand-alone executable using JSDB (http://jsdb.org) too, should be an easy port, cross-platform, much smaller and dependency-free.
https://github.com/mathquill/mathquill/blob/dev/Makefile
Yes, Makefiles don't have magic syntax for qunit, but they're incredibly flexible.
* I find the js syntax of gruntfiles much cleaner and harmonious with the js code I'm writing for my projects
* From what I've seen, Makefiles are meant to create output files - seems like Grunt can be set up more easily for things meant for display (linting, etc)
* Better ecosystem with grunt plugins: https://github.com/cowboy/grunt/blob/master/docs/plugins.md
I'm pretty sure it's common knowledge, I'm one of those annoying node haters and I've known about it for months now.
This was posted for two reasons.
1 - I don't believe it is common knowledge. A lot of people know about it, but it is not quite reached the mainstream.
2 - They launched a new website.
Had it been "Grunt.js has a new website" I would have kept my fat mouth shut.
How does grunt compare, and why should I switch?
[1]: http://brunch.io/