Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions extensions/vscode/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -483,8 +483,8 @@
"@types/node": "^22.10.4",
"@types/semver": "^7.5.3",
"@types/vscode": "1.88.0",
"@volar/typescript": "2.4.26",
"@volar/vscode": "2.4.26",
"@volar/typescript": "2.4.27",
"@volar/vscode": "2.4.27",
"@vscode/vsce": "^3.2.1",
"@vue/compiler-sfc": "^3.5.0",
"@vue/language-core": "3.1.8",
Expand Down
2 changes: 1 addition & 1 deletion packages/component-meta/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"directory": "packages/component-meta"
},
"dependencies": {
"@volar/typescript": "2.4.26",
"@volar/typescript": "2.4.27",
"@vue/language-core": "3.1.8",
"path-browserify": "^1.0.1",
"vue-component-type-helpers": "3.1.8"
Expand Down
4 changes: 2 additions & 2 deletions packages/language-core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"directory": "packages/language-core"
},
"dependencies": {
"@volar/language-core": "2.4.26",
"@volar/language-core": "2.4.27",
"@vue/compiler-dom": "^3.5.0",
"@vue/shared": "^3.5.0",
"alien-signals": "^3.0.0",
Expand All @@ -25,7 +25,7 @@
"@types/node": "^22.10.4",
"@types/path-browserify": "^1.0.1",
"@types/picomatch": "^4.0.0",
"@volar/typescript": "2.4.26",
"@volar/typescript": "2.4.27",
"@vue/compiler-sfc": "^3.5.0"
},
"peerDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion packages/language-plugin-pug/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"directory": "packages/language-plugin-pug"
},
"dependencies": {
"@volar/source-map": "2.4.26",
"@volar/source-map": "2.4.27",
"volar-service-pug": "0.0.68"
},
"devDependencies": {
Expand Down
4 changes: 2 additions & 2 deletions packages/language-server/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"directory": "packages/language-server"
},
"dependencies": {
"@volar/language-server": "2.4.26",
"@volar/language-server": "2.4.27",
"@vue/language-core": "3.1.8",
"@vue/language-service": "3.1.8",
"@vue/typescript-plugin": "3.1.8",
Expand All @@ -27,6 +27,6 @@
},
"devDependencies": {
"@typescript/server-harness": "latest",
"@volar/test-utils": "2.4.26"
"@volar/test-utils": "2.4.27"
}
}
83 changes: 83 additions & 0 deletions packages/language-server/tests/moduleResolution.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
import type { TextDocument } from '@volar/language-server';
import * as fs from 'node:fs';
import * as path from 'node:path';
import { afterEach, expect, test } from 'vitest';
import { URI } from 'vscode-uri';
import { getLanguageServer, testWorkspacePath } from './server.js';

test('#5818 clears missing module error after renaming to an existing filename', async () => {
const server = await getLanguageServer();
const workspaceDir = path.join(testWorkspacePath, 'tsconfigProject');
const mainPath = path.join(workspaceDir, 'module-rename-main.vue');
const oldComponentPath = path.join(workspaceDir, 'module-rename-comp.vue');
const newComponentPath = path.join(workspaceDir, 'module-rename-comp-renamed.vue');

createFile(oldComponentPath, '<template>Comp</template>');
const mainContent = `
<script setup lang="ts">
import Comp from './module-rename-comp-renamed.vue'
</script>
`;
const document = await openDocument(server, mainPath, mainContent);

const diagnosticsBefore = await getSemanticDiagnostics(server, document.uri);
expect(diagnosticsBefore.some(diagnostic => diagnostic.code === 2307)).toBe(true);

fs.renameSync(oldComponentPath, newComponentPath);
createdFiles.push(newComponentPath);

await expect.poll(
async () => {
const diagnosticsAfter = await getSemanticDiagnostics(server, document.uri);
return diagnosticsAfter.some(diagnostic => diagnostic.code === 2307);
},
{
interval: 100,
timeout: 5000,
},
).toBe(false);
});

const openedDocuments: TextDocument[] = [];
const createdFiles: string[] = [];

afterEach(async () => {
const server = await getLanguageServer();
for (const document of openedDocuments) {
await server.close(document.uri);
}
for (const file of createdFiles) {
if (fs.existsSync(file)) {
fs.rmSync(file);
}
}
openedDocuments.length = 0;
createdFiles.length = 0;
});

function createFile(fileName: string, content: string) {
fs.writeFileSync(fileName, content);
createdFiles.push(fileName);
}

async function openDocument(server: Awaited<ReturnType<typeof getLanguageServer>>, fileName: string, content: string) {
createFile(fileName, content);
const uri = URI.file(fileName);
const document = await server.open(uri.toString(), 'vue', content);
if (openedDocuments.every(doc => doc.uri !== document.uri)) {
openedDocuments.push(document);
}
return document;
}

async function getSemanticDiagnostics(server: Awaited<ReturnType<typeof getLanguageServer>>, uri: string) {
const res = await server.tsserver.message({
seq: server.nextSeq(),
command: 'semanticDiagnosticsSync',
arguments: {
file: URI.parse(uri).fsPath,
},
});
expect(res.success).toBe(true);
return res.body as any[];
}
6 changes: 3 additions & 3 deletions packages/language-service/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"update-html-data": "node ./scripts/update-html-data.js"
},
"dependencies": {
"@volar/language-service": "2.4.26",
"@volar/language-service": "2.4.27",
"@vue/language-core": "3.1.8",
"@vue/shared": "^3.5.0",
"path-browserify": "^1.0.1",
Expand All @@ -34,8 +34,8 @@
"devDependencies": {
"@types/node": "^22.10.4",
"@types/path-browserify": "^1.0.1",
"@volar/kit": "2.4.26",
"@volar/typescript": "2.4.26",
"@volar/kit": "2.4.27",
"@volar/typescript": "2.4.27",
"@vue/compiler-dom": "^3.5.0",
"@vue/typescript-plugin": "3.1.8",
"vscode-css-languageservice": "^6.3.1"
Expand Down
2 changes: 1 addition & 1 deletion packages/tsc/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"typescript": ">=5.0.0"
},
"dependencies": {
"@volar/typescript": "2.4.26",
"@volar/typescript": "2.4.27",
"@vue/language-core": "3.1.8"
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion packages/typescript-plugin/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"directory": "packages/typescript-plugin"
},
"dependencies": {
"@volar/typescript": "2.4.26",
"@volar/typescript": "2.4.27",
"@vue/language-core": "3.1.8",
"@vue/shared": "^3.5.0",
"path-browserify": "^1.0.1"
Expand Down
Loading