@@ -15,9 +15,6 @@ export function createLanguage(
15
15
) {
16
16
17
17
const vueCompilerOptions = resolveVueCompilerOptions ( _vueCompilerOptions ) ;
18
-
19
- patchResolveModuleNames ( ts , vueCompilerOptions ) ;
20
-
21
18
const vueLanguagePlugin = getDefaultVueLanguagePlugins (
22
19
ts ,
23
20
compilerOptions ,
@@ -50,6 +47,12 @@ export function createLanguage(
50
47
const sharedTypesFileName = path . join ( host . rootPath , sharedTypes . baseName ) ;
51
48
return {
52
49
...host ,
50
+ resolveModuleName ( moduleName , impliedNodeFormat ) {
51
+ if ( impliedNodeFormat === ts . ModuleKind . ESNext && vueCompilerOptions . extensions . some ( ext => moduleName . endsWith ( ext ) ) ) {
52
+ return `${ moduleName } .js` ;
53
+ }
54
+ return host . resolveModuleName ?.( moduleName , impliedNodeFormat ) ?? moduleName ;
55
+ } ,
53
56
getScriptFileNames ( ) {
54
57
return [
55
58
sharedTypesFileName ,
@@ -80,25 +83,3 @@ export function createLanguages(
80
83
...vueCompilerOptions . experimentalAdditionalLanguageModules ?. map ( module => require ( module ) ) ?? [ ] ,
81
84
] ;
82
85
}
83
-
84
- function patchResolveModuleNames (
85
- ts : typeof import ( 'typescript/lib/tsserverlibrary' ) ,
86
- vueCompilerOptions : VueCompilerOptions ,
87
- ) {
88
- try {
89
- // from https://github.com/vuejs/language-tools/pull/1543
90
- if ( ! ( ( ts as any ) . __vuePatchResolveModuleNames ) ) {
91
- ( ts as any ) . __vuePatchResolveModuleNames = true ;
92
- const resolveModuleNames = ts . resolveModuleName ;
93
- ts . resolveModuleName = ( ...args ) => {
94
- if ( args [ 6 ] === ts . ModuleKind . ESNext && vueCompilerOptions . extensions . some ( ext => args [ 0 ] . endsWith ( ext ) ) ) {
95
- args [ 6 ] = ts . ModuleKind . CommonJS ;
96
- }
97
- return resolveModuleNames ( ...args ) ;
98
- } ;
99
- }
100
- }
101
- catch ( e ) {
102
- // console.warn('[volar] patchResolveModuleNames failed', e);
103
- }
104
- }
0 commit comments