From c8cd804834ba48e5be00bd2a09eaaaa4ac9bd50e Mon Sep 17 00:00:00 2001 From: Johnson Chu Date: Sat, 13 May 2023 13:22:32 +0800 Subject: [PATCH] chore: set resolvedPath for fake source file close https://github.com/vuejs/language-tools/issues/2622 --- packages/typescript/src/getProgram.ts | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/packages/typescript/src/getProgram.ts b/packages/typescript/src/getProgram.ts index 8c86a581..4ff27b6c 100644 --- a/packages/typescript/src/getProgram.ts +++ b/packages/typescript/src/getProgram.ts @@ -163,20 +163,9 @@ export function getProgram( } } else { - let scriptTarget = ts.ScriptTarget.JSON; - if ( - fileName.endsWith('.js') - || fileName.endsWith('.ts') - || fileName.endsWith('.jsx') - || fileName.endsWith('.tsx') - || fileName.endsWith('.mjs') - || fileName.endsWith('.mts') - || fileName.endsWith('.cjs') - || fileName.endsWith('.cts') - ) { - scriptTarget = ts.ScriptTarget.Latest; - } - file = ts.createSourceFile(fileName, docText, scriptTarget); + file = ts.createSourceFile(fileName, docText, ts.ScriptTarget.Latest, undefined, ts.ScriptKind.Deferred); + (file as any).parseDiagnostics = []; // not important + (file as any).resolvedPath = fileName; // fix https://github.com/vuejs/language-tools/issues/2622 for TS 5.0 } } const newDiagnostic: T = {