@@ -25,7 +25,6 @@ export function decorateLanguageServiceHost(
2525 const resolveModuleNames = languageServiceHost . resolveModuleNames ?. bind ( languageServiceHost ) ;
2626 const getScriptSnapshot = languageServiceHost . getScriptSnapshot . bind ( languageServiceHost ) ;
2727 const getScriptKind = languageServiceHost . getScriptKind ?. bind ( languageServiceHost ) ;
28- const getScriptFileNames = languageServiceHost . getScriptFileNames ?. bind ( languageServiceHost ) ;
2928
3029 // path completion
3130 if ( readDirectory ) {
@@ -49,45 +48,7 @@ export function decorateLanguageServiceHost(
4948 language . plugins ,
5049 fileName => language . scripts . get ( fileName ) ,
5150 ) ;
52- const getCanonicalFileName = languageServiceHost . useCaseSensitiveFileNames ?.( )
53- ? ( fileName : string ) => fileName
54- : ( fileName : string ) => fileName . toLowerCase ( ) ;
55- const moduleResolutionCache = ts . createModuleResolutionCache (
56- languageServiceHost . getCurrentDirectory ( ) ,
57- getCanonicalFileName ,
58- languageServiceHost . getCompilationSettings ( ) ,
59- ) ;
60-
61- let moduleResolutionProjectVersion : string | undefined ;
62- let moduleResolutionProjectFileNames : Set < string > | undefined ;
63- const tryClearModuleResolutionCache = ( ) => {
64- const projectVersion = languageServiceHost . getProjectVersion ?.( ) ;
65- const scriptFileNames = getScriptFileNames ?.( ) ;
66- const canonicalScriptFileNames = scriptFileNames ?. map ( getCanonicalFileName ) ;
67- const filesUnchanged = Boolean (
68- canonicalScriptFileNames
69- && moduleResolutionProjectFileNames
70- && canonicalScriptFileNames . length === moduleResolutionProjectFileNames . size
71- && canonicalScriptFileNames . every ( name => moduleResolutionProjectFileNames ?. has ( name ) ) ,
72- ) ;
73-
74- if ( projectVersion === moduleResolutionProjectVersion && ( ! scriptFileNames || filesUnchanged ) ) {
75- return ;
76- }
77-
78- moduleResolutionProjectVersion = projectVersion ;
79-
80- if ( ! scriptFileNames ) {
81- moduleResolutionProjectFileNames = undefined ;
82- moduleResolutionCache . clear ( ) ;
83- return ;
84- }
85-
86- if ( ! filesUnchanged ) {
87- moduleResolutionCache . clear ( ) ;
88- }
89- moduleResolutionProjectFileNames = new Set ( canonicalScriptFileNames ?? [ ] ) ;
90- } ;
51+ const moduleResolutionCache = languageServiceHost . getModuleResolutionCache ?.( ) ;
9152
9253 if ( resolveModuleNameLiterals ) {
9354 languageServiceHost . resolveModuleNameLiterals = (
@@ -102,12 +63,11 @@ export function decorateLanguageServiceHost(
10263 ts ,
10364 pluginExtensions ,
10465 containingSourceFile ,
105- moduleResolutionCache . getPackageJsonInfoCache ( ) ,
66+ moduleResolutionCache ? .getPackageJsonInfoCache ( ) ,
10667 languageServiceHost ,
10768 options ,
10869 ) ;
10970 try {
110- tryClearModuleResolutionCache ( ) ;
11171 if ( moduleLiterals . every ( name => ! pluginExtensions . some ( ext => name . text . endsWith ( ext ) ) ) ) {
11272 return resolveModuleNameLiterals (
11373 moduleLiterals ,
@@ -144,7 +104,6 @@ export function decorateLanguageServiceHost(
144104 options ,
145105 containingSourceFile ,
146106 ) => {
147- tryClearModuleResolutionCache ( ) ;
148107 if ( moduleNames . every ( name => ! pluginExtensions . some ( ext => name . endsWith ( ext ) ) ) ) {
149108 return resolveModuleNames (
150109 moduleNames ,
0 commit comments