diff --git a/build/lib/reporter.js b/build/lib/reporter.js index 69077e9b4a3..e02bf359558 100644 --- a/build/lib/reporter.js +++ b/build/lib/reporter.js @@ -49,5 +49,9 @@ module.exports = function () { }); }; + result.hasErrors = function() { + return errors.length > 0; + } + return result; }; \ No newline at end of file diff --git a/build/monaco/api.js b/build/monaco/api.js index 77974bcc142..97877c63803 100644 --- a/build/monaco/api.js +++ b/build/monaco/api.js @@ -340,3 +340,7 @@ function run(out) { }; } exports.run = run; +function complainErrors() { + logErr('Not running monaco.d.ts generation due to compile errors'); +} +exports.complainErrors = complainErrors; diff --git a/build/monaco/api.ts b/build/monaco/api.ts index 44e619e8588..2ca2968c6c3 100644 --- a/build/monaco/api.ts +++ b/build/monaco/api.ts @@ -399,3 +399,7 @@ export function run(out:string): IMonacoDeclarationResult { isTheSame: currentContent === result }; } + +export function complainErrors() { + logErr('Not running monaco.d.ts generation due to compile errors'); +} \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js index 3b3a997c746..cbee057d47b 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -129,6 +129,10 @@ function monacodtsTask(out, isWatch) { clearTimeout(timer); timer = -1; } + if (reporter.hasErrors()) { + monacodts.complainErrors(); + return; + } var result = monacodts.run(out); if (!result.isTheSame) { if (isWatch) { @@ -147,7 +151,7 @@ function monacodtsTask(out, isWatch) { var resultStream = es.through(function(data) { var filePath = path.normalize(data.path); - if (filesToWatchMap[filePath]) { + if (isWatch && filesToWatchMap[filePath]) { runSoon(5000); } this.emit('data', data);