resolveRolldownOptions() — vite Function Reference
Architecture documentation for the resolveRolldownOptions() function in build.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD a016fb65_b1f4_be50_c5c3_d0c8f7b2ab52["resolveRolldownOptions()"] 45981d85_cbdd_e969_8c88_c17072ea0eda["build.ts"] a016fb65_b1f4_be50_c5c3_d0c8f7b2ab52 -->|defined in| 45981d85_cbdd_e969_8c88_c17072ea0eda 94ad7f99_b02e_152e_c5a9_749d6de8d3c0["buildEnvironment()"] 94ad7f99_b02e_152e_c5a9_749d6de8d3c0 -->|calls| a016fb65_b1f4_be50_c5c3_d0c8f7b2ab52 e6c19722_5c65_17df_83d9_4bb453d26d5b["getRolldownOptions()"] e6c19722_5c65_17df_83d9_4bb453d26d5b -->|calls| a016fb65_b1f4_be50_c5c3_d0c8f7b2ab52 dfa2b928_25a4_a78f_1e11_1e7e643cae09["resolve()"] a016fb65_b1f4_be50_c5c3_d0c8f7b2ab52 -->|calls| dfa2b928_25a4_a78f_1e11_1e7e643cae09 d7a9e9fe_edc0_c70e_690b_4591b789faca["injectEnvironmentToHooks()"] a016fb65_b1f4_be50_c5c3_d0c8f7b2ab52 -->|calls| d7a9e9fe_edc0_c70e_690b_4591b789faca 5f780e97_091a_dfa9_1506_327f54d41dca["onRollupLog()"] a016fb65_b1f4_be50_c5c3_d0c8f7b2ab52 -->|calls| 5f780e97_091a_dfa9_1506_327f54d41dca b1f5b07b_f692_69cd_1795_627055928bb7["getTopLevelConfig()"] a016fb65_b1f4_be50_c5c3_d0c8f7b2ab52 -->|calls| b1f5b07b_f692_69cd_1795_627055928bb7 60e05a5b_2625_e45f_63c4_c6eebc6e2d5b["resolveOutputJsExtension()"] a016fb65_b1f4_be50_c5c3_d0c8f7b2ab52 -->|calls| 60e05a5b_2625_e45f_63c4_c6eebc6e2d5b 31b651d6_9d57_14b0_2e8c_d85642bc19f4["findNearestPackageData()"] a016fb65_b1f4_be50_c5c3_d0c8f7b2ab52 -->|calls| 31b651d6_9d57_14b0_2e8c_d85642bc19f4 fef76ea3_a24d_c3ab_a223_9dccb849d65f["resolveLibFilename()"] a016fb65_b1f4_be50_c5c3_d0c8f7b2ab52 -->|calls| fef76ea3_a24d_c3ab_a223_9dccb849d65f c96008e0_3b87_08ec_3ca8_496b2bf473ab["resolveBuildOutputs()"] a016fb65_b1f4_be50_c5c3_d0c8f7b2ab52 -->|calls| c96008e0_3b87_08ec_3ca8_496b2bf473ab 3cf1d94a_16a2_96d6_7d1d_9757e22a2557["warn()"] a016fb65_b1f4_be50_c5c3_d0c8f7b2ab52 -->|calls| 3cf1d94a_16a2_96d6_7d1d_9757e22a2557 style a016fb65_b1f4_be50_c5c3_d0c8f7b2ab52 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/vite/src/node/build.ts lines 565–774
export function resolveRolldownOptions(
environment: Environment,
chunkMetadataMap: ChunkMetadataMap,
): RolldownOptions {
const { root, packageCache, build: options } = environment.config
const libOptions = options.lib
const { logger } = environment
const ssr = environment.config.consumer === 'server'
const resolve = (p: string) => path.resolve(root, p)
const input = libOptions
? options.rollupOptions.input ||
(typeof libOptions.entry === 'string'
? resolve(libOptions.entry)
: Array.isArray(libOptions.entry)
? libOptions.entry.map(resolve)
: Object.fromEntries(
Object.entries(libOptions.entry).map(([alias, file]) => [
alias,
resolve(file),
]),
))
: typeof options.ssr === 'string'
? resolve(options.ssr)
: options.rollupOptions.input || resolve('index.html')
if (ssr && typeof input === 'string' && input.endsWith('.html')) {
throw new Error(
`rollupOptions.input should not be an html file when building for SSR. ` +
`Please specify a dedicated SSR entry.`,
)
}
if (options.cssCodeSplit === false) {
const inputs =
typeof input === 'string'
? [input]
: Array.isArray(input)
? input
: Object.values(input)
if (inputs.some((input) => input.endsWith('.css'))) {
throw new Error(
`When "build.cssCodeSplit: false" is set, "rollupOptions.input" should not include CSS files.`,
)
}
}
const outDir = resolve(options.outDir)
// inject environment and ssr arg to plugin load/transform hooks
const plugins = environment.plugins.map((p) =>
injectEnvironmentToHooks(environment, chunkMetadataMap, p),
)
const rollupOptions: RolldownOptions = {
preserveEntrySignatures: ssr
? 'allow-extension'
: libOptions
? 'strict'
: false,
// cache: options.watch ? undefined : false,
...options.rollupOptions,
output: options.rollupOptions.output,
input,
plugins,
external: options.rollupOptions.external,
onLog(level, log) {
onRollupLog(level, log, environment)
},
transform: {
target: options.target === false ? undefined : options.target,
...options.rollupOptions.transform,
define: {
...options.rollupOptions.transform?.define,
// disable builtin process.env.NODE_ENV replacement as it is handled by the define plugin
'process.env.NODE_ENV': 'process.env.NODE_ENV',
},
},
// TODO: remove this and enable rolldown's CSS support later
moduleTypes: {
...options.rollupOptions.moduleTypes,
'.css': 'js',
Domain
Subdomains
Defined In
Calls
Called By
Source
Frequently Asked Questions
What does resolveRolldownOptions() do?
resolveRolldownOptions() is a function in the vite codebase, defined in packages/vite/src/node/build.ts.
Where is resolveRolldownOptions() defined?
resolveRolldownOptions() is defined in packages/vite/src/node/build.ts at line 565.
What does resolveRolldownOptions() call?
resolveRolldownOptions() calls 9 function(s): findNearestPackageData, getTopLevelConfig, injectEnvironmentToHooks, onRollupLog, resolve, resolveBuildOutputs, resolveLibFilename, resolveOutputJsExtension, and 1 more.
What calls resolveRolldownOptions()?
resolveRolldownOptions() is called by 2 function(s): buildEnvironment, getRolldownOptions.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free