Everything that needs to be computed, can be streamed. I agree that some complex tools would be way more complicated to implement with a streamable interface.

But many plugins in a task chain aren't that complex. I will have a look to the most common gulp plugins, it will not take too much time to convert plugins like gulp-concat, gulp-header etc... to streams.

In fact, there are so many node modules using streams for so many different things (templating, markdown, sax/xml/xsl etc...) that it would be a shame to not take advantage of them for a library entitled "The streaming build system".

To be honest, this is why i went to Gulp at first and i were surprised to see that buffers were the default and that many plugins weren't using streams.

Actually, this implementation is realistic, it allows using buffers, but not at the cost of abandoning streaming benefits.