diff --git a/lib/lib.es5.d.ts b/lib/lib.es5.d.ts index d1a9d6f0d2afe..3c96997538d20 100644 --- a/lib/lib.es5.d.ts +++ b/lib/lib.es5.d.ts @@ -1039,6 +1039,11 @@ interface URIErrorConstructor { declare const URIError: URIErrorConstructor; +type JSONPrimitive = string | number | boolean | null; +type JSONValue = JSONPrimitive | JSONObject | JSONArray; +type JSONObject = { [member: string]: JSONValue }; +interface JSONArray extends Array {} + interface JSON { /** * Converts a JavaScript Object Notation (JSON) string into an object. @@ -1046,7 +1051,7 @@ interface JSON { * @param reviver A function that transforms the results. This function is called for each member of the object. * If a member contains nested objects, the nested objects are transformed before the parent object is. */ - parse(text: string, reviver?: (key: any, value: any) => any): any; + parse(text: string, reviver?: (key: any, value: any) => any): JSONValue; /** * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. * @param value A JavaScript value, usually an object or array, to be converted. diff --git a/scripts/configurePrerelease.ts b/scripts/configurePrerelease.ts index 93bcc004deab6..111be6b2e66bd 100644 --- a/scripts/configurePrerelease.ts +++ b/scripts/configurePrerelease.ts @@ -28,7 +28,7 @@ function main(): void { // Acquire the version from the package.json file and modify it appropriately. const packageJsonFilePath = normalize(args[1]); - const packageJsonValue: PackageJson = JSON.parse(readFileSync(packageJsonFilePath).toString()); + const packageJsonValue = JSON.parse(readFileSync(packageJsonFilePath).toString()) as PackageJson; const { majorMinor, patch } = parsePackageJsonVersion(packageJsonValue.version); const prereleasePatch = getPrereleasePatch(tag, patch); diff --git a/scripts/generateLocalizedDiagnosticMessages.ts b/scripts/generateLocalizedDiagnosticMessages.ts index 09d117d533ba4..d94fdb815562d 100644 --- a/scripts/generateLocalizedDiagnosticMessages.ts +++ b/scripts/generateLocalizedDiagnosticMessages.ts @@ -136,7 +136,7 @@ function main(): void { writeFile( path.join(outputPath, "enu", "diagnosticMessages.generated.json.lcg"), getLCGFileXML( - objectToList(JSON.parse(data.toString())) + objectToList(JSON.parse(data.toString()) as Record) .sort((a, b) => a.key > b.key ? 1 : -1) // lcg sorted by property keys .reduce((s, { key, value }) => s + getItemXML(key, value), "") )); diff --git a/scripts/processDiagnosticMessages.ts b/scripts/processDiagnosticMessages.ts index f296a62de78ed..82a8fe5935742 100644 --- a/scripts/processDiagnosticMessages.ts +++ b/scripts/processDiagnosticMessages.ts @@ -27,7 +27,7 @@ function main(): void { console.log(`Reading diagnostics from ${inputFilePath}`); const inputStr = fs.readFileSync(inputFilePath, { encoding: "utf-8" }); - const diagnosticMessagesJson: { [key: string]: DiagnosticDetails } = JSON.parse(inputStr); + const diagnosticMessagesJson = JSON.parse(inputStr) as { [key: string]: DiagnosticDetails }; const diagnosticMessages: InputDiagnosticMessageTable = new Map(); for (const key in diagnosticMessagesJson) {