From abc230195c5d708015383967a27a4aaed2872872 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Tue, 10 Nov 2015 12:12:14 -0800 Subject: [PATCH 1/2] Add handling for json parse errors --- src/compiler/tsc.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/compiler/tsc.ts b/src/compiler/tsc.ts index 79158cf4e9d..474d7212070 100644 --- a/src/compiler/tsc.ts +++ b/src/compiler/tsc.ts @@ -349,6 +349,11 @@ namespace ts { const result = parseConfigFileTextToJson(configFileName, cachedConfigFileText); const configObject = result.config; + if (!configObject) { + reportDiagnostics([result.error], /* compilerHost */ undefined); + sys.exit(ExitStatus.DiagnosticsPresent_OutputsSkipped); + return; + } const configParseResult = parseJsonConfigFileContent(configObject, sys, getDirectoryPath(configFileName)); if (configParseResult.errors.length > 0) { reportDiagnostics(configParseResult.errors, /* compilerHost */ undefined); From 00130f1a68011ae59fb61e2f70897d48ec100b47 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Tue, 10 Nov 2015 13:20:28 -0800 Subject: [PATCH 2/2] Handle when using -p and config file not found --- src/compiler/tsc.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/compiler/tsc.ts b/src/compiler/tsc.ts index 474d7212070..f560a15dfb9 100644 --- a/src/compiler/tsc.ts +++ b/src/compiler/tsc.ts @@ -346,6 +346,12 @@ namespace ts { return; } } + if (!cachedConfigFileText) { + const error = createCompilerDiagnostic(Diagnostics.File_0_not_found, configFileName); + reportDiagnostics([error], /* compilerHost */ undefined); + sys.exit(ExitStatus.DiagnosticsPresent_OutputsSkipped); + return; + } const result = parseConfigFileTextToJson(configFileName, cachedConfigFileText); const configObject = result.config;