diff --git a/lib/build/bundle.js b/lib/build/bundle.js index 6405e11c..87505c87 100644 --- a/lib/build/bundle.js +++ b/lib/build/bundle.js @@ -1,4 +1,5 @@ -var assign = require("lodash").assign; +var pump = require("pump"); +var assign = require("lodash/assign"); var minify = require("../stream/minify"); var transpile = require("../stream/transpile"); var concat = require("../bundle/concat_stream"); @@ -34,32 +35,23 @@ module.exports = function(config, options) { } }); - var graphStream = createBundleGraphStream(config, options); - var filteredGraphStream = graphStream.pipe(filterBundleGraph()); - var transpileStream = filteredGraphStream.pipe(transpile()); - var minifyStream = transpileStream.pipe(minify()); - var buildStream = minifyStream.pipe(makeBundle()); - var concatStream = buildStream.pipe(concat()); - return new Promise(function(resolve, reject) { - var writeStream = buildStream.pipe(createWriteStream()); + var writeStream = pump( + createBundleGraphStream(config, options), + filterBundleGraph(), + transpile(), + minify(), + makeBundle(), + concat(), + createWriteStream(), + function(err) { + if (err) reject(err); + } + ); writeStream.on("data", function(data){ this.end(); resolve(data); }); - - var streams = [ - graphStream, - filteredGraphStream, - transpileStream, - minifyStream, - buildStream, - concatStream - ]; - - streams.forEach(function(stream) { - stream.on("error", reject); - }); }); };