buildEnvironment() — vite Function Reference
Architecture documentation for the buildEnvironment() function in build.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD 94ad7f99_b02e_152e_c5a9_749d6de8d3c0["buildEnvironment()"] 45981d85_cbdd_e969_8c88_c17072ea0eda["build.ts"] 94ad7f99_b02e_152e_c5a9_749d6de8d3c0 -->|defined in| 45981d85_cbdd_e969_8c88_c17072ea0eda 8fb400c0_eabf_b57a_2905_d2afc7644da6["createBuilder()"] 8fb400c0_eabf_b57a_2905_d2afc7644da6 -->|calls| 94ad7f99_b02e_152e_c5a9_749d6de8d3c0 a016fb65_b1f4_be50_c5c3_d0c8f7b2ab52["resolveRolldownOptions()"] 94ad7f99_b02e_152e_c5a9_749d6de8d3c0 -->|calls| a016fb65_b1f4_be50_c5c3_d0c8f7b2ab52 841e9f5e_2979_644d_f5ee_6e634536197c["getResolvedOutDirs()"] 94ad7f99_b02e_152e_c5a9_749d6de8d3c0 -->|calls| 841e9f5e_2979_644d_f5ee_6e634536197c dd84c207_766d_3923_500c_1abe3b21a31e["resolveEmptyOutDir()"] 94ad7f99_b02e_152e_c5a9_749d6de8d3c0 -->|calls| dd84c207_766d_3923_500c_1abe3b21a31e 5c18d7ac_9113_a831_b6e2_bda4c7fd6ddd["resolveChokidarOptions()"] 94ad7f99_b02e_152e_c5a9_749d6de8d3c0 -->|calls| 5c18d7ac_9113_a831_b6e2_bda4c7fd6ddd d2c779ef_5a62_b85d_23f4_6937e2c9e0e6["convertToNotifyOptions()"] 94ad7f99_b02e_152e_c5a9_749d6de8d3c0 -->|calls| d2c779ef_5a62_b85d_23f4_6937e2c9e0e6 e2e6edbb_7f9c_497a_7e44_feef63f1b53f["clearResetChunks()"] 94ad7f99_b02e_152e_c5a9_749d6de8d3c0 -->|calls| e2e6edbb_7f9c_497a_7e44_feef63f1b53f 365dd1a8_292f_ae21_8f83_1ecfde441d37["enhanceRollupError()"] 94ad7f99_b02e_152e_c5a9_749d6de8d3c0 -->|calls| 365dd1a8_292f_ae21_8f83_1ecfde441d37 0ae44fcb_cb76_b322_98e1_3bb6cce3ebde["clearLine()"] 94ad7f99_b02e_152e_c5a9_749d6de8d3c0 -->|calls| 0ae44fcb_cb76_b322_98e1_3bb6cce3ebde 19ce2051_6a74_4b8b_104d_ec006cd7075f["arraify()"] 94ad7f99_b02e_152e_c5a9_749d6de8d3c0 -->|calls| 19ce2051_6a74_4b8b_104d_ec006cd7075f cc503659_fea6_f7a4_0eca_f9b89ae2eb3a["injectChunkMetadata()"] 94ad7f99_b02e_152e_c5a9_749d6de8d3c0 -->|calls| cc503659_fea6_f7a4_0eca_f9b89ae2eb3a 2e315ff6_3308_1eee_6d6e_6eea63aebc22["displayTime()"] 94ad7f99_b02e_152e_c5a9_749d6de8d3c0 -->|calls| 2e315ff6_3308_1eee_6d6e_6eea63aebc22 7e22b0a1_210d_c2ca_9a20_17eec3acb06f["info()"] 94ad7f99_b02e_152e_c5a9_749d6de8d3c0 -->|calls| 7e22b0a1_210d_c2ca_9a20_17eec3acb06f style 94ad7f99_b02e_152e_c5a9_749d6de8d3c0 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/vite/src/node/build.ts lines 779–885
async function buildEnvironment(
environment: BuildEnvironment,
): Promise<RolldownOutput | RolldownOutput[] | RolldownWatcher> {
const { logger, config } = environment
const { root, build: options } = config
logger.info(
colors.cyan(
`vite v${VERSION} ${colors.green(
`building ${environment.name} environment for ${environment.config.mode}...`,
)}`,
),
)
let bundle: RolldownBuild | undefined
let startTime: number | undefined
try {
const chunkMetadataMap = new ChunkMetadataMap()
const rollupOptions = resolveRolldownOptions(environment, chunkMetadataMap)
// watch file changes with rollup
if (options.watch) {
logger.info(colors.cyan(`\nwatching for file changes...`))
const resolvedOutDirs = getResolvedOutDirs(
root,
options.outDir,
options.rollupOptions.output,
)
const emptyOutDir = resolveEmptyOutDir(
options.emptyOutDir,
root,
resolvedOutDirs,
logger,
)
const resolvedChokidarOptions = resolveChokidarOptions(
{
// @ts-expect-error chokidar option does not exist in rolldown but used for backward compat
...(rollupOptions.watch || {}).chokidar,
// @ts-expect-error chokidar option does not exist in rolldown but used for backward compat
...options.watch.chokidar,
},
resolvedOutDirs,
emptyOutDir,
environment.config.cacheDir,
)
const { watch } = await import('rolldown')
const watcher = watch({
...rollupOptions,
watch: {
...rollupOptions.watch,
...options.watch,
notify: convertToNotifyOptions(resolvedChokidarOptions),
},
})
watcher.on('event', (event) => {
if (event.code === 'BUNDLE_START') {
logger.info(colors.cyan(`\nbuild started...`))
chunkMetadataMap.clearResetChunks()
} else if (event.code === 'BUNDLE_END') {
event.result.close()
logger.info(colors.cyan(`built in ${event.duration}ms.`))
} else if (event.code === 'ERROR') {
const e = event.error
enhanceRollupError(e)
clearLine()
logger.error(e.message, { error: e })
}
})
return watcher
}
// write or generate files with rolldown
const { rolldown } = await import('rolldown')
startTime = Date.now()
bundle = await rolldown(rollupOptions)
const res: RolldownOutput[] = []
Domain
Subdomains
Defined In
Calls
Called By
Source
Frequently Asked Questions
What does buildEnvironment() do?
buildEnvironment() is a function in the vite codebase, defined in packages/vite/src/node/build.ts.
Where is buildEnvironment() defined?
buildEnvironment() is defined in packages/vite/src/node/build.ts at line 779.
What does buildEnvironment() call?
buildEnvironment() calls 14 function(s): arraify, clearLine, clearResetChunks, close, convertToNotifyOptions, displayTime, enhanceRollupError, error, and 6 more.
What calls buildEnvironment()?
buildEnvironment() is called by 1 function(s): createBuilder.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free