MCPcopy Index your code
hub / github.com/rollup/plugins / createModuleResolver

Function createModuleResolver

packages/typescript/src/moduleResolution.ts:28–60  ·  view source on GitHub ↗
(
  ts: typeof typescript,
  host: ModuleResolverHost,
  filter: ReturnType<CreateFilter>
)

Source from the content-addressed store, hash-verified

26 * with methods for sanitizing filenames and getting compiler options.
27 */
28export default function createModuleResolver(
29 ts: typeof typescript,
30 host: ModuleResolverHost,
31 filter: ReturnType<CreateFilter>
32): Resolver {
33 const compilerOptions = host.getCompilationSettings();
34 const cache = ts.createModuleResolutionCache(
35 process.cwd(),
36 host.getCanonicalFileName,
37 compilerOptions
38 );
39 const moduleHost = { ...ts.sys, ...host };
40
41 return (moduleName, containingFile, redirectedReference, mode) => {
42 const { resolvedModule } = ts.resolveModuleName(
43 moduleName,
44 containingFile,
45 compilerOptions,
46 moduleHost,
47 cache,
48 redirectedReference,
49 mode
50 );
51 /**
52 * If the module's path contains 'node_modules', ts considers it an external library and refuses to compile it,
53 * so we have to change the value of `isExternalLibraryImport` to false if it's true
54 * */
55 if (resolvedModule?.isExternalLibraryImport && filter(resolvedModule?.resolvedFileName)) {
56 resolvedModule.isExternalLibraryImport = false;
57 }
58 return resolvedModule;
59 };
60}

Callers 1

typescriptFunction · 0.85

Calls 2

filterFunction · 0.50

Tested by

no test coverage detected