Grunt doesn't do dirty-file dependency checking. Gulp does, sort of, but it's awkward.
There are many, many build tools in JS-land. Grunt and Gulp happen to be the most popular. (This isn't really due to technical merit. They're popular mostly because they're popular.) My personal favorite is Jake, which is a classic Rake-like (or Make-like) tool.