From 50cc1d0e9777f3f76f460c24feb139ca695ff506 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Wed, 16 Sep 2020 11:48:21 -0700 Subject: [PATCH] Update to use TS 4.1 for building VS Code --- build/package.json | 2 +- build/yarn.lock | 8 ++++---- extensions/git/src/git.ts | 2 +- extensions/git/src/util.ts | 2 +- extensions/github-authentication/src/common/utils.ts | 2 +- extensions/merge-conflict/src/delayer.ts | 6 +++--- .../php-language-features/src/features/utils/async.ts | 6 +++--- .../src/languageFeatures/fixAll.ts | 2 +- .../src/languageFeatures/semanticTokens.ts | 2 +- .../src/test/referencesCodeLens.test.ts | 2 +- .../typescript-language-features/src/test/testUtils.ts | 4 ++-- .../typescript-language-features/src/tsServer/server.ts | 2 +- .../src/typescriptServiceClient.ts | 2 +- .../typescript-language-features/src/utils/async.ts | 6 +++--- .../src/utils/typingsStatus.ts | 2 +- .../src/singlefolder-tests/workspace.test.ts | 2 +- package.json | 2 +- src/vs/monaco.d.ts | 2 +- .../platform/contextkey/test/browser/contextkey.test.ts | 2 +- src/vs/workbench/browser/dnd.ts | 2 +- src/vs/workbench/contrib/debug/browser/rawDebugSession.ts | 2 +- yarn.lock | 8 ++++---- 22 files changed, 35 insertions(+), 35 deletions(-) diff --git a/build/package.json b/build/package.json index e185594554b..73c7d0a7dae 100644 --- a/build/package.json +++ b/build/package.json @@ -45,7 +45,7 @@ "minimist": "^1.2.3", "request": "^2.85.0", "terser": "4.3.8", - "typescript": "^4.1.0-dev.20200824", + "typescript": "^4.1.0-dev.20200916", "vsce": "1.48.0", "vscode-telemetry-extractor": "^1.6.0", "xml2js": "^0.4.17" diff --git a/build/yarn.lock b/build/yarn.lock index 01ebd186c4c..236831e9561 100644 --- a/build/yarn.lock +++ b/build/yarn.lock @@ -2535,10 +2535,10 @@ typescript@^3.0.1: resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.3.tgz#c830f657f93f1ea846819e929092f5fe5983e977" integrity sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g== -typescript@^4.1.0-dev.20200824: - version "4.1.0-dev.20200824" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.0-dev.20200824.tgz#34c92d9b6e5124600658c0d4e9b8c125beaf577d" - integrity sha512-hTJfocmebnMKoqRw/xs3bL61z87XXtvOUwYtM7zaCX9mAvnfdo1x1bzQlLZAsvdzRIgAHPJQYbqYHKygWkDw6g== +typescript@^4.1.0-dev.20200916: + version "4.1.0-dev.20200916" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.0-dev.20200916.tgz#b2c803a39d9335086033009903b03e7e53e39223" + integrity sha512-ly2k/AZ3AyfIyLWhBSnW3x7aDufIS9uNRagFZin36jXb6DvZEZwtyx138u8iSvtKE1AV/VNyWLLBkZYojgBM1g== typical@^4.0.0: version "4.0.0" diff --git a/extensions/git/src/git.ts b/extensions/git/src/git.ts index 2383e5cb401..84b0eb1e0a5 100644 --- a/extensions/git/src/git.ts +++ b/extensions/git/src/git.ts @@ -445,7 +445,7 @@ export class Git { const [, letter] = match; try { - const networkPath = await new Promise(resolve => + const networkPath = await new Promise(resolve => realpath.native(`${letter}:`, { encoding: 'utf8' }, (err, resolvedPath) => resolve(err !== null ? undefined : resolvedPath), ), diff --git a/extensions/git/src/util.ts b/extensions/git/src/util.ts index bc73567dc75..89c7cbe688b 100644 --- a/extensions/git/src/util.ts +++ b/extensions/git/src/util.ts @@ -336,7 +336,7 @@ export function* splitInChunks(array: string[], maxChunkLength: number): Iterabl interface ILimitedTaskFactory { factory: () => Promise; - c: (value?: T | Promise) => void; + c: (value: T | Promise) => void; e: (error?: any) => void; } diff --git a/extensions/github-authentication/src/common/utils.ts b/extensions/github-authentication/src/common/utils.ts index 6b18a9221db..b6fc3361315 100644 --- a/extensions/github-authentication/src/common/utils.ts +++ b/extensions/github-authentication/src/common/utils.ts @@ -25,7 +25,7 @@ export interface PromiseAdapter { ( value: T, resolve: - (value?: U | PromiseLike) => void, + (value: U | PromiseLike) => void, reject: (reason: any) => void ): any; diff --git a/extensions/merge-conflict/src/delayer.ts b/extensions/merge-conflict/src/delayer.ts index 3b8f8e01c51..e4ef18e09c9 100644 --- a/extensions/merge-conflict/src/delayer.ts +++ b/extensions/merge-conflict/src/delayer.ts @@ -12,7 +12,7 @@ export class Delayer { public defaultDelay: number; private timeout: any; // Timer private completionPromise: Promise | null; - private onSuccess: ((value?: T | Thenable | undefined) => void) | null; + private onSuccess: ((value: T | PromiseLike | undefined) => void) | null; private task: ITask | null; constructor(defaultDelay: number) { @@ -30,7 +30,7 @@ export class Delayer { } if (!this.completionPromise) { - this.completionPromise = new Promise((resolve) => { + this.completionPromise = new Promise((resolve) => { this.onSuccess = resolve; }).then(() => { this.completionPromise = null; @@ -76,4 +76,4 @@ export class Delayer { this.timeout = null; } } -} \ No newline at end of file +} diff --git a/extensions/php-language-features/src/features/utils/async.ts b/extensions/php-language-features/src/features/utils/async.ts index f590e7d0014..866118beac0 100644 --- a/extensions/php-language-features/src/features/utils/async.ts +++ b/extensions/php-language-features/src/features/utils/async.ts @@ -105,7 +105,7 @@ export class Delayer { public defaultDelay: number; private timeout: NodeJS.Timer | null; private completionPromise: Promise | null; - private onResolve: ((value: T | Thenable | undefined) => void) | null; + private onResolve: ((value: T | PromiseLike | undefined) => void) | null; private task: ITask | null; constructor(defaultDelay: number) { @@ -121,7 +121,7 @@ export class Delayer { this.cancelTimeout(); if (!this.completionPromise) { - this.completionPromise = new Promise((resolve) => { + this.completionPromise = new Promise((resolve) => { this.onResolve = resolve; }).then(() => { this.completionPromise = null; @@ -182,4 +182,4 @@ export class ThrottledDelayer extends Delayer> { public trigger(promiseFactory: ITask>, delay?: number): Promise> { return super.trigger(() => this.throttler.queue(promiseFactory), delay); } -} \ No newline at end of file +} diff --git a/extensions/typescript-language-features/src/languageFeatures/fixAll.ts b/extensions/typescript-language-features/src/languageFeatures/fixAll.ts index 6a43c535a8b..426a0e4636b 100644 --- a/extensions/typescript-language-features/src/languageFeatures/fixAll.ts +++ b/extensions/typescript-language-features/src/languageFeatures/fixAll.ts @@ -120,7 +120,7 @@ async function buildCombinedFix( // #region Source Actions abstract class SourceAction extends vscode.CodeAction { - abstract async build( + abstract build( client: ITypeScriptServiceClient, file: string, diagnostics: readonly vscode.Diagnostic[], diff --git a/extensions/typescript-language-features/src/languageFeatures/semanticTokens.ts b/extensions/typescript-language-features/src/languageFeatures/semanticTokens.ts index c404ac0b95a..3c2dd7a6458 100644 --- a/extensions/typescript-language-features/src/languageFeatures/semanticTokens.ts +++ b/extensions/typescript-language-features/src/languageFeatures/semanticTokens.ts @@ -134,7 +134,7 @@ class DocumentSemanticTokensProvider implements vscode.DocumentSemanticTokensPro function waitForDocumentChangesToEnd(document: vscode.TextDocument) { let version = document.version; - return new Promise((s) => { + return new Promise((s) => { let iv = setInterval(_ => { if (document.version === version) { clearInterval(iv); diff --git a/extensions/typescript-language-features/src/test/referencesCodeLens.test.ts b/extensions/typescript-language-features/src/test/referencesCodeLens.test.ts index f40edb2ca5d..f848d0f4d03 100644 --- a/extensions/typescript-language-features/src/test/referencesCodeLens.test.ts +++ b/extensions/typescript-language-features/src/test/referencesCodeLens.test.ts @@ -17,7 +17,7 @@ async function updateConfig(newConfig: VsCodeConfiguration): Promise + await new Promise((resolve, reject) => config.update(configKey, newConfig[configKey], vscode.ConfigurationTarget.Global) .then(() => resolve(), reject)); } diff --git a/extensions/typescript-language-features/src/test/testUtils.ts b/extensions/typescript-language-features/src/test/testUtils.ts index ea5e41a26a8..c0ba9a47730 100644 --- a/extensions/typescript-language-features/src/test/testUtils.ts +++ b/extensions/typescript-language-features/src/test/testUtils.ts @@ -68,7 +68,7 @@ export function withRandomFileEditor( }); } -export const wait = (ms: number) => new Promise(resolve => setTimeout(() => resolve(), ms)); +export const wait = (ms: number) => new Promise(resolve => setTimeout(() => resolve(), ms)); export const joinLines = (...args: string[]) => args.join(os.platform() === 'win32' ? '\r\n' : '\n'); @@ -105,7 +105,7 @@ export async function updateConfig(documentUri: vscode.Uri, newConfig: VsCodeCon for (const configKey of Object.keys(newConfig)) { oldConfig[configKey] = config.get(configKey); - await new Promise((resolve, reject) => + await new Promise((resolve, reject) => config.update(configKey, newConfig[configKey], vscode.ConfigurationTarget.Global) .then(() => resolve(), reject)); } diff --git a/extensions/typescript-language-features/src/tsServer/server.ts b/extensions/typescript-language-features/src/tsServer/server.ts index fe8671ab906..d6294f2512d 100644 --- a/extensions/typescript-language-features/src/tsServer/server.ts +++ b/extensions/typescript-language-features/src/tsServer/server.ts @@ -215,7 +215,7 @@ export class ProcessBasedTsServer extends Disposable implements ITypeScriptServe let result: Promise> | undefined; if (executeInfo.expectsResult) { result = new Promise>((resolve, reject) => { - this._callbacks.add(request.seq, { onSuccess: resolve, onError: reject, queuingStartTime: Date.now(), isAsync: executeInfo.isAsync }, executeInfo.isAsync); + this._callbacks.add(request.seq, { onSuccess: resolve as () => ServerResponse.Response | undefined, onError: reject, queuingStartTime: Date.now(), isAsync: executeInfo.isAsync }, executeInfo.isAsync); if (executeInfo.token) { executeInfo.token.onCancellationRequested(() => { diff --git a/extensions/typescript-language-features/src/typescriptServiceClient.ts b/extensions/typescript-language-features/src/typescriptServiceClient.ts index c068f94189b..530e79c7fbd 100644 --- a/extensions/typescript-language-features/src/typescriptServiceClient.ts +++ b/extensions/typescript-language-features/src/typescriptServiceClient.ts @@ -1028,7 +1028,7 @@ class ServerInitializingIndicator extends Disposable { vscode.window.withProgress({ location: vscode.ProgressLocation.Window, title: localize('serverLoading.progress', "Initializing JS/TS language features"), - }, () => new Promise((resolve, reject) => { + }, () => new Promise((resolve, reject) => { this._task = { project: projectName, resolve, reject }; })); } diff --git a/extensions/typescript-language-features/src/utils/async.ts b/extensions/typescript-language-features/src/utils/async.ts index 069b0bffd57..a43cd07cbb4 100644 --- a/extensions/typescript-language-features/src/utils/async.ts +++ b/extensions/typescript-language-features/src/utils/async.ts @@ -12,7 +12,7 @@ export class Delayer { public defaultDelay: number; private timeout: any; // Timer private completionPromise: Promise | null; - private onSuccess: ((value?: T | Thenable) => void) | null; + private onSuccess: ((value: T | PromiseLike | undefined) => void) | null; private task: ITask | null; constructor(defaultDelay: number) { @@ -30,7 +30,7 @@ export class Delayer { } if (!this.completionPromise) { - this.completionPromise = new Promise((resolve) => { + this.completionPromise = new Promise((resolve) => { this.onSuccess = resolve; }).then(() => { this.completionPromise = null; @@ -59,4 +59,4 @@ export class Delayer { this.timeout = null; } } -} \ No newline at end of file +} diff --git a/extensions/typescript-language-features/src/utils/typingsStatus.ts b/extensions/typescript-language-features/src/utils/typingsStatus.ts index 6106fa812eb..efb9a540e04 100644 --- a/extensions/typescript-language-features/src/utils/typingsStatus.ts +++ b/extensions/typescript-language-features/src/utils/typingsStatus.ts @@ -75,7 +75,7 @@ export class AtaProgressReporter extends Disposable { private _onBegin(eventId: number): void { const handle = setTimeout(() => this._onEndOrTimeout(eventId), typingsInstallTimeout); - const promise = new Promise(resolve => { + const promise = new Promise(resolve => { this._promises.set(eventId, () => { clearTimeout(handle); resolve(); diff --git a/extensions/vscode-api-tests/src/singlefolder-tests/workspace.test.ts b/extensions/vscode-api-tests/src/singlefolder-tests/workspace.test.ts index 6e1034001f4..90f1205cee9 100644 --- a/extensions/vscode-api-tests/src/singlefolder-tests/workspace.test.ts +++ b/extensions/vscode-api-tests/src/singlefolder-tests/workspace.test.ts @@ -536,7 +536,7 @@ suite('vscode API - workspace', () => { assert.equal(callCount, 1); assert.equal(doc.getText(), 'call0'); - return new Promise(resolve => { + return new Promise(resolve => { let subscription = vscode.workspace.onDidChangeTextDocument(event => { assert.ok(event.document === doc); diff --git a/package.json b/package.json index 5a7af88a53c..c53aa7e6efd 100644 --- a/package.json +++ b/package.json @@ -166,7 +166,7 @@ "style-loader": "^1.0.0", "ts-loader": "^4.4.2", "tsec": "googleinterns/tsec", - "typescript": "^4.1.0-dev.20200824", + "typescript": "^4.1.0-dev.20200916", "typescript-formatter": "7.1.0", "underscore": "^1.8.2", "vinyl": "^2.0.0", diff --git a/src/vs/monaco.d.ts b/src/vs/monaco.d.ts index 3038f9b40f1..1e433773380 100644 --- a/src/vs/monaco.d.ts +++ b/src/vs/monaco.d.ts @@ -4075,7 +4075,7 @@ declare namespace monaco.editor { suggestOnTriggerCharacters: IEditorOption; suggestSelection: IEditorOption; tabCompletion: IEditorOption; - unusualLineTerminators: IEditorOption; + unusualLineTerminators: IEditorOption; useTabStops: IEditorOption; wordSeparators: IEditorOption; wordWrap: IEditorOption; diff --git a/src/vs/platform/contextkey/test/browser/contextkey.test.ts b/src/vs/platform/contextkey/test/browser/contextkey.test.ts index beba468b7f1..d436b6cdf12 100644 --- a/src/vs/platform/contextkey/test/browser/contextkey.test.ts +++ b/src/vs/platform/contextkey/test/browser/contextkey.test.ts @@ -23,7 +23,7 @@ suite('ContextKeyService', () => { let complete: () => void; let reject: (err: Error) => void; - const p = new Promise((_complete, _reject) => { + const p = new Promise((_complete, _reject) => { complete = _complete; reject = _reject; }); diff --git a/src/vs/workbench/browser/dnd.ts b/src/vs/workbench/browser/dnd.ts index c691b360893..f6072200140 100644 --- a/src/vs/workbench/browser/dnd.ts +++ b/src/vs/workbench/browser/dnd.ts @@ -745,7 +745,7 @@ export class CompositeDragAndDropObserver extends Disposable { } } -export function toggleDropEffect(dataTransfer: DataTransfer | null, dropEffect: string, shouldHaveIt: boolean) { +export function toggleDropEffect(dataTransfer: DataTransfer | null, dropEffect: 'none' | 'copy' | 'link' | 'move', shouldHaveIt: boolean) { if (!dataTransfer) { return; } diff --git a/src/vs/workbench/contrib/debug/browser/rawDebugSession.ts b/src/vs/workbench/contrib/debug/browser/rawDebugSession.ts index deece49a00e..dbca94706fe 100644 --- a/src/vs/workbench/contrib/debug/browser/rawDebugSession.ts +++ b/src/vs/workbench/contrib/debug/browser/rawDebugSession.ts @@ -624,7 +624,7 @@ export class RawDebugSession implements IDisposable { } private send(command: string, args: any, token?: CancellationToken, timeout?: number): Promise { - return new Promise((completeDispatch, errorDispatch) => { + return new Promise((completeDispatch, errorDispatch) => { if (!this.debugAdapter) { if (this.inShutdown) { // We are in shutdown silently complete diff --git a/yarn.lock b/yarn.lock index ffe4436bb5e..95ec3d5eee7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9280,10 +9280,10 @@ typescript@^2.6.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.2.tgz#3c5b6fd7f6de0914269027f03c0946758f7673a4" integrity sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q= -typescript@^4.1.0-dev.20200824: - version "4.1.0-dev.20200824" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.0-dev.20200824.tgz#34c92d9b6e5124600658c0d4e9b8c125beaf577d" - integrity sha512-hTJfocmebnMKoqRw/xs3bL61z87XXtvOUwYtM7zaCX9mAvnfdo1x1bzQlLZAsvdzRIgAHPJQYbqYHKygWkDw6g== +typescript@^4.1.0-dev.20200916: + version "4.1.0-dev.20200916" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.0-dev.20200916.tgz#b2c803a39d9335086033009903b03e7e53e39223" + integrity sha512-ly2k/AZ3AyfIyLWhBSnW3x7aDufIS9uNRagFZin36jXb6DvZEZwtyx138u8iSvtKE1AV/VNyWLLBkZYojgBM1g== uc.micro@^1.0.1, uc.micro@^1.0.3: version "1.0.3"