From d438a6d259f79d1dd98d50ada01debbe24ca5a29 Mon Sep 17 00:00:00 2001 From: Kitson Kelly Date: Sun, 2 Jun 2019 01:13:36 +1000 Subject: [PATCH] Upgrade TypeScript to 3.5.1 (#2437) --- js/assets.ts | 8 ++++++++ js/compiler.ts | 1 - js/console.ts | 3 ++- js/unit_test_runner.ts | 12 +++++++++--- js/url.ts | 5 +++-- package.json | 2 +- third_party | 2 +- tools/ts_library_builder/build_library.ts | 10 ---------- tools/ts_library_builder/test.ts | 13 ++++++------- 9 files changed, 30 insertions(+), 26 deletions(-) diff --git a/js/assets.ts b/js/assets.ts index b3a6e00dbe..89ca7ac865 100644 --- a/js/assets.ts +++ b/js/assets.ts @@ -34,8 +34,12 @@ import libEs2018PromiseDts from "/third_party/node_modules/typescript/lib/lib.es import libEs2018RegexpDts from "/third_party/node_modules/typescript/lib/lib.es2018.regexp.d.ts!string"; import libEs2019Dts from "/third_party/node_modules/typescript/lib/lib.es2019.d.ts!string"; import libEs2019ArrayDts from "/third_party/node_modules/typescript/lib/lib.es2019.array.d.ts!string"; +import libEs2019ObjectDts from "/third_party/node_modules/typescript/lib/lib.es2019.object.d.ts!string"; import libEs2019StringDts from "/third_party/node_modules/typescript/lib/lib.es2019.string.d.ts!string"; import libEs2019SymbolDts from "/third_party/node_modules/typescript/lib/lib.es2019.symbol.d.ts!string"; +import libEs2020Dts from "/third_party/node_modules/typescript/lib/lib.es2020.d.ts!string"; +import libEs2020String from "/third_party/node_modules/typescript/lib/lib.es2020.string.d.ts!string"; +import libEs2020SymbolWellknownDts from "/third_party/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts!string"; import libEs5Dts from "/third_party/node_modules/typescript/lib/lib.es5.d.ts!string"; import libEsnextArrayDts from "/third_party/node_modules/typescript/lib/lib.esnext.array.d.ts!string"; import libEsnextAsynciterablesDts from "/third_party/node_modules/typescript/lib/lib.esnext.asynciterable.d.ts!string"; @@ -71,8 +75,12 @@ const defaultAssets: { [key: string]: string } = { "lib.es2018.regexp.d.ts": libEs2018RegexpDts, "lib.es2019.d.ts": libEs2019Dts, "lib.es2019.array.d.ts": libEs2019ArrayDts, + "lib.es2019.object.d.ts": libEs2019ObjectDts, "lib.es2019.string.d.ts": libEs2019StringDts, "lib.es2019.symbol.d.ts": libEs2019SymbolDts, + "lib.es2020.d.ts": libEs2020Dts, + "lib.es2020.string.d.ts": libEs2020String, + "lib.es2020.symbol.wellknown.d.ts": libEs2020SymbolWellknownDts, "lib.es5.d.ts": libEs5Dts, "lib.esnext.d.ts": libEsnextDts, "lib.esnext.array.d.ts": libEsnextArrayDts, diff --git a/js/compiler.ts b/js/compiler.ts index 928fa09d80..fed592fa00 100644 --- a/js/compiler.ts +++ b/js/compiler.ts @@ -389,7 +389,6 @@ window.compilerMain = function compilerMain(): void { .concat(emitResult.diagnostics) .filter( ({ code }): boolean => { - if (code === 2649) return false; // TS2691: An import path cannot end with a '.ts' extension. Consider // importing 'bad-module' instead. if (code === 2691) return false; diff --git a/js/console.ts b/js/console.ts index 9b38e1b494..1a963558aa 100644 --- a/js/console.ts +++ b/js/console.ts @@ -612,7 +612,8 @@ export class Console { stringifyValue(value) ]; - let resultData: { [key: string]: unknown }; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + let resultData: any; const isSet = data instanceof Set; const isMap = data instanceof Map; const valuesKey = "Values"; diff --git a/js/unit_test_runner.ts b/js/unit_test_runner.ts index 7810e3f456..3a34df7421 100755 --- a/js/unit_test_runner.ts +++ b/js/unit_test_runner.ts @@ -3,6 +3,12 @@ import "./unit_tests.ts"; import { permissionCombinations, parseUnitTestOutput } from "./test_util.ts"; +interface TestResult { + perms: string; + output: string; + result: number; +} + function permsToCliFlags(perms: Deno.Permissions): string[] { return Object.keys(perms) .map( @@ -39,7 +45,7 @@ async function main(): Promise { console.log("\t" + fmtPerms(perms)); } - const testResults = new Set(); + const testResults = new Set(); for (const perms of permissionCombinations.values()) { const permsFmt = fmtPerms(perms); @@ -84,10 +90,10 @@ async function main(): Promise { // run should fail let testsFailed = false; - for (const testResult of testResults.values()) { + for (const testResult of testResults) { console.log(`Summary for ${testResult.perms}`); console.log(testResult.output + "\n"); - testsFailed = testsFailed || testResult.result; + testsFailed = testsFailed || Boolean(testResult.result); } if (testsFailed) { diff --git a/js/url.ts b/js/url.ts index 5badaa6ea1..8701f19304 100644 --- a/js/url.ts +++ b/js/url.ts @@ -71,12 +71,13 @@ export class URL { const searchParams = new urlSearchParams.URLSearchParams(this.search); for (const methodName of searchParamsMethods) { - // eslint-disable-next-line @typescript-eslint/no-explicit-any + /* eslint-disable @typescript-eslint/no-explicit-any */ const method: (...args: any[]) => any = searchParams[methodName]; - searchParams[methodName] = (...args: unknown[]): void => { + searchParams[methodName] = (...args: unknown[]): any => { method.apply(searchParams, args); this.search = searchParams.toString(); }; + /* eslint-enable */ } this._searchParams = searchParams; } diff --git a/package.json b/package.json index ee13234b11..7ac0274477 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,6 @@ "rollup-pluginutils": "2.4.1", "ts-morph": "1.3.0", "ts-node": "8.0.2", - "typescript": "3.4.1" + "typescript": "3.5.1" } } diff --git a/third_party b/third_party index 7ad9fa3dac..0761d3cee6 160000 --- a/third_party +++ b/third_party @@ -1 +1 @@ -Subproject commit 7ad9fa3dac6d1bc64a242902f7d10357d3c97647 +Subproject commit 0761d3cee6dd43c38f676268b496a37527fc9bae diff --git a/tools/ts_library_builder/build_library.ts b/tools/ts_library_builder/build_library.ts index 22268f1dc5..678a603ae6 100644 --- a/tools/ts_library_builder/build_library.ts +++ b/tools/ts_library_builder/build_library.ts @@ -210,16 +210,6 @@ export function prepareFileForMerge({ true ); - // `globalThis` accesses the global scope and is defined here: - // https://github.com/tc39/proposal-global - addVariableDeclaration( - targetSourceFile, - "globalThis", - interfaceName, - true, - true - ); - // Add self reference to the global variable addInterfaceProperty(interfaceDeclaration, globalVarName, interfaceName); diff --git a/tools/ts_library_builder/test.ts b/tools/ts_library_builder/test.ts index 2b6abe7144..d5f9de6465 100644 --- a/tools/ts_library_builder/test.ts +++ b/tools/ts_library_builder/test.ts @@ -173,25 +173,24 @@ function buildLibraryMerge(): void { assert.equal(targetSourceFile.getInterfaces().length, 2); const variableDeclarations = targetSourceFile.getVariableDeclarations(); assert.equal(variableDeclarations[0].getType().getText(), `FooBar`); - assert.equal(variableDeclarations[1].getType().getText(), `FooBar`); - assert.equal(variableDeclarations[2].getType().getText(), `moduleC.Bar`); + assert.equal(variableDeclarations[1].getType().getText(), `moduleC.Bar`); assert.equal( - variableDeclarations[3].getType().getText(), + variableDeclarations[2].getType().getText(), `typeof moduleC.qat` ); assert.equal( - variableDeclarations[4].getType().getText(), + variableDeclarations[3].getType().getText(), `typeof moduleE.process` ); assert.equal( - variableDeclarations[5].getType().getText(), + variableDeclarations[4].getType().getText(), `typeof moduleD.reprocess` ); assert.equal( - variableDeclarations[6].getType().getText(), + variableDeclarations[5].getType().getText(), `typeof moduleC.Bar` ); - assert.equal(variableDeclarations.length, 7); + assert.equal(variableDeclarations.length, 6); const typeAliases = targetSourceFile.getTypeAliases(); assert.equal(typeAliases[0].getName(), "Bar"); assert.equal(typeAliases[0].getType().getText(), "moduleC.Bar");