From 074271d04e649c52b0d34eb46a053cbf8ed05fd9 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Mon, 3 Nov 2025 10:54:15 -0800 Subject: [PATCH] Update vscode-languageclient to v10 --- _extension/package.json | 2 +- _extension/src/client.ts | 6 +- _extension/src/extension.ts | 6 +- internal/lsp/lsproto/_generate/fetchModel.mts | 2 +- .../lsp/lsproto/_generate/metaModelSchema.mts | 20 ++++ package-lock.json | 109 +++++++++--------- 6 files changed, 84 insertions(+), 61 deletions(-) diff --git a/_extension/package.json b/_extension/package.json index b218b3496a..453e6bf7f3 100644 --- a/_extension/package.json +++ b/_extension/package.json @@ -108,7 +108,7 @@ "bundle": "esbuild src/extension.ts --bundle --external:vscode --platform=node --format=cjs --outfile=dist/extension.bundle.js --minify" }, "dependencies": { - "vscode-languageclient": "^9.0.1" + "vscode-languageclient": "^10.0.0-next.17" }, "devDependencies": { "@types/vscode": "^1.100.0", diff --git a/_extension/src/client.ts b/_extension/src/client.ts index b759501e97..a4ef28116f 100644 --- a/_extension/src/client.ts +++ b/_extension/src/client.ts @@ -15,14 +15,14 @@ import { import { getLanguageForUri } from "./util"; export class Client { - private outputChannel: vscode.OutputChannel; - private traceOutputChannel: vscode.OutputChannel; + private outputChannel: vscode.LogOutputChannel; + private traceOutputChannel: vscode.LogOutputChannel; private clientOptions: LanguageClientOptions; private client?: LanguageClient; private exe: ExeInfo | undefined; private onStartedCallbacks: Set<() => void> = new Set(); - constructor(outputChannel: vscode.OutputChannel, traceOutputChannel: vscode.OutputChannel) { + constructor(outputChannel: vscode.LogOutputChannel, traceOutputChannel: vscode.LogOutputChannel) { this.outputChannel = outputChannel; this.traceOutputChannel = traceOutputChannel; this.clientOptions = { diff --git a/_extension/src/extension.ts b/_extension/src/extension.ts index d1fe6036eb..d035c627d9 100644 --- a/_extension/src/extension.ts +++ b/_extension/src/extension.ts @@ -12,8 +12,8 @@ import { setupVersionStatusItem } from "./versionStatusItem"; export async function activate(context: vscode.ExtensionContext) { await vscode.commands.executeCommand("setContext", "typescript.native-preview.serverRunning", false); registerEnablementCommands(context); - const output = vscode.window.createOutputChannel("typescript-native-preview", "log"); - const traceOutput = vscode.window.createOutputChannel("typescript-native-preview (LSP)"); + const output = vscode.window.createOutputChannel("typescript-native-preview", { log: true }); + const traceOutput = vscode.window.createOutputChannel("typescript-native-preview (LSP)", { log: true }); context.subscriptions.push(output, traceOutput); let disposeLanguageFeatures: vscode.Disposable | undefined; @@ -63,7 +63,7 @@ export async function activate(context: vscode.ExtensionContext) { context.subscriptions.push(disposeLanguageFeatures); } -async function activateLanguageFeatures(context: vscode.ExtensionContext, output: vscode.OutputChannel, traceOutput: vscode.OutputChannel): Promise { +async function activateLanguageFeatures(context: vscode.ExtensionContext, output: vscode.LogOutputChannel, traceOutput: vscode.LogOutputChannel): Promise { const disposables: vscode.Disposable[] = []; const client = new Client(output, traceOutput); diff --git a/internal/lsp/lsproto/_generate/fetchModel.mts b/internal/lsp/lsproto/_generate/fetchModel.mts index cc31a5a41f..3cc8ae7827 100644 --- a/internal/lsp/lsproto/_generate/fetchModel.mts +++ b/internal/lsp/lsproto/_generate/fetchModel.mts @@ -8,7 +8,7 @@ const __dirname = path.dirname(__filename); const metaModelPath = path.join(__dirname, "metaModel.json"); const metaModelSchemaPath = path.join(__dirname, "metaModelSchema.mts"); -const hash = "dadd73f7fc283b4d0adb602adadcf4be16ef3a7b"; +const hash = "66a087310eea0d60495ba3578d78f70409c403d9"; const metaModelURL = `https://raw.githubusercontent.com/microsoft/vscode-languageserver-node/${hash}/protocol/metaModel.json`; const metaModelSchemaURL = `https://raw.githubusercontent.com/microsoft/vscode-languageserver-node/${hash}/tools/src/metaModel.ts`; diff --git a/internal/lsp/lsproto/_generate/metaModelSchema.mts b/internal/lsp/lsproto/_generate/metaModelSchema.mts index 3b4091e54c..2516dd22cb 100644 --- a/internal/lsp/lsproto/_generate/metaModelSchema.mts +++ b/internal/lsp/lsproto/_generate/metaModelSchema.mts @@ -202,6 +202,16 @@ export type Request = { * the property contains the deprecation message. */ deprecated?: string; + + /** + * The client capability property path if any. + */ + clientCapability?: string; + + /** + * The server capability property path if any. + */ + serverCapability?: string; }; /** @@ -269,6 +279,16 @@ export type Notification = { * the property contains the deprecation message. */ deprecated?: string; + + /** + * The client capability property path if any. + */ + clientCapability?: string; + + /** + * The server capability property path if any. + */ + serverCapability?: string; }; /** diff --git a/package-lock.json b/package-lock.json index adb5f8575c..9f7ac6d41c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,7 +32,7 @@ "name": "native-preview", "version": "0.0.0", "dependencies": { - "vscode-languageclient": "^9.0.1" + "vscode-languageclient": "^10.0.0-next.17" }, "devDependencies": { "@types/vscode": "^1.100.0", @@ -786,7 +786,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", - "dev": true, "engines": { "node": "20 || >=22" } @@ -795,7 +794,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", - "dev": true, "dependencies": { "@isaacs/balanced-match": "^4.0.1" }, @@ -1757,7 +1755,8 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, "node_modules/base64-js": { "version": "1.5.1", @@ -1823,6 +1822,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -5070,50 +5070,53 @@ } }, "node_modules/vscode-jsonrpc": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", - "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", + "version": "9.0.0-next.9", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.9.tgz", + "integrity": "sha512-IM/RHL7ZklEUh1N2Rh4OjRL6D9MyIXq3v+zIkPLXq74hM1eW7WRLP0/cjzNu/baRFC00sFxJm95RBKsT8dXzRQ==", "engines": { "node": ">=14.0.0" } }, "node_modules/vscode-languageclient": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-9.0.1.tgz", - "integrity": "sha512-JZiimVdvimEuHh5olxhxkht09m3JzUGwggb5eRUkzzJhZ2KjCN0nh55VfiED9oez9DyF8/fz1g1iBV3h+0Z2EA==", + "version": "10.0.0-next.17", + "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-10.0.0-next.17.tgz", + "integrity": "sha512-hSnWKNS8MqMih/HlT7eABuzsvifa9qtGbL8oGH90K9jangtJXx6FKSFIjyWz0Yt8NRz1bGJ7rNM5t8B5+NCSDQ==", "dependencies": { - "minimatch": "^5.1.0", - "semver": "^7.3.7", - "vscode-languageserver-protocol": "3.17.5" + "minimatch": "^10.0.3", + "semver": "^7.7.1", + "vscode-languageserver-protocol": "3.17.6-next.14" }, "engines": { - "vscode": "^1.82.0" + "vscode": "^1.91.0" } }, "node_modules/vscode-languageclient/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", "dependencies": { - "brace-expansion": "^2.0.1" + "@isaacs/brace-expansion": "^5.0.0" }, "engines": { - "node": ">=10" + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/vscode-languageserver-protocol": { - "version": "3.17.5", - "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", - "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "version": "3.17.6-next.14", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.14.tgz", + "integrity": "sha512-0VD83wxN5kI9vgeaIDQnAxgrbZfKiFNIxdFY5LKe3SZdZd+LAJLMrklSrwfefS7hEzaHw6Z++VFdVJJU+gh1Zg==", "dependencies": { - "vscode-jsonrpc": "8.2.0", - "vscode-languageserver-types": "3.17.5" + "vscode-jsonrpc": "9.0.0-next.9", + "vscode-languageserver-types": "3.17.6-next.6" } }, "node_modules/vscode-languageserver-types": { - "version": "3.17.5", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", - "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==" + "version": "3.17.6-next.6", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.6.tgz", + "integrity": "sha512-aiJY5/yW+xzw7KPNlwi3gQtddq/3EIn5z8X8nCgJfaiAij2R1APKePngv+MUdLdYJBVTLu+Qa0ODsT+pHgYguQ==" }, "node_modules/whatwg-encoding": { "version": "3.1.1", @@ -5778,14 +5781,12 @@ "@isaacs/balanced-match": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", - "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", - "dev": true + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==" }, "@isaacs/brace-expansion": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", - "dev": true, "requires": { "@isaacs/balanced-match": "^4.0.1" } @@ -6515,7 +6516,8 @@ "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, "base64-js": { "version": "1.5.1", @@ -6561,6 +6563,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, "requires": { "balanced-match": "^1.0.0" } @@ -7860,7 +7863,7 @@ "@types/vscode": "^1.100.0", "@vscode/vsce": "^3.6.2", "esbuild": "^0.25.10", - "vscode-languageclient": "^9.0.1" + "vscode-languageclient": "^10.0.0-next.17" } }, "node-abi": { @@ -8890,43 +8893,43 @@ "dev": true }, "vscode-jsonrpc": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", - "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==" + "version": "9.0.0-next.9", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.9.tgz", + "integrity": "sha512-IM/RHL7ZklEUh1N2Rh4OjRL6D9MyIXq3v+zIkPLXq74hM1eW7WRLP0/cjzNu/baRFC00sFxJm95RBKsT8dXzRQ==" }, "vscode-languageclient": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-9.0.1.tgz", - "integrity": "sha512-JZiimVdvimEuHh5olxhxkht09m3JzUGwggb5eRUkzzJhZ2KjCN0nh55VfiED9oez9DyF8/fz1g1iBV3h+0Z2EA==", + "version": "10.0.0-next.17", + "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-10.0.0-next.17.tgz", + "integrity": "sha512-hSnWKNS8MqMih/HlT7eABuzsvifa9qtGbL8oGH90K9jangtJXx6FKSFIjyWz0Yt8NRz1bGJ7rNM5t8B5+NCSDQ==", "requires": { - "minimatch": "^5.1.0", - "semver": "^7.3.7", - "vscode-languageserver-protocol": "3.17.5" + "minimatch": "^10.0.3", + "semver": "^7.7.1", + "vscode-languageserver-protocol": "3.17.6-next.14" }, "dependencies": { "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", "requires": { - "brace-expansion": "^2.0.1" + "@isaacs/brace-expansion": "^5.0.0" } } } }, "vscode-languageserver-protocol": { - "version": "3.17.5", - "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", - "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "version": "3.17.6-next.14", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.14.tgz", + "integrity": "sha512-0VD83wxN5kI9vgeaIDQnAxgrbZfKiFNIxdFY5LKe3SZdZd+LAJLMrklSrwfefS7hEzaHw6Z++VFdVJJU+gh1Zg==", "requires": { - "vscode-jsonrpc": "8.2.0", - "vscode-languageserver-types": "3.17.5" + "vscode-jsonrpc": "9.0.0-next.9", + "vscode-languageserver-types": "3.17.6-next.6" } }, "vscode-languageserver-types": { - "version": "3.17.5", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", - "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==" + "version": "3.17.6-next.6", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.6.tgz", + "integrity": "sha512-aiJY5/yW+xzw7KPNlwi3gQtddq/3EIn5z8X8nCgJfaiAij2R1APKePngv+MUdLdYJBVTLu+Qa0ODsT+pHgYguQ==" }, "whatwg-encoding": { "version": "3.1.1",