Some of my Make build systems have gotten a bit unwieldy so recently I have been looking at using Ninja and ninja-build-gen from npm. This way I can still write my configure and my build tasks in JS/CoffeeScript and get to use a modern less cluttered version of Make that will scale well with the project.
Your perspective rings to me like "There's plenty of technical literature in Mandarin; learning English just to ...." Not wrong, per se. But profoundly limiting, and to an extent you won't comprehend until you've crossed that knowledge barrier.
Elswhere in this comment stream someone talks about the 'innovation' of incremental builds in the JS build tool landscape... I think you might find that Make discovered, and solved, most of the build-system challenges the language-specific tools will encounter, decades ago.
Hermetic and 100% Reproducible builds. Sadly most of the Make replacements still haven't really solved that one either so your point still stands in a way.
Regarding your popularity argument: amongst other JS developers you'd get more network effect from gulp. If your backend is, say, Python or Ruby learning automake wouldn't help you there either.
The beauty of Make is that it doesn't care what languages the scripts are written that it's running.
In my JS projects I typically have Makefiles that use a combination of: JS, bash and Python
If you compile NodeJS from source, guess what command you have to type in...
I feel being more open minded in terms of programing languages will make you a better and more powerful programmer.
Anything extra was very easily managed by some simple Makefiles.
It didn't just eliminate the use of gulp for much things, but also minimized the boilerplate I needed to get this stuff done in gulp.
Everything is just a "loader" away and doesn't need much configuration.
I even got rid of Bower for most libraries.
I'm trying to work out how I can replace Rails' asset pipeline without getting a headache caused by overwhelming number of node-based tools I'd have to install.
Having one tool + make sounds like something I'd gladly adopt.
Takes no time at all and there is no interface that can break like in gulp or grunt
Or I can create a couple gulp tasks (which honestly, is easy as heck) then a watcher using livereload, and run `gulp watch` then just be done with it.