rolldownDepPlugin() — vite Function Reference
Architecture documentation for the rolldownDepPlugin() function in rolldownDepPlugin.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD 9d9d1d96_da01_acb8_5086_7a043722cf91["rolldownDepPlugin()"] 88c474dd_3ef0_0479_2549_43cd02a6f84b["rolldownDepPlugin.ts"] 9d9d1d96_da01_acb8_5086_7a043722cf91 -->|defined in| 88c474dd_3ef0_0479_2549_43cd02a6f84b d2c87886_e4f7_0918_f1c5_5ddd6c5e08e8["createRolldownDepPluginTransform()"] d2c87886_e4f7_0918_f1c5_5ddd6c5e08e8 -->|calls| 9d9d1d96_da01_acb8_5086_7a043722cf91 27cb44a2_ca79_d2a4_e536_a5e4bc22ffbf["prepareRolldownOptimizerRun()"] 27cb44a2_ca79_d2a4_e536_a5e4bc22ffbf -->|calls| 9d9d1d96_da01_acb8_5086_7a043722cf91 7ee86c21_2650_c869_2f5d_720909757e00["createBackCompatIdResolver()"] 9d9d1d96_da01_acb8_5086_7a043722cf91 -->|calls| 7ee86c21_2650_c869_2f5d_720909757e00 5d2580c9_3b65_7396_afe1_ab2aa13f8ed9["isBuiltin()"] 9d9d1d96_da01_acb8_5086_7a043722cf91 -->|calls| 5d2580c9_3b65_7396_afe1_ab2aa13f8ed9 23257aa1_5e3f_7e6e_1b43_875b139e4ec5["isExternalUrl()"] 9d9d1d96_da01_acb8_5086_7a043722cf91 -->|calls| 23257aa1_5e3f_7e6e_1b43_875b139e4ec5 1cc52ea9_1097_389c_806c_c1207629afcc["flattenId()"] 9d9d1d96_da01_acb8_5086_7a043722cf91 -->|calls| 1cc52ea9_1097_389c_806c_c1207629afcc caf7895c_0586_261e_92ef_542af0901ea3["name()"] 9d9d1d96_da01_acb8_5086_7a043722cf91 -->|calls| caf7895c_0586_261e_92ef_542af0901ea3 ae8703ad_85e4_a4b4_5a15_57955bb1f6ce["isCSSRequest()"] 9d9d1d96_da01_acb8_5086_7a043722cf91 -->|calls| ae8703ad_85e4_a4b4_5a15_57955bb1f6ce 10e7daed_8b83_8119_ca52_eddfd906f7d4["isModuleCSSRequest()"] 9d9d1d96_da01_acb8_5086_7a043722cf91 -->|calls| 10e7daed_8b83_8119_ca52_eddfd906f7d4 26e0aa25_abdb_a755_dedb_61e78323162d["moduleListContains()"] 9d9d1d96_da01_acb8_5086_7a043722cf91 -->|calls| 26e0aa25_abdb_a755_dedb_61e78323162d 298b86d6_4810_9884_d5fa_3e3077e2206a["isDataUrl()"] 9d9d1d96_da01_acb8_5086_7a043722cf91 -->|calls| 298b86d6_4810_9884_d5fa_3e3077e2206a a4adb1a7_cf54_091f_eb63_8217e684a8e1["normalizePath()"] 9d9d1d96_da01_acb8_5086_7a043722cf91 -->|calls| a4adb1a7_cf54_091f_eb63_8217e684a8e1 style 9d9d1d96_da01_acb8_5086_7a043722cf91 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/vite/src/node/optimizer/rolldownDepPlugin.ts lines 61–363
export function rolldownDepPlugin(
environment: Environment,
qualified: Record<string, string>,
external: string[],
): RolldownPlugin[] {
const { isProduction } = environment.config
const { extensions } = environment.config.optimizeDeps
// remove optimizable extensions from `externalTypes` list
const allExternalTypes = extensions
? externalTypes.filter((type) => !extensions.includes('.' + type))
: externalTypes
// use separate package cache for optimizer as it caches paths around node_modules
// and it's unlikely for the core Vite process to traverse into node_modules again
const esmPackageCache: PackageCache = new Map()
const cjsPackageCache: PackageCache = new Map()
// default resolver which prefers ESM
const _resolve = createBackCompatIdResolver(environment.getTopLevelConfig(), {
asSrc: false,
scan: true,
packageCache: esmPackageCache,
})
// cjs resolver that prefers Node
const _resolveRequire = createBackCompatIdResolver(
environment.getTopLevelConfig(),
{
asSrc: false,
isRequire: true,
scan: true,
packageCache: cjsPackageCache,
},
)
const resolve = (
id: string,
importer: string | undefined,
kind: ImportKind,
): Promise<string | undefined> => {
// map importer ids to file paths for correct resolution
const _importer =
importer && importer in qualified ? qualified[importer] : importer
const resolver = kind.startsWith('require') ? _resolveRequire : _resolve
return resolver(environment, id, _importer)
}
const resolveResult = (id: string, resolved: string) => {
if (resolved.startsWith(browserExternalId)) {
return {
id: browserExternalNamespace + id,
}
}
if (resolved.startsWith(optionalPeerDepId)) {
return {
id: optionalPeerDepNamespace + resolved,
}
}
if (isBuiltin(environment.config.resolve.builtins, resolved)) {
return
}
if (isExternalUrl(resolved)) {
return {
id: resolved,
external: 'absolute',
}
}
return {
id: path.resolve(resolved),
}
}
const allExternalTypesReg = new RegExp(
`\\.(` + allExternalTypes.join('|') + `)(\\?.*)?$`,
)
function resolveEntry(id: string) {
const flatId = flattenId(id)
if (flatId in qualified) {
return {
Domain
Subdomains
Calls
Source
Frequently Asked Questions
What does rolldownDepPlugin() do?
rolldownDepPlugin() is a function in the vite codebase, defined in packages/vite/src/node/optimizer/rolldownDepPlugin.ts.
Where is rolldownDepPlugin() defined?
rolldownDepPlugin() is defined in packages/vite/src/node/optimizer/rolldownDepPlugin.ts at line 61.
What does rolldownDepPlugin() call?
rolldownDepPlugin() calls 10 function(s): createBackCompatIdResolver, flattenId, isBuiltin, isCSSRequest, isDataUrl, isExternalUrl, isModuleCSSRequest, moduleListContains, and 2 more.
What calls rolldownDepPlugin()?
rolldownDepPlugin() is called by 2 function(s): createRolldownDepPluginTransform, prepareRolldownOptimizerRun.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free