@vue/language-server 2.0.26 → 2.0.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/hybridModeProject.js +25 -21
- package/lib/initialize.js +2 -10
- package/node.js +1 -1
- package/package.json +7 -7
package/lib/hybridModeProject.js
CHANGED
|
@@ -7,23 +7,38 @@ const language_service_1 = require("@vue/language-service");
|
|
|
7
7
|
const utils_1 = require("@vue/typescript-plugin/lib/utils");
|
|
8
8
|
const vscode_uri_1 = require("vscode-uri");
|
|
9
9
|
function createHybridModeProject(create) {
|
|
10
|
-
let initialized = false;
|
|
11
10
|
let simpleLs;
|
|
12
11
|
let server;
|
|
13
12
|
const tsconfigProjects = (0, language_service_1.createUriMap)();
|
|
14
|
-
|
|
13
|
+
const project = {
|
|
15
14
|
setup(_server) {
|
|
16
15
|
server = _server;
|
|
16
|
+
utils_1.onSomePipeReadyCallbacks.push(() => {
|
|
17
|
+
server.refresh(project);
|
|
18
|
+
});
|
|
19
|
+
server.onDidChangeWatchedFiles(({ changes }) => {
|
|
20
|
+
for (const change of changes) {
|
|
21
|
+
const changeUri = vscode_uri_1.URI.parse(change.uri);
|
|
22
|
+
if (tsconfigProjects.has(changeUri)) {
|
|
23
|
+
tsconfigProjects.get(changeUri)?.then(project => project.dispose());
|
|
24
|
+
tsconfigProjects.delete(changeUri);
|
|
25
|
+
server.clearPushDiagnostics();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
const end = Date.now() + 60000;
|
|
30
|
+
const pipeWatcher = setInterval(() => {
|
|
31
|
+
(0, utils_1.getReadyNamedPipePaths)();
|
|
32
|
+
if (Date.now() > end) {
|
|
33
|
+
clearInterval(pipeWatcher);
|
|
34
|
+
}
|
|
35
|
+
}, 1000);
|
|
17
36
|
},
|
|
18
37
|
async getLanguageService(uri) {
|
|
19
|
-
if (!initialized) {
|
|
20
|
-
initialized = true;
|
|
21
|
-
initialize(server);
|
|
22
|
-
}
|
|
23
38
|
const fileName = asFileName(uri);
|
|
24
|
-
const
|
|
25
|
-
if (projectInfo?.kind === 1) {
|
|
26
|
-
const tsconfig = projectInfo.name;
|
|
39
|
+
const namedPipeServer = (await (0, utils_1.searchNamedPipeServerForFile)(fileName));
|
|
40
|
+
if (namedPipeServer?.projectInfo?.kind === 1) {
|
|
41
|
+
const tsconfig = namedPipeServer.projectInfo.name;
|
|
27
42
|
const tsconfigUri = vscode_uri_1.URI.file(tsconfig);
|
|
28
43
|
if (!tsconfigProjects.has(tsconfigUri)) {
|
|
29
44
|
tsconfigProjects.set(tsconfigUri, createLs(server, tsconfig));
|
|
@@ -52,21 +67,10 @@ function createHybridModeProject(create) {
|
|
|
52
67
|
simpleLs = undefined;
|
|
53
68
|
},
|
|
54
69
|
};
|
|
70
|
+
return project;
|
|
55
71
|
function asFileName(uri) {
|
|
56
72
|
return uri.fsPath.replace(/\\/g, '/');
|
|
57
73
|
}
|
|
58
|
-
function initialize(server) {
|
|
59
|
-
server.onDidChangeWatchedFiles(({ changes }) => {
|
|
60
|
-
for (const change of changes) {
|
|
61
|
-
const changeUri = vscode_uri_1.URI.parse(change.uri);
|
|
62
|
-
if (tsconfigProjects.has(changeUri)) {
|
|
63
|
-
tsconfigProjects.get(changeUri)?.then(project => project.dispose());
|
|
64
|
-
tsconfigProjects.delete(changeUri);
|
|
65
|
-
server.clearPushDiagnostics();
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
74
|
async function createLs(server, tsconfig) {
|
|
71
75
|
const { languagePlugins, setup } = await create({
|
|
72
76
|
configFileName: tsconfig,
|
package/lib/initialize.js
CHANGED
|
@@ -28,13 +28,7 @@ function initialize(server, params, ts, tsLocalized) {
|
|
|
28
28
|
}
|
|
29
29
|
updateFileWatcher(vueCompilerOptions);
|
|
30
30
|
return {
|
|
31
|
-
languagePlugins: [(0, language_core_1.
|
|
32
|
-
const fileMap = new language_core_1.FileMap(sys.useCaseSensitiveFileNames ?? false);
|
|
33
|
-
for (const vueFileName of projectHost.getScriptFileNames() ?? []) {
|
|
34
|
-
fileMap.set(vueFileName, undefined);
|
|
35
|
-
}
|
|
36
|
-
return fileMap.has(fileName);
|
|
37
|
-
}, compilerOptions, vueCompilerOptions)],
|
|
31
|
+
languagePlugins: [(0, language_core_1.createVueLanguagePlugin2)(ts, s => uriConverter.asFileName(s), (0, language_core_1.createRootFileChecker)(projectHost.getProjectVersion ? () => projectHost.getProjectVersion() : undefined, () => projectHost.getScriptFileNames(), sys.useCaseSensitiveFileNames), compilerOptions, vueCompilerOptions)],
|
|
38
32
|
setup({ project }) {
|
|
39
33
|
project.vue = { compilerOptions: vueCompilerOptions };
|
|
40
34
|
},
|
|
@@ -43,9 +37,7 @@ function initialize(server, params, ts, tsLocalized) {
|
|
|
43
37
|
function updateFileWatcher(vueCompilerOptions) {
|
|
44
38
|
const extensions = [
|
|
45
39
|
'js', 'cjs', 'mjs', 'ts', 'cts', 'mts', 'jsx', 'tsx', 'json',
|
|
46
|
-
...vueCompilerOptions.
|
|
47
|
-
...vueCompilerOptions.vitePressExtensions.map(ext => ext.slice(1)),
|
|
48
|
-
...vueCompilerOptions.petiteVueExtensions.map(ext => ext.slice(1)),
|
|
40
|
+
...(0, language_core_1.getAllExtensions)(vueCompilerOptions).map(ext => ext.slice(1)),
|
|
49
41
|
];
|
|
50
42
|
const newExtensions = extensions.filter(ext => !watchingExtensions.has(ext));
|
|
51
43
|
if (newExtensions.length) {
|
package/node.js
CHANGED
|
@@ -22,7 +22,7 @@ connection.onInitialize(params => {
|
|
|
22
22
|
options: ts.getDefaultCompilerOptions(),
|
|
23
23
|
};
|
|
24
24
|
return {
|
|
25
|
-
languagePlugins: [(0, language_core_1.
|
|
25
|
+
languagePlugins: [(0, language_core_1.createVueLanguagePlugin2)(ts, asFileName, () => false, commandLine.options, commandLine.vueOptions)],
|
|
26
26
|
setup({ project }) {
|
|
27
27
|
project.vue = { compilerOptions: commandLine.vueOptions };
|
|
28
28
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vue/language-server",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.29",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"files": [
|
|
6
6
|
"**/*.js",
|
|
@@ -15,13 +15,13 @@
|
|
|
15
15
|
"directory": "packages/language-server"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@volar/language-core": "~2.4.0-alpha.
|
|
19
|
-
"@volar/language-server": "~2.4.0-alpha.
|
|
20
|
-
"@vue/language-core": "2.0.
|
|
21
|
-
"@vue/language-service": "2.0.
|
|
22
|
-
"@vue/typescript-plugin": "2.0.
|
|
18
|
+
"@volar/language-core": "~2.4.0-alpha.18",
|
|
19
|
+
"@volar/language-server": "~2.4.0-alpha.18",
|
|
20
|
+
"@vue/language-core": "2.0.29",
|
|
21
|
+
"@vue/language-service": "2.0.29",
|
|
22
|
+
"@vue/typescript-plugin": "2.0.29",
|
|
23
23
|
"vscode-languageserver-protocol": "^3.17.5",
|
|
24
24
|
"vscode-uri": "^3.0.8"
|
|
25
25
|
},
|
|
26
|
-
"gitHead": "
|
|
26
|
+
"gitHead": "49ad9563e6f2677595878a000179dfea83fb910c"
|
|
27
27
|
}
|