@@ -67,16 +67,15 @@ namespace ts {
67
67
}
68
68
69
69
/** Reads from "main" or "types"/"typings" depending on `extensions`. */
70
- function tryReadPackageJsonFields ( ts : boolean , packageJsonPath : string , baseDirectory : string , state : ModuleResolutionState ) : string | undefined {
70
+ function tryReadPackageJsonFields ( readTypes : boolean , packageJsonPath : string , baseDirectory : string , state : ModuleResolutionState ) : string | undefined {
71
71
const jsonContent = readJson ( packageJsonPath , state . host ) ;
72
- const file = ts ? tryReadFromField ( "typings" ) || tryReadFromField ( "types" ) : tryReadFromField ( "main" ) ;
73
- if ( ! file && state . traceEnabled ) {
74
- trace ( state . host , Diagnostics . package_json_does_not_have_a_0_field , ts ? "types" : "main" ) ;
75
- }
76
- return file ;
72
+ return readTypes ? tryReadFromField ( "typings" ) || tryReadFromField ( "types" ) : tryReadFromField ( "main" ) ;
77
73
78
74
function tryReadFromField ( fieldName : "typings" | "types" | "main" ) : string | undefined {
79
75
if ( ! hasProperty ( jsonContent , fieldName ) ) {
76
+ if ( state . traceEnabled ) {
77
+ trace ( state . host , Diagnostics . package_json_does_not_have_a_0_field , fieldName ) ;
78
+ }
80
79
return ;
81
80
}
82
81
@@ -690,7 +689,8 @@ namespace ts {
690
689
return { resolvedModule : undefined , failedLookupLocations } ;
691
690
692
691
function tryResolve ( extensions : Extensions ) : SearchResult < { resolved : Resolved , isExternalLibraryImport : boolean } > {
693
- const resolved = tryLoadModuleUsingOptionalResolutionSettings ( extensions , moduleName , containingDirectory , nodeLoadModuleByRelativeName , failedLookupLocations , state ) ;
692
+ const loader : ResolutionKindSpecificLoader = ( extensions , candidate , failedLookupLocations , onlyRecordFailures , state ) => nodeLoadModuleByRelativeName ( extensions , candidate , failedLookupLocations , onlyRecordFailures , state , /*considerPackageJson*/ true ) ;
693
+ const resolved = tryLoadModuleUsingOptionalResolutionSettings ( extensions , moduleName , containingDirectory , loader , failedLookupLocations , state ) ;
694
694
if ( resolved ) {
695
695
return toSearchResult ( { resolved, isExternalLibraryImport : false } ) ;
696
696
}
@@ -705,7 +705,7 @@ namespace ts {
705
705
}
706
706
else {
707
707
const candidate = normalizePath ( combinePaths ( containingDirectory , moduleName ) ) ;
708
- const resolved = nodeLoadModuleByRelativeName ( extensions , candidate , failedLookupLocations , /*onlyRecordFailures*/ false , state ) ;
708
+ const resolved = nodeLoadModuleByRelativeName ( extensions , candidate , failedLookupLocations , /*onlyRecordFailures*/ false , state , /*considerPackageJson*/ true ) ;
709
709
return resolved && toSearchResult ( { resolved, isExternalLibraryImport : false } ) ;
710
710
}
711
711
}
@@ -723,7 +723,7 @@ namespace ts {
723
723
return real ;
724
724
}
725
725
726
- function nodeLoadModuleByRelativeName ( extensions : Extensions , candidate : string , failedLookupLocations : Push < string > , onlyRecordFailures : boolean , state : ModuleResolutionState , considerPackageJson = true ) : Resolved | undefined {
726
+ function nodeLoadModuleByRelativeName ( extensions : Extensions , candidate : string , failedLookupLocations : Push < string > , onlyRecordFailures : boolean , state : ModuleResolutionState , considerPackageJson : boolean ) : Resolved | undefined {
727
727
if ( state . traceEnabled ) {
728
728
trace ( state . host , Diagnostics . Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1 , candidate , Extensions [ extensions ] ) ;
729
729
}
@@ -855,8 +855,7 @@ namespace ts {
855
855
trace ( state . host , Diagnostics . Found_package_json_at_0 , packageJsonPath ) ;
856
856
}
857
857
858
- const ts = extensions !== Extensions . JavaScript ;
859
- const file = tryReadPackageJsonFields ( ts , packageJsonPath , candidate , state ) ;
858
+ const file = tryReadPackageJsonFields ( extensions !== Extensions . JavaScript , packageJsonPath , candidate , state ) ;
860
859
if ( ! file ) {
861
860
return undefined ;
862
861
}
0 commit comments