From 17ee4c426579b3686af30d760811b31a895fa5f2 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Mon, 2 May 2022 15:50:09 -0700 Subject: [PATCH] Pick up TS 4.7 for bundling with VS Code --- .../server/src/modes/javascriptMode.ts | 16 +++++++++++++++- extensions/package.json | 2 +- .../src/languageFeatures/completions.ts | 4 +--- .../languageFeatures/fileConfigurationManager.ts | 1 - extensions/yarn.lock | 8 ++++---- 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/extensions/html-language-features/server/src/modes/javascriptMode.ts b/extensions/html-language-features/server/src/modes/javascriptMode.ts index b4780e87715..bbcba5e0f86 100644 --- a/extensions/html-language-features/server/src/modes/javascriptMode.ts +++ b/extensions/html-language-features/server/src/modes/javascriptMode.ts @@ -52,7 +52,21 @@ function getLanguageServiceHost(scriptKind: ts.ScriptKind) { }; }, getCurrentDirectory: () => '', - getDefaultLibFileName: (_options: ts.CompilerOptions) => 'es6' + getDefaultLibFileName: (_options: ts.CompilerOptions) => 'es6', + readFile: (path: string, _encoding?: string | undefined): string | undefined => { + if (path === currentTextDocument.uri) { + return currentTextDocument.getText(); + } else { + return libs.loadLibrary(path); + } + }, + fileExists: (path: string): boolean => { + if (path === currentTextDocument.uri) { + return true; + } else { + return !!libs.loadLibrary(path); + } + } }; return ts.createLanguageService(host); }); diff --git a/extensions/package.json b/extensions/package.json index 95c34c59af9..c123af79ab5 100644 --- a/extensions/package.json +++ b/extensions/package.json @@ -4,7 +4,7 @@ "license": "MIT", "description": "Dependencies shared by all extensions", "dependencies": { - "typescript": "4.6.3" + "typescript": "^4.7.0-dev.20220502" }, "scripts": { "postinstall": "node ./postinstall.mjs" diff --git a/extensions/typescript-language-features/src/languageFeatures/completions.ts b/extensions/typescript-language-features/src/languageFeatures/completions.ts index df86687559f..3cfb66a4d97 100644 --- a/extensions/typescript-language-features/src/languageFeatures/completions.ts +++ b/extensions/typescript-language-features/src/languageFeatures/completions.ts @@ -59,8 +59,7 @@ class MyCompletionItem extends vscode.CompletionItem { constructor( public readonly position: vscode.Position, public readonly document: vscode.TextDocument, - // Intersection needed to avoid type error until TS 4.7. - public readonly tsEntry: Proto.CompletionEntry & { labelDetails?: { detail?: string; description?: string } }, + public readonly tsEntry: Proto.CompletionEntry, private readonly completionContext: CompletionContext, public readonly metadata: any | undefined, client: ITypeScriptServiceClient, @@ -831,7 +830,6 @@ class TypeScriptCompletionItemProvider implements vscode.CompletionItemProvider< this.telemetryReporter.logTelemetry('completions.execute', { duration: String(duration), type: response?.type ?? 'unknown', - // @ts-expect-error until 4.7 flags: response?.type === 'response' && typeof response.body?.flags === 'number' ? String(response.body.flags) : undefined, count: String(response?.type === 'response' && response.body ? response.body.entries.length : 0), updateGraphDurationMs: response?.type === 'response' && typeof response.performanceData?.updateGraphDurationMs === 'number' diff --git a/extensions/typescript-language-features/src/languageFeatures/fileConfigurationManager.ts b/extensions/typescript-language-features/src/languageFeatures/fileConfigurationManager.ts index 61e70e7df27..be91f9db4c5 100644 --- a/extensions/typescript-language-features/src/languageFeatures/fileConfigurationManager.ts +++ b/extensions/typescript-language-features/src/languageFeatures/fileConfigurationManager.ts @@ -187,7 +187,6 @@ export default class FileConfigurationManager extends Disposable { includeCompletionsForImportStatements: config.get('suggest.includeCompletionsForImportStatements', true), includeCompletionsWithSnippetText: config.get('suggest.includeCompletionsWithSnippetText', true), includeCompletionsWithClassMemberSnippets: config.get('suggest.classMemberSnippets.enabled', true), - // @ts-expect-error until 4.7 includeCompletionsWithObjectLiteralMethodSnippets: config.get('suggest.objectLiteralMethodSnippets.enabled', true), useLabelDetailsInCompletionEntries: true, allowIncompleteCompletions: true, diff --git a/extensions/yarn.lock b/extensions/yarn.lock index b50281fa58a..3c2c3fcb98c 100644 --- a/extensions/yarn.lock +++ b/extensions/yarn.lock @@ -42,10 +42,10 @@ node-gyp-build@^4.3.0: resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q== -typescript@4.6.3: - version "4.6.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c" - integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw== +typescript@^4.7.0-dev.20220502: + version "4.7.0-dev.20220502" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.0-dev.20220502.tgz#cd36e6036cc49368aa054182314cb3e070814d4d" + integrity sha512-a3YKUJyJ+XBGPsp9NwlqombKF+8Oplg565LaHNYL8p5VdhGJ5M+UR0H6wmLzCx4OhzpT1A8uQtC+f7Fi6TAYsA== vscode-grammar-updater@^1.0.4: version "1.0.4"