MCPcopy
hub / github.com/vitejs/vite / resolveId

Function resolveId

packages/vite/src/node/plugins/preAlias.ts:34–86  ·  view source on GitHub ↗
(id, importer, options)

Source from the content-addressed store, hash-verified

32 return !isDepOptimizationDisabled(environment.config.optimizeDeps)
33 },
34 async resolveId(id, importer, options) {
35 const environment = this.environment as DevEnvironment
36 const ssr = environment.config.consumer === 'server'
37 const depsOptimizer = environment.depsOptimizer
38 if (
39 importer &&
40 depsOptimizer &&
41 bareImportRE.test(id) &&
42 !options.scan &&
43 id !== '@vite/client' &&
44 id !== '@vite/env'
45 ) {
46 if (findPatterns.find((pattern) => matches(pattern, id))) {
47 const optimizedId = await tryOptimizedResolve(
48 depsOptimizer,
49 id,
50 importer,
51 config.resolve.preserveSymlinks,
52 config.packageCache,
53 )
54 if (optimizedId) {
55 return optimizedId // aliased dep already optimized
56 }
57 if (depsOptimizer.options.noDiscovery) {
58 return
59 }
60 const resolved = await this.resolve(id, importer, options)
61 if (resolved && !depsOptimizer.isOptimizedDepFile(resolved.id)) {
62 const optimizeDeps = depsOptimizer.options
63 const resolvedId = cleanUrl(resolved.id)
64 const isVirtual = resolvedId === id || resolvedId.includes('\0')
65 if (
66 !isVirtual &&
67 fs.existsSync(resolvedId) &&
68 !moduleListContains(optimizeDeps.exclude, id) &&
69 path.isAbsolute(resolvedId) &&
70 (isInNodeModules(resolvedId) ||
71 optimizeDeps.include?.includes(id)) &&
72 isOptimizable(resolvedId, optimizeDeps) &&
73 (!ssr || optimizeAliasReplacementForSSR(resolvedId, optimizeDeps))
74 ) {
75 // aliased dep has not yet been optimized
76 const optimizedInfo = depsOptimizer!.registerMissingImport(
77 id,
78 resolvedId,
79 )
80 return { id: depsOptimizer!.getOptimizedDepId(optimizedInfo) }
81 }
82 }
83 return resolved
84 }
85 }
86 },
87 }
88}
89

Callers 2

tryNodeResolveFunction · 0.70
toAbsoluteGlobFunction · 0.70

Calls 8

tryOptimizedResolveFunction · 0.90
cleanUrlFunction · 0.90
moduleListContainsFunction · 0.90
isInNodeModulesFunction · 0.90
isOptimizableFunction · 0.90
matchesFunction · 0.85
resolveMethod · 0.65

Tested by

no test coverage detected