Skip to content

Commit e38a673

Browse files
committed
chore: update Volar to 2.3.0
1 parent 0feaf66 commit e38a673

File tree

22 files changed

+200
-166
lines changed

22 files changed

+200
-166
lines changed

extensions/vscode/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -543,7 +543,7 @@
543543
"devDependencies": {
544544
"@types/semver": "^7.5.3",
545545
"@types/vscode": "^1.82.0",
546-
"@volar/vscode": "~2.3.0-alpha.15",
546+
"@volar/vscode": "~2.3.0",
547547
"@vue/language-core": "2.0.21",
548548
"@vue/language-server": "2.0.21",
549549
"@vue/typescript-plugin": "2.0.21",

package.json

+6-1
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,14 @@
2424
"@lerna-lite/publish": "latest",
2525
"@tsslint/cli": "latest",
2626
"@tsslint/config": "latest",
27-
"@volar/language-service": "~2.3.0-alpha.15",
27+
"@volar/language-service": "~2.3.0",
2828
"typescript": "latest",
2929
"vite": "latest",
3030
"vitest": "latest"
31+
},
32+
"pnpm": {
33+
"overrides": {
34+
"vscode-html-languageservice": "npm:@johnsoncodehk/vscode-html-languageservice"
35+
}
3136
}
3237
}

packages/component-meta/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"directory": "packages/component-meta"
1313
},
1414
"dependencies": {
15-
"@volar/typescript": "~2.3.0-alpha.15",
15+
"@volar/typescript": "~2.3.0",
1616
"@vue/language-core": "2.0.21",
1717
"path-browserify": "^1.0.1",
1818
"vue-component-type-helpers": "2.0.21"

packages/language-core/lib/plugins/file-md.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
import { buildMappings, Segment, SourceMap, toString } from '@volar/language-core';
1+
import { SourceMap, toString } from '@volar/language-core';
22
import type { SFCBlock } from '@vue/compiler-sfc';
3+
import type { Segment } from 'muggle-string';
34
import type { VueLanguagePlugin } from '../types';
5+
import { buildMappings } from '../utils/buildMappings';
46
import { parse } from '../utils/parseSfc';
57

68
const codeblockReg = /(`{3,})[\s\S]+?\1/g;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import type { Segment } from 'muggle-string';
2+
import type { Mapping } from '@volar/language-core';
3+
4+
export function buildMappings<T>(chunks: Segment<T>[]) {
5+
let length = 0;
6+
const mappings: Mapping<T>[] = [];
7+
for (const segment of chunks) {
8+
if (typeof segment === 'string') {
9+
length += segment.length;
10+
}
11+
else {
12+
mappings.push({
13+
sourceOffsets: [segment[2]],
14+
generatedOffsets: [length],
15+
lengths: [segment[0].length],
16+
data: segment[3]!,
17+
});
18+
length += segment[0].length;
19+
}
20+
}
21+
return mappings;
22+
}

packages/language-core/lib/virtualFile/computedFiles.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
import { VirtualCode, buildMappings, toString } from '@volar/language-core';
1+
import type { VirtualCode } from '@volar/language-core';
22
import { computed } from 'computeds';
3+
import { toString } from 'muggle-string';
34
import type * as ts from 'typescript';
45
import type { Code, Sfc, SfcBlock, VueLanguagePlugin } from '../types';
6+
import { buildMappings } from '../utils/buildMappings';
57
import { VueEmbeddedCode } from './embeddedFile';
68

79
export function computedFiles(

packages/language-core/package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,12 @@
1212
"directory": "packages/language-core"
1313
},
1414
"dependencies": {
15-
"@volar/language-core": "~2.3.0-alpha.15",
15+
"@volar/language-core": "~2.3.0",
1616
"@vue/compiler-dom": "^3.4.0",
1717
"@vue/shared": "^3.4.0",
1818
"computeds": "^0.0.1",
1919
"minimatch": "^9.0.3",
20+
"muggle-string": "^0.4.1",
2021
"path-browserify": "^1.0.1",
2122
"vue-template-compiler": "^2.7.14"
2223
},

packages/language-plugin-pug/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"@vue/language-core": "2.0.21"
1717
},
1818
"dependencies": {
19-
"@volar/source-map": "~2.3.0-alpha.15",
20-
"volar-service-pug": "0.0.50"
19+
"@volar/source-map": "~2.3.0",
20+
"volar-service-pug": "0.0.51"
2121
}
2222
}

packages/language-server/node.ts

+3-7
Original file line numberDiff line numberDiff line change
@@ -131,23 +131,23 @@ connection.onRequest(ParseSFCRequest.type, params => {
131131

132132
connection.onRequest(DetectNameCasingRequest.type, async params => {
133133
const uri = URI.parse(params.textDocument.uri);
134-
const languageService = await getService(uri);
134+
const languageService = await server.project.getLanguageService(uri);
135135
if (languageService) {
136136
return await detect(languageService.context, uri);
137137
}
138138
});
139139

140140
connection.onRequest(GetConvertTagCasingEditsRequest.type, async params => {
141141
const uri = URI.parse(params.textDocument.uri);
142-
const languageService = await getService(uri);
142+
const languageService = await server.project.getLanguageService(uri);
143143
if (languageService) {
144144
return await convertTagName(languageService.context, uri, params.casing, getTsPluginClient(languageService.context));
145145
}
146146
});
147147

148148
connection.onRequest(GetConvertAttrCasingEditsRequest.type, async params => {
149149
const uri = URI.parse(params.textDocument.uri);
150-
const languageService = await getService(uri);
150+
const languageService = await server.project.getLanguageService(uri);
151151
if (languageService) {
152152
return await convertAttrName(languageService.context, uri, params.casing, getTsPluginClient(languageService.context));
153153
}
@@ -159,7 +159,3 @@ connection.onRequest(GetConnectedNamedPipeServerRequest.type, async fileName =>
159159
return server;
160160
}
161161
});
162-
163-
async function getService(uri: URI) {
164-
return (await server.project.getLanguageService(uri));
165-
}

packages/language-server/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
"directory": "packages/language-server"
1616
},
1717
"dependencies": {
18-
"@volar/language-core": "~2.3.0-alpha.15",
19-
"@volar/language-server": "~2.3.0-alpha.15",
18+
"@volar/language-core": "~2.3.0",
19+
"@volar/language-server": "~2.3.0",
2020
"@vue/language-core": "2.0.21",
2121
"@vue/language-service": "2.0.21",
2222
"@vue/typescript-plugin": "2.0.21",

packages/language-service/index.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ export function getVueLanguageServicePlugins(
4949
if (plugin.name === 'typescript-semantic') {
5050
plugins[i] = {
5151
...plugin,
52-
create(context, api) {
53-
const created = plugin.create(context, api);
52+
create(context) {
53+
const created = plugin.create(context);
5454
if (!context.language.typescript) {
5555
return created;
5656
}

packages/language-service/lib/plugins/css.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ export function create(): LanguageServicePlugin {
55
const base = baseCreate({ scssDocumentSelector: ['scss', 'postcss'] });
66
return {
77
...base,
8-
create(context, api): LanguageServicePluginInstance {
9-
const baseInstance = base.create(context, api);
8+
create(context): LanguageServicePluginInstance {
9+
const baseInstance = base.create(context);
1010
return {
1111
...baseInstance,
1212
async provideDiagnostics(document, token) {

packages/language-service/lib/plugins/vue-sfc.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ export function create(): LanguageServicePlugin {
4747
return {
4848
...htmlPlugin,
4949
name: 'vue-sfc',
50-
create(context, api): LanguageServicePluginInstance<Provide> {
51-
const htmlPluginInstance = htmlPlugin.create(context, api);
50+
create(context): LanguageServicePluginInstance<Provide> {
51+
const htmlPluginInstance = htmlPlugin.create(context);
5252

5353
return {
5454

packages/language-service/lib/plugins/vue-template.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -68,17 +68,17 @@ export function create(
6868
},
6969
inlayHintProvider: {},
7070
hoverProvider: true,
71-
diagnosticProvider: true,
71+
diagnosticProvider: {},
7272
semanticTokensProvider: {
7373
legend: {
7474
tokenTypes: ['class'],
7575
tokenModifiers: [],
7676
},
7777
}
7878
},
79-
create(context, api): LanguageServicePluginInstance {
79+
create(context): LanguageServicePluginInstance {
8080
const tsPluginClient = getTsPluginClient?.(context);
81-
const baseServiceInstance = baseService.create(context, api);
81+
const baseServiceInstance = baseService.create(context);
8282
const vueCompilerOptions = getVueOptions(context.env);
8383

8484
builtInData ??= loadTemplateData(context.env.locale ?? 'en');

packages/language-service/package.json

+13-13
Original file line numberDiff line numberDiff line change
@@ -16,31 +16,31 @@
1616
"update-html-data": "node ./scripts/update-html-data.js"
1717
},
1818
"dependencies": {
19-
"@volar/language-core": "~2.3.0-alpha.15",
20-
"@volar/language-service": "~2.3.0-alpha.15",
21-
"@volar/typescript": "~2.3.0-alpha.15",
19+
"@volar/language-core": "~2.3.0",
20+
"@volar/language-service": "~2.3.0",
21+
"@volar/typescript": "~2.3.0",
2222
"@vue/compiler-dom": "^3.4.0",
2323
"@vue/language-core": "2.0.21",
2424
"@vue/shared": "^3.4.0",
2525
"@vue/typescript-plugin": "2.0.21",
2626
"computeds": "^0.0.1",
2727
"path-browserify": "^1.0.1",
28-
"volar-service-css": "0.0.50",
29-
"volar-service-emmet": "0.0.50",
30-
"volar-service-html": "0.0.50",
31-
"volar-service-json": "0.0.50",
32-
"volar-service-pug": "0.0.50",
33-
"volar-service-pug-beautify": "0.0.50",
34-
"volar-service-typescript": "0.0.50",
35-
"volar-service-typescript-twoslash-queries": "0.0.50",
36-
"vscode-html-languageservice": "npm:@johnsoncodehk/vscode-html-languageservice@5.2.0-34a5462",
28+
"volar-service-css": "0.0.51",
29+
"volar-service-emmet": "0.0.51",
30+
"volar-service-html": "0.0.51",
31+
"volar-service-json": "0.0.51",
32+
"volar-service-pug": "0.0.51",
33+
"volar-service-pug-beautify": "0.0.51",
34+
"volar-service-typescript": "0.0.51",
35+
"volar-service-typescript-twoslash-queries": "0.0.51",
36+
"vscode-html-languageservice": "^5.2.0",
3737
"vscode-languageserver-textdocument": "^1.0.11",
3838
"vscode-uri": "^3.0.8"
3939
},
4040
"devDependencies": {
4141
"@types/node": "latest",
4242
"@types/path-browserify": "latest",
43-
"@volar/kit": "~2.3.0-alpha.15",
43+
"@volar/kit": "~2.3.0",
4444
"vscode-languageserver-protocol": "^3.17.5"
4545
}
4646
}

packages/language-service/tests/complete.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -36,15 +36,15 @@ for (const dirName of testDirs) {
3636

3737
it(`${location} => ${action.label}`, async () => {
3838

39-
let complete = await tester.languageService.doComplete(
39+
let complete = await tester.languageService.getCompletionItems(
4040
uri,
4141
position,
4242
{ triggerKind: 1 satisfies typeof vscode.CompletionTriggerKind.Invoked },
4343
);
4444

4545
if (!complete.items.length) {
4646
// fix #2511 test case, it's a bug of TS 5.3
47-
complete = await tester.languageService.doComplete(
47+
complete = await tester.languageService.getCompletionItems(
4848
uri,
4949
position,
5050
{ triggerKind: 1 satisfies typeof vscode.CompletionTriggerKind.Invoked },
@@ -55,7 +55,7 @@ for (const dirName of testDirs) {
5555

5656
expect(item).toBeDefined();
5757

58-
item = await tester.languageService.doCompletionResolve(item);
58+
item = await tester.languageService.resolveCompletionItem(item);
5959

6060
const expectedFileText = outputFiles[file];
6161

packages/language-service/tests/findDefinition.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ for (const dirName of testDirs) {
3434

3535
it(`${filePath}:${position.line + 1}:${position.character + 1} => ${targetFile}:${action.targeRange.start}`, async () => {
3636

37-
const locations = await tester.languageService.findDefinition(
37+
const locations = await tester.languageService.getDefinition(
3838
uri,
3939
position,
4040
);

packages/language-service/tests/reference.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ for (const dirName of testDirs) {
3333

3434
it(`${location} => count: ${action.count}`, async () => {
3535

36-
const locations = await tester.languageService.findReferences(
36+
const locations = await tester.languageService.getReferences(
3737
uri,
3838
position,
3939
{ includeDeclaration: true },

packages/language-service/tests/rename.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ for (const dirName of testDirs) {
3636

3737
it(`${location} => ${action.newName}`, async () => {
3838

39-
const edit = await tester.languageService.doRename(
39+
const edit = await tester.languageService.getRenameEdits(
4040
uri,
4141
position,
4242
action.newName,

packages/tsc/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"vue-tsc": "./bin/vue-tsc.js"
1717
},
1818
"dependencies": {
19-
"@volar/typescript": "~2.3.0-alpha.15",
19+
"@volar/typescript": "~2.3.0",
2020
"@vue/language-core": "2.0.21",
2121
"semver": "^7.5.4"
2222
},

packages/typescript-plugin/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"directory": "packages/typescript-plugin"
1313
},
1414
"dependencies": {
15-
"@volar/typescript": "~2.3.0-alpha.15",
15+
"@volar/typescript": "~2.3.0",
1616
"@vue/language-core": "2.0.21",
1717
"@vue/shared": "^3.4.0"
1818
},

0 commit comments

Comments
 (0)