Brunch is much older than webpack, one of the first javascript build systems. Instead of specifying tasks everything is built via plugins, entirely concurrently and keeping things in memory as it is passed from thing to thing as it can, which makes it blazing fast (at work we have a few *thousand* javascript files totaling a few megs, it compiles it all in <4s flat. Compared to one of the Elm apps, which elm takes over 40s to compile, which the elm source totals 290KB. So Brunch can do all the elm and javascript simultaneously before bringing them all together, optimizing them, minifying, closure-compiling, etc..., whenever elm finishes that is. ^.^
But yep, there are plugins for about anything for brunch, and dead simple to make your own as I've done. You define a configuration for the plugins you use, there is no imperative declaration like grunt or so, just configuration, which makes it very simple. I highly recommend brunch.
Brunch is also the distributed javascript asset build system for the Phoenix web server library as well, which is the fastest growing server out right now, of which they chose brunch for the reason of its fast compilation time so it can re-serve pages on the fly as files are edited.
Brunch plugins include not just compiling plugins but also has a web server plugin, where you can see file changes on the fly, a diff pusher, which sends updates to the files (css/javascript/whatever) to the embedded webserver plugin without needing a page reload, etc...