Update to use TS 4.1 for building VS Code

This commit is contained in:
Matt Bierner 2020-09-16 11:48:21 -07:00
parent d1b49cd8b9
commit 50cc1d0e97
22 changed files with 35 additions and 35 deletions

View file

@ -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"

View file

@ -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"

View file

@ -445,7 +445,7 @@ export class Git {
const [, letter] = match;
try {
const networkPath = await new Promise<string>(resolve =>
const networkPath = await new Promise<string | undefined>(resolve =>
realpath.native(`${letter}:`, { encoding: 'utf8' }, (err, resolvedPath) =>
resolve(err !== null ? undefined : resolvedPath),
),

View file

@ -336,7 +336,7 @@ export function* splitInChunks(array: string[], maxChunkLength: number): Iterabl
interface ILimitedTaskFactory<T> {
factory: () => Promise<T>;
c: (value?: T | Promise<T>) => void;
c: (value: T | Promise<T>) => void;
e: (error?: any) => void;
}

View file

@ -25,7 +25,7 @@ export interface PromiseAdapter<T, U> {
(
value: T,
resolve:
(value?: U | PromiseLike<U>) => void,
(value: U | PromiseLike<U>) => void,
reject:
(reason: any) => void
): any;

View file

@ -12,7 +12,7 @@ export class Delayer<T> {
public defaultDelay: number;
private timeout: any; // Timer
private completionPromise: Promise<T> | null;
private onSuccess: ((value?: T | Thenable<T> | undefined) => void) | null;
private onSuccess: ((value: T | PromiseLike<T> | undefined) => void) | null;
private task: ITask<T> | null;
constructor(defaultDelay: number) {
@ -30,7 +30,7 @@ export class Delayer<T> {
}
if (!this.completionPromise) {
this.completionPromise = new Promise<T>((resolve) => {
this.completionPromise = new Promise<T | undefined>((resolve) => {
this.onSuccess = resolve;
}).then(() => {
this.completionPromise = null;
@ -76,4 +76,4 @@ export class Delayer<T> {
this.timeout = null;
}
}
}
}

View file

@ -105,7 +105,7 @@ export class Delayer<T> {
public defaultDelay: number;
private timeout: NodeJS.Timer | null;
private completionPromise: Promise<T> | null;
private onResolve: ((value: T | Thenable<T> | undefined) => void) | null;
private onResolve: ((value: T | PromiseLike<T> | undefined) => void) | null;
private task: ITask<T> | null;
constructor(defaultDelay: number) {
@ -121,7 +121,7 @@ export class Delayer<T> {
this.cancelTimeout();
if (!this.completionPromise) {
this.completionPromise = new Promise<T>((resolve) => {
this.completionPromise = new Promise<T | undefined>((resolve) => {
this.onResolve = resolve;
}).then(() => {
this.completionPromise = null;
@ -182,4 +182,4 @@ export class ThrottledDelayer<T> extends Delayer<Promise<T>> {
public trigger(promiseFactory: ITask<Promise<T>>, delay?: number): Promise<Promise<T>> {
return super.trigger(() => this.throttler.queue(promiseFactory), delay);
}
}
}

View file

@ -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[],

View file

@ -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<void>((s) => {
let iv = setInterval(_ => {
if (document.version === version) {
clearInterval(iv);

View file

@ -17,7 +17,7 @@ async function updateConfig(newConfig: VsCodeConfiguration): Promise<VsCodeConfi
const config = vscode.workspace.getConfiguration(undefined);
for (const configKey of Object.keys(newConfig)) {
oldConfig[configKey] = config.get(configKey);
await new Promise((resolve, reject) =>
await new Promise<void>((resolve, reject) =>
config.update(configKey, newConfig[configKey], vscode.ConfigurationTarget.Global)
.then(() => resolve(), reject));
}

View file

@ -68,7 +68,7 @@ export function withRandomFileEditor(
});
}
export const wait = (ms: number) => new Promise<undefined>(resolve => setTimeout(() => resolve(), ms));
export const wait = (ms: number) => new Promise<void>(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<void>((resolve, reject) =>
config.update(configKey, newConfig[configKey], vscode.ConfigurationTarget.Global)
.then(() => resolve(), reject));
}

View file

@ -215,7 +215,7 @@ export class ProcessBasedTsServer extends Disposable implements ITypeScriptServe
let result: Promise<ServerResponse.Response<Proto.Response>> | undefined;
if (executeInfo.expectsResult) {
result = new Promise<ServerResponse.Response<Proto.Response>>((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<Proto.Response> | undefined, onError: reject, queuingStartTime: Date.now(), isAsync: executeInfo.isAsync }, executeInfo.isAsync);
if (executeInfo.token) {
executeInfo.token.onCancellationRequested(() => {

View file

@ -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<void>((resolve, reject) => {
this._task = { project: projectName, resolve, reject };
}));
}

View file

@ -12,7 +12,7 @@ export class Delayer<T> {
public defaultDelay: number;
private timeout: any; // Timer
private completionPromise: Promise<T | null> | null;
private onSuccess: ((value?: T | Thenable<T>) => void) | null;
private onSuccess: ((value: T | PromiseLike<T> | undefined) => void) | null;
private task: ITask<T> | null;
constructor(defaultDelay: number) {
@ -30,7 +30,7 @@ export class Delayer<T> {
}
if (!this.completionPromise) {
this.completionPromise = new Promise<T>((resolve) => {
this.completionPromise = new Promise<T | undefined>((resolve) => {
this.onSuccess = resolve;
}).then(() => {
this.completionPromise = null;
@ -59,4 +59,4 @@ export class Delayer<T> {
this.timeout = null;
}
}
}
}

View file

@ -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<void>(resolve => {
this._promises.set(eventId, () => {
clearTimeout(handle);
resolve();

View file

@ -536,7 +536,7 @@ suite('vscode API - workspace', () => {
assert.equal(callCount, 1);
assert.equal(doc.getText(), 'call0');
return new Promise(resolve => {
return new Promise<void>(resolve => {
let subscription = vscode.workspace.onDidChangeTextDocument(event => {
assert.ok(event.document === doc);

View file

@ -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",

2
src/vs/monaco.d.ts vendored
View file

@ -4075,7 +4075,7 @@ declare namespace monaco.editor {
suggestOnTriggerCharacters: IEditorOption<EditorOption.suggestOnTriggerCharacters, boolean>;
suggestSelection: IEditorOption<EditorOption.suggestSelection, 'first' | 'recentlyUsed' | 'recentlyUsedByPrefix'>;
tabCompletion: IEditorOption<EditorOption.tabCompletion, 'on' | 'off' | 'onlySnippets'>;
unusualLineTerminators: IEditorOption<EditorOption.unusualLineTerminators, 'off' | 'prompt' | 'auto'>;
unusualLineTerminators: IEditorOption<EditorOption.unusualLineTerminators, 'auto' | 'off' | 'prompt'>;
useTabStops: IEditorOption<EditorOption.useTabStops, boolean>;
wordSeparators: IEditorOption<EditorOption.wordSeparators, string>;
wordWrap: IEditorOption<EditorOption.wordWrap, 'on' | 'off' | 'wordWrapColumn' | 'bounded'>;

View file

@ -23,7 +23,7 @@ suite('ContextKeyService', () => {
let complete: () => void;
let reject: (err: Error) => void;
const p = new Promise((_complete, _reject) => {
const p = new Promise<void>((_complete, _reject) => {
complete = _complete;
reject = _reject;
});

View file

@ -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;
}

View file

@ -624,7 +624,7 @@ export class RawDebugSession implements IDisposable {
}
private send<R extends DebugProtocol.Response>(command: string, args: any, token?: CancellationToken, timeout?: number): Promise<R | undefined> {
return new Promise<DebugProtocol.Response>((completeDispatch, errorDispatch) => {
return new Promise<DebugProtocol.Response | undefined>((completeDispatch, errorDispatch) => {
if (!this.debugAdapter) {
if (this.inShutdown) {
// We are in shutdown silently complete

View file

@ -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"