resolvePackageData() — vite Function Reference
Architecture documentation for the resolvePackageData() function in packages.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD 170ceb82_4bf1_2290_1f2e_bbdec11e5184["resolvePackageData()"] dff9cadb_1e8c_7fc9_4119_a173f1f21cbd["packages.ts"] 170ceb82_4bf1_2290_1f2e_bbdec11e5184 -->|defined in| dff9cadb_1e8c_7fc9_4119_a173f1f21cbd 0d9f6ef1_e83d_dc1d_d305_6a3df47149f2["expandGlobIds()"] 0d9f6ef1_e83d_dc1d_d305_6a3df47149f2 -->|calls| 170ceb82_4bf1_2290_1f2e_bbdec11e5184 aea061f1_a9fb_f743_6171_1c7464fe1587["nestedResolveBasedir()"] aea061f1_a9fb_f743_6171_1c7464fe1587 -->|calls| 170ceb82_4bf1_2290_1f2e_bbdec11e5184 310b19b4_2716_b45b_716d_edfca3064152["tryNodeResolve()"] 310b19b4_2716_b45b_716d_edfca3064152 -->|calls| 170ceb82_4bf1_2290_1f2e_bbdec11e5184 a2e55a70_b7b6_bce2_e066_aea4c516313e["tryOptimizedResolve()"] a2e55a70_b7b6_bce2_e066_aea4c516313e -->|calls| 170ceb82_4bf1_2290_1f2e_bbdec11e5184 72a3d8a0_24bf_6aad_622c_540620daa22e["getRpdCacheKey()"] 170ceb82_4bf1_2290_1f2e_bbdec11e5184 -->|calls| 72a3d8a0_24bf_6aad_622c_540620daa22e c2d70c8c_c901_2d4f_df10_d0fa8607751f["loadPackageData()"] 170ceb82_4bf1_2290_1f2e_bbdec11e5184 -->|calls| c2d70c8c_c901_2d4f_df10_d0fa8607751f 41da51dc_6cf8_6db8_ad13_ab1389b28aec["getRpdCache()"] 170ceb82_4bf1_2290_1f2e_bbdec11e5184 -->|calls| 41da51dc_6cf8_6db8_ad13_ab1389b28aec 03d650a1_a149_b59e_5aaa_30a34e11ad10["setRpdCache()"] 170ceb82_4bf1_2290_1f2e_bbdec11e5184 -->|calls| 03d650a1_a149_b59e_5aaa_30a34e11ad10 style 170ceb82_4bf1_2290_1f2e_bbdec11e5184 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/vite/src/node/packages.ts lines 63–127
export function resolvePackageData(
pkgName: string,
basedir: string,
preserveSymlinks = false,
packageCache?: PackageCache,
): PackageData | null {
if (pnp) {
const cacheKey = getRpdCacheKey(pkgName, basedir, preserveSymlinks)
if (packageCache?.has(cacheKey)) return packageCache.get(cacheKey)!
try {
const pkg = pnp.resolveToUnqualified(pkgName, basedir, {
considerBuiltins: false,
})
if (!pkg) return null
const pkgData = loadPackageData(path.join(pkg, 'package.json'))
packageCache?.set(cacheKey, pkgData)
return pkgData
} catch {
return null
}
}
const originalBasedir = basedir
while (basedir) {
if (packageCache) {
const cached = getRpdCache(
packageCache,
pkgName,
basedir,
originalBasedir,
preserveSymlinks,
)
if (cached) return cached
}
const pkg = path.join(basedir, 'node_modules', pkgName, 'package.json')
try {
if (fs.existsSync(pkg)) {
const pkgPath = preserveSymlinks ? pkg : safeRealpathSync(pkg)
const pkgData = loadPackageData(pkgPath)
if (packageCache) {
setRpdCache(
packageCache,
pkgData,
pkgName,
basedir,
originalBasedir,
preserveSymlinks,
)
}
return pkgData
}
} catch {}
const nextBasedir = path.dirname(basedir)
if (nextBasedir === basedir) break
basedir = nextBasedir
}
return null
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does resolvePackageData() do?
resolvePackageData() is a function in the vite codebase, defined in packages/vite/src/node/packages.ts.
Where is resolvePackageData() defined?
resolvePackageData() is defined in packages/vite/src/node/packages.ts at line 63.
What does resolvePackageData() call?
resolvePackageData() calls 4 function(s): getRpdCache, getRpdCacheKey, loadPackageData, setRpdCache.
What calls resolvePackageData()?
resolvePackageData() is called by 4 function(s): expandGlobIds, nestedResolveBasedir, tryNodeResolve, tryOptimizedResolve.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free