From 32d9292a836b7f8548d4d9d7adf583f3887a3746 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Mon, 31 Jul 2017 12:51:25 -0700 Subject: [PATCH] Generate diagnostics without a leading comma, retain old spaces (#17534) * Generate diagnostics without a leading comma, reatain space * Add small assertion that we generate valid json --- scripts/processDiagnosticMessages.ts | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/scripts/processDiagnosticMessages.ts b/scripts/processDiagnosticMessages.ts index a7f7cdf586b..ff4047d310d 100644 --- a/scripts/processDiagnosticMessages.ts +++ b/scripts/processDiagnosticMessages.ts @@ -76,20 +76,16 @@ function buildInfoFileOutput(messageTable: InputDiagnosticMessageTable): string function buildDiagnosticMessageOutput(messageTable: InputDiagnosticMessageTable): string { let result = '{'; - let first = true; messageTable.forEach(({ code }, name) => { - if (!first) { - first = false; - } - else { - result += ','; - } - const propName = convertPropertyName(name); - result += `\r\n "${createKey(propName, code)}": "${name.replace(/[\"]/g, '\\"')}"`; + result += `\r\n "${createKey(propName, code)}" : "${name.replace(/[\"]/g, '\\"')}",`; }); - result += '\r\n}'; + // Shave trailing comma, then add newline and ending brace + result = result.slice(0, result.length - 1) + '\r\n}'; + + // Assert that we generated valid JSON + JSON.parse(result); return result; }