From f654c0a013ac56684d2956e3aa468fd10e7ef904 Mon Sep 17 00:00:00 2001 From: "Michael Bradley, Jr" Date: Thu, 16 Aug 2018 15:58:19 -0500 Subject: [PATCH] single webpack run --- lib/pipeline/pipeline.js | 49 ++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/lib/pipeline/pipeline.js b/lib/pipeline/pipeline.js index b8f7f234..d29531f2 100644 --- a/lib/pipeline/pipeline.js +++ b/lib/pipeline/pipeline.js @@ -85,7 +85,31 @@ class Pipeline { }); }); }, + function runWebpack(next) { + self.logger.info(__('running webpack...')); + let built = false; + const webpackProcess = new ProcessLauncher({ + modulePath: utils.joinPath(__dirname, 'webpackProcess.js'), + logger: self.logger, + events: self.events, + exitCallback: function (code) { + if (!built) { + return next(`Webpack build exited with code ${code} before the process finished`); + } + if (code) { + self.logger(__('Webpack build process exited with code ', code)); + } + } + }); webpackProcess.send({action: constants.pipeline.init, options: {webpackConfigName: self.webpackConfigName}}); + webpackProcess.send({action: constants.pipeline.build, assets: self.assetFiles, importsList}); + + webpackProcess.once('result', constants.pipeline.built, (msg) => { + built = true; + webpackProcess.kill(); + return next(msg.error); + }); + }, function assetFileWrite(next) { async.eachOf(self.assetFiles, function (files, targetFile, cb) { async.map(files, @@ -101,31 +125,6 @@ class Pipeline { // JS files async.waterfall([ - function runWebpack(next) { - let built = false; - const webpackProcess = new ProcessLauncher({ - modulePath: utils.joinPath(__dirname, 'webpackProcess.js'), - logger: self.logger, - events: self.events, - exitCallback: function (code) { - if (!built) { - return next(`File building of ${file.filename} exited with code ${code} before the process finished`); - } - if (code) { - self.logger(__('File building process exited with code ', code)); - } - } - }); - webpackProcess.send({action: constants.pipeline.init, options: {env: self.env}}); - webpackProcess.send({action: constants.pipeline.build, file, importsList}); - - webpackProcess.once('result', constants.pipeline.built, (msg) => { - built = true; - webpackProcess.kill(); - return next(msg.error); - }); - }, - function readFile(next) { fs.readFile('./.embark/' + file.filename, (err, data) => { if (err) {