diff --git a/lib/pipeline/pipeline.js b/lib/pipeline/pipeline.js index 16d37f6ab..d86253487 100644 --- a/lib/pipeline/pipeline.js +++ b/lib/pipeline/pipeline.js @@ -101,15 +101,25 @@ 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 + 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: {}}); webpackProcess.send({action: constants.pipeline.build, file, importsList}); webpackProcess.once('result', constants.pipeline.built, (msg) => { + built = true; webpackProcess.kill(); return next(msg.error); });