(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode)
| 43018 | } |
| 43019 | ts.resolveModuleNameFromCache = resolveModuleNameFromCache; |
| 43020 | function resolveModuleName(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode) { |
| 43021 | var traceEnabled = isTraceEnabled(compilerOptions, host); |
| 43022 | if (redirectedReference) { |
| 43023 | compilerOptions = redirectedReference.commandLine.options; |
| 43024 | } |
| 43025 | if (traceEnabled) { |
| 43026 | trace(host, ts.Diagnostics.Resolving_module_0_from_1, moduleName, containingFile); |
| 43027 | if (redirectedReference) { |
| 43028 | trace(host, ts.Diagnostics.Using_compiler_options_of_project_reference_redirect_0, redirectedReference.sourceFile.fileName); |
| 43029 | } |
| 43030 | } |
| 43031 | var containingDirectory = ts.getDirectoryPath(containingFile); |
| 43032 | var perFolderCache = cache && cache.getOrCreateCacheForDirectory(containingDirectory, redirectedReference); |
| 43033 | var result = perFolderCache && perFolderCache.get(moduleName, resolutionMode); |
| 43034 | if (result) { |
| 43035 | if (traceEnabled) { |
| 43036 | trace(host, ts.Diagnostics.Resolution_for_module_0_was_found_in_cache_from_location_1, moduleName, containingDirectory); |
| 43037 | } |
| 43038 | } |
| 43039 | else { |
| 43040 | var moduleResolution = compilerOptions.moduleResolution; |
| 43041 | if (moduleResolution === undefined) { |
| 43042 | switch (ts.getEmitModuleKind(compilerOptions)) { |
| 43043 | case ts.ModuleKind.CommonJS: |
| 43044 | moduleResolution = ts.ModuleResolutionKind.NodeJs; |
| 43045 | break; |
| 43046 | case ts.ModuleKind.Node16: |
| 43047 | moduleResolution = ts.ModuleResolutionKind.Node16; |
| 43048 | break; |
| 43049 | case ts.ModuleKind.NodeNext: |
| 43050 | moduleResolution = ts.ModuleResolutionKind.NodeNext; |
| 43051 | break; |
| 43052 | default: |
| 43053 | moduleResolution = ts.ModuleResolutionKind.Classic; |
| 43054 | break; |
| 43055 | } |
| 43056 | if (traceEnabled) { |
| 43057 | trace(host, ts.Diagnostics.Module_resolution_kind_is_not_specified_using_0, ts.ModuleResolutionKind[moduleResolution]); |
| 43058 | } |
| 43059 | } |
| 43060 | else { |
| 43061 | if (traceEnabled) { |
| 43062 | trace(host, ts.Diagnostics.Explicitly_specified_module_resolution_kind_Colon_0, ts.ModuleResolutionKind[moduleResolution]); |
| 43063 | } |
| 43064 | } |
| 43065 | ts.perfLogger.logStartResolveModule(moduleName /* , containingFile, ModuleResolutionKind[moduleResolution]*/); |
| 43066 | switch (moduleResolution) { |
| 43067 | case ts.ModuleResolutionKind.Node16: |
| 43068 | result = node16ModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode); |
| 43069 | break; |
| 43070 | case ts.ModuleResolutionKind.NodeNext: |
| 43071 | result = nodeNextModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode); |
| 43072 | break; |
| 43073 | case ts.ModuleResolutionKind.NodeJs: |
| 43074 | result = nodeModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference); |
| 43075 | break; |
| 43076 | case ts.ModuleResolutionKind.Classic: |
| 43077 | result = classicNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference); |
nothing calls this directly
no test coverage detected
searching dependent graphs…