From e69af1a3cd995f2548f5b1da8b56119f1a5eb5e0 Mon Sep 17 00:00:00 2001 From: Martin Probst Date: Fri, 26 Jun 2015 14:43:51 -0700 Subject: [PATCH] fix: handle errors w/o file information. TypeScript errors do not always include file information, e.g. for global errors triggered by incorrect compiler options. --- tools/broccoli/broccoli-typescript.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tools/broccoli/broccoli-typescript.ts b/tools/broccoli/broccoli-typescript.ts index 70d4433a11..7886da8e07 100644 --- a/tools/broccoli/broccoli-typescript.ts +++ b/tools/broccoli/broccoli-typescript.ts @@ -137,10 +137,13 @@ class DiffingTSCompiler implements DiffingBroccoliPlugin { let errorMessages = []; allDiagnostics.forEach(diagnostic => { - var {line, character} = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start); + var pos = ''; + if (diagnostic.file) { + var {line, character} = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start); + pos = `${diagnostic.file.fileName} (${line + 1}, ${character + 1}): ` + } var message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n'); - errorMessages.push( - ` ${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`); + errorMessages.push(` ${pos}${message}`); }); if (errorMessages.length) {