@@ -54,6 +54,7 @@ type processedFiles struct {
54
54
// List of present unsupported extensions
55
55
unsupportedExtensions []string
56
56
sourceFilesFoundSearchingNodeModules collections.Set [tspath.Path ]
57
+ fileLoadDiagnostics * ast.DiagnosticsCollection
57
58
}
58
59
59
60
type jsxRuntimeImportSpecifier struct {
@@ -132,6 +133,7 @@ func processAllProgramFiles(
132
133
var unsupportedExtensions []string
133
134
var sourceFilesFoundSearchingNodeModules collections.Set [tspath.Path ]
134
135
var libFileSet collections.Set [tspath.Path ]
136
+ fileLoadDiagnostics := & ast.DiagnosticsCollection {}
135
137
136
138
loader .parseTasks .collect (& loader , loader .rootTasks , func (task * parseTask , _ []tspath.Path ) {
137
139
if task .isRedirected {
@@ -159,6 +161,7 @@ func processAllProgramFiles(
159
161
resolvedModules [path ] = task .resolutionsInFile
160
162
typeResolutionsInFile [path ] = task .typeResolutionsInFile
161
163
sourceFileMetaDatas [path ] = task .metadata
164
+
162
165
if task .jsxRuntimeImportSpecifier != nil {
163
166
if jsxRuntimeImportSpecifiers == nil {
164
167
jsxRuntimeImportSpecifiers = make (map [tspath.Path ]* jsxRuntimeImportSpecifier , totalFileCount )
@@ -183,8 +186,28 @@ func processAllProgramFiles(
183
186
184
187
allFiles := append (libFiles , files ... )
185
188
189
+ for _ , resolutions := range resolvedModules {
190
+ for _ , resolvedModule := range resolutions {
191
+ for _ , diag := range resolvedModule .ResolutionDiagnostics {
192
+ fileLoadDiagnostics .Add (diag )
193
+ }
194
+ }
195
+ }
196
+ for _ , typeResolutions := range typeResolutionsInFile {
197
+ for _ , resolvedTypeRef := range typeResolutions {
198
+ for _ , diag := range resolvedTypeRef .ResolutionDiagnostics {
199
+ fileLoadDiagnostics .Add (diag )
200
+ }
201
+ }
202
+ }
203
+
186
204
loader .pathForLibFileResolutions .Range (func (key tspath.Path , value module.ModeAwareCache [* module.ResolvedModule ]) bool {
187
205
resolvedModules [key ] = value
206
+ for _ , resolvedModule := range value {
207
+ for _ , diag := range resolvedModule .ResolutionDiagnostics {
208
+ fileLoadDiagnostics .Add (diag )
209
+ }
210
+ }
188
211
return true
189
212
})
190
213
@@ -201,6 +224,7 @@ func processAllProgramFiles(
201
224
unsupportedExtensions : unsupportedExtensions ,
202
225
sourceFilesFoundSearchingNodeModules : sourceFilesFoundSearchingNodeModules ,
203
226
libFiles : libFileSet ,
227
+ fileLoadDiagnostics : fileLoadDiagnostics ,
204
228
}
205
229
}
206
230
@@ -372,6 +396,7 @@ func (p *fileLoader) resolveTypeReferenceDirectives(t *parseTask) {
372
396
resolutionMode := getModeForTypeReferenceDirectiveInFile (ref , file , meta , module .GetCompilerOptionsWithRedirect (p .opts .Config .CompilerOptions (), redirect ))
373
397
resolved := p .resolver .ResolveTypeReferenceDirective (ref .FileName , file .FileName (), resolutionMode , redirect )
374
398
typeResolutionsInFile [module.ModeAwareCacheKey {Name : ref .FileName , Mode : resolutionMode }] = resolved
399
+
375
400
if resolved .IsResolved () {
376
401
t .addSubTask (resolvedRef {
377
402
fileName : resolved .ResolvedFileName ,
0 commit comments