MCPcopy Index your code
hub / github.com/nodejs/node / resolveModuleName

Function resolveModuleName

test/fixtures/snapshot/typescript.js:43020–43107  ·  view source on GitHub ↗
(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode)

Source from the content-addressed store, hash-verified

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);

Callers

nothing calls this directly

Calls 11

isTraceEnabledFunction · 0.85
traceFunction · 0.85
node16ModuleNameResolverFunction · 0.85
nodeModuleNameResolverFunction · 0.85
classicNameResolverFunction · 0.85
concatMethod · 0.80
getMethod · 0.65
failMethod · 0.45
setMethod · 0.45
applyMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…