From 661294e2c0319d41baaced48bf013d0f74c443ed Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Sat, 10 Sep 2016 19:01:00 +0100 Subject: [PATCH] Break out warning checking into isValidError --- src/app/compiler.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/app/compiler.js b/src/app/compiler.js index 6a02b4dab7..5ad6c71fc8 100644 --- a/src/app/compiler.js +++ b/src/app/compiler.js @@ -83,22 +83,34 @@ function Compiler (editor, queryParams, handleGithubCall, updateFiles) { function compilationFinished (data, missingInputs, source) { var noFatalErrors = true; // ie warnings are ok + function isValidError (error) { + // The deferred import is not a real error + // FIXME: maybe have a better check? + if (/Deferred import/.exec(error)) { + return false; + } + + return utils.errortype(error) !== 'warning'; + } + if (data['error'] !== undefined) { // Ignore warnings (and the 'Deferred import' error as those are generated by us as a workaround - if (utils.errortype(data['error']) !== 'warning' && /Deferred import/.exec(data['error']) === null) { + if (isValidError(data['error'])) { noFatalErrors = false; } } if (data['errors'] !== undefined) { data['errors'].forEach(function (err) { // Ignore warnings and the 'Deferred import' error as those are generated by us as a workaround - if (utils.errortype(err) !== 'warning' && /Deferred import/.exec(err) === null) { + if (isValidError(err)) { noFatalErrors = false; } }); } if (!noFatalErrors) { + // There are fatal errors - abort here + self.lastCompilationResult = null; self.event.trigger('compilationFinished', [false, data, source]); } else if (missingInputs !== undefined && missingInputs.length > 0) { compile(missingInputs);