Skip to content

Commit 637b409

Browse files
committed
Bundle TS 4.4
1 parent 4897f96 commit 637b409

File tree

8 files changed

+24
-83
lines changed

8 files changed

+24
-83
lines changed

extensions/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"license": "MIT",
55
"description": "Dependencies shared by all extensions",
66
"dependencies": {
7-
"typescript": "4.3.5"
7+
"typescript": "^4.4.0-dev.20210728"
88
},
99
"scripts": {
1010
"postinstall": "node ./postinstall"

extensions/typescript-language-features/src/extension.browser.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ export function activate(
5858
new TypeScriptVersion(
5959
TypeScriptVersionSource.Bundled,
6060
vscode.Uri.joinPath(context.extensionUri, 'dist/browser/typescript/tsserver.web.js').toString(),
61-
API.fromSimpleString('4.3.5')));
61+
API.fromSimpleString('4.4.1')));
6262

6363
const lazyClientHost = createLazyClientHost(context, false, {
6464
pluginManager,

extensions/typescript-language-features/src/languageFeatures/completions.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -685,7 +685,6 @@ class TypeScriptCompletionItemProvider implements vscode.CompletionItemProvider<
685685
includeExternalModuleExports: completionConfiguration.autoImportSuggestions,
686686
includeInsertTextCompletions: true,
687687
triggerCharacter: this.getTsTriggerCharacter(context),
688-
// @ts-expect-error
689688
triggerKind: typeConverters.CompletionTriggerKind.toProtocolCompletionTriggerKind(context.triggerKind),
690689
};
691690

extensions/typescript-language-features/src/languageFeatures/fileConfigurationManager.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,6 @@ export default class FileConfigurationManager extends Disposable {
199199
generateReturnInDocTemplate: config.get<boolean>('suggest.jsdoc.generateReturns', true),
200200
includeCompletionsForImportStatements: config.get<boolean>('suggest.includeCompletionsForImportStatements', true),
201201
includeCompletionsWithSnippetText: config.get<boolean>('suggest.includeCompletionsWithSnippetText', true),
202-
// @ts-expect-error until 4.4
203202
allowIncompleteCompletions: true,
204203
displayPartsForJSDoc: true,
205204
...getInlayHintsPreferences(config),

extensions/typescript-language-features/src/languageFeatures/inlayHints.ts

Lines changed: 17 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -4,82 +4,15 @@
44
*--------------------------------------------------------------------------------------------*/
55

66
import * as vscode from 'vscode';
7-
import * as Proto from '../protocol';
8-
import { DocumentSelector } from '../utils/documentSelector';
9-
import { ClientCapability, ITypeScriptServiceClient, ServerResponse, ExecConfig } from '../typescriptService';
7+
import type * as Proto from '../protocol';
8+
import { ClientCapability, ITypeScriptServiceClient } from '../typescriptService';
9+
import API from '../utils/api';
1010
import { Condition, conditionalRegistration, requireMinVersion, requireSomeCapability } from '../utils/dependentRegistration';
11+
import { Disposable } from '../utils/dispose';
12+
import { DocumentSelector } from '../utils/documentSelector';
1113
import { Position } from '../utils/typeConverters';
1214
import FileConfigurationManager, { getInlayHintsPreferences, InlayHintSettingNames } from './fileConfigurationManager';
13-
import API from '../utils/api';
14-
import { Disposable } from '../utils/dispose';
15-
16-
namespace ExperimentalProto {
17-
export const enum CommandTypes {
18-
ProvideInlineHints = 'ProvideInlayHints'
19-
}
20-
21-
export interface InlayHintsArgs extends Proto.FileRequestArgs {
22-
/**
23-
* Start position of the span.
24-
*/
25-
start: number;
26-
/**
27-
* Length of the span.
28-
*/
29-
length: number;
30-
}
31-
32-
export interface InlineHintsRequest extends Proto.Request {
33-
command: CommandTypes.ProvideInlineHints;
34-
arguments: InlayHintsArgs;
35-
}
36-
37-
export enum InlayHintKind {
38-
Type = 'Type',
39-
Parameter = 'Parameter',
40-
Enum = 'Enum'
41-
}
42-
43-
interface InlayHintItem {
44-
text: string;
45-
position: Proto.Location;
46-
kind?: InlayHintKind;
47-
whitespaceBefore?: boolean;
48-
whitespaceAfter?: boolean;
49-
}
50-
51-
export interface InlayHintsResponse extends Proto.Response {
52-
body?: InlayHintItem[];
53-
}
54-
55-
export interface IExtendedTypeScriptServiceClient {
56-
execute<K extends keyof ExtendedTsServerRequests>(
57-
command: K,
58-
args: ExtendedTsServerRequests[K][0],
59-
token: vscode.CancellationToken,
60-
config?: ExecConfig
61-
): Promise<ServerResponse.Response<ExtendedTsServerRequests[K][1]>>;
62-
}
6315

64-
export interface ExtendedTsServerRequests {
65-
'provideInlayHints': [InlayHintsArgs, InlayHintsResponse];
66-
}
67-
68-
export namespace InlayHintKind {
69-
export function fromProtocolInlayHintKind(kind: InlayHintKind): vscode.InlayHintKind {
70-
switch (kind) {
71-
case InlayHintKind.Parameter:
72-
return vscode.InlayHintKind.Parameter;
73-
case InlayHintKind.Type:
74-
return vscode.InlayHintKind.Type;
75-
case InlayHintKind.Enum:
76-
return vscode.InlayHintKind.Other;
77-
default:
78-
return vscode.InlayHintKind.Other;
79-
}
80-
}
81-
}
82-
}
8316

8417
const inlayHintSettingNames = [
8518
InlayHintSettingNames.parameterNamesSuppressWhenArgumentMatchesName,
@@ -122,7 +55,7 @@ class TypeScriptInlayHintsProvider extends Disposable implements vscode.InlayHin
12255

12356
await this.fileConfigurationManager.ensureConfigurationForDocument(model, token);
12457

125-
const response = await (this.client as ExperimentalProto.IExtendedTypeScriptServiceClient).execute('provideInlayHints', { file: filepath, start, length }, token);
58+
const response = await this.client.execute('provideInlayHints', { file: filepath, start, length }, token);
12659
if (response.type !== 'response' || !response.success || !response.body) {
12760
return [];
12861
}
@@ -131,7 +64,7 @@ class TypeScriptInlayHintsProvider extends Disposable implements vscode.InlayHin
13164
const result = new vscode.InlayHint(
13265
hint.text,
13366
Position.fromLocation(hint.position),
134-
hint.kind && ExperimentalProto.InlayHintKind.fromProtocolInlayHintKind(hint.kind)
67+
hint.kind && fromProtocolInlayHintKind(hint.kind)
13568
);
13669
result.whitespaceBefore = hint.whitespaceBefore;
13770
result.whitespaceAfter = hint.whitespaceAfter;
@@ -140,6 +73,16 @@ class TypeScriptInlayHintsProvider extends Disposable implements vscode.InlayHin
14073
}
14174
}
14275

76+
77+
function fromProtocolInlayHintKind(kind: Proto.InlayHintKind): vscode.InlayHintKind {
78+
switch (kind) {
79+
case 'Parameter': return vscode.InlayHintKind.Parameter;
80+
case 'Type': return vscode.InlayHintKind.Type;
81+
case 'Enum': return vscode.InlayHintKind.Other;
82+
default: return vscode.InlayHintKind.Other;
83+
}
84+
}
85+
14386
export function requireInlayHintsConfiguration(
14487
language: string
14588
) {

extensions/typescript-language-features/src/typescriptService.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ interface StandardTsServerRequests {
6969
'provideCallHierarchyIncomingCalls': [Proto.FileLocationRequestArgs, Proto.ProvideCallHierarchyIncomingCallsResponse];
7070
'provideCallHierarchyOutgoingCalls': [Proto.FileLocationRequestArgs, Proto.ProvideCallHierarchyOutgoingCallsResponse];
7171
'fileReferences': [Proto.FileRequestArgs, Proto.FileReferencesResponse];
72+
'provideInlayHints': [Proto.InlayHintsRequestArgs, Proto.InlayHintsResponse];
7273
}
7374

7475
interface NoResponseTsServerRequests {

extensions/typescript-language-features/src/utils/typeConverters.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,6 @@ export namespace SymbolKind {
128128
}
129129

130130
export namespace CompletionTriggerKind {
131-
// @ts-expect-error until 4.4
132131
// TODO: once 4.4 protocol is available, replace number literals in return statements.
133132
export function toProtocolCompletionTriggerKind(kind: vscode.CompletionTriggerKind): Proto.CompletionTriggerKind {
134133
switch (kind) {

extensions/yarn.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ fast-plist@0.1.2:
2424
resolved "https://registry.yarnpkg.com/fast-plist/-/fast-plist-0.1.2.tgz#a45aff345196006d406ca6cdcd05f69051ef35b8"
2525
integrity sha1-pFr/NFGWAG1AbKbNzQX2kFHvNbg=
2626

27-
typescript@4.3.5:
28-
version "4.3.5"
29-
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4"
30-
integrity sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==
27+
typescript@^4.4.0-dev.20210728:
28+
version "4.4.0-dev.20210728"
29+
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.0-dev.20210728.tgz#93595435d2f64d9da44e1d0fc0e8184132006023"
30+
integrity sha512-ZAbNY9MCH4O4gtolh/3+nsYgDxItqCGBIqERwaKLzjMDJDyvyiZZzcUHsU6DMo/44dAetm4LXZ26bf8hbryUew==
3131

3232
vscode-grammar-updater@^1.0.3:
3333
version "1.0.3"

0 commit comments

Comments
 (0)