rsbuild
rsbuild overrides or extends Rsbuild config (similar to Vite's build.rollupOptions, esbuild, etc.). It supports object (deep-merged with base) or function (full control, with helpers.merge for deep merge).
Type and default
- Type:
RsbuildConfig | ((base: RsbuildConfig, helpers?: RsbuildConfigHelpers) => RsbuildConfig | Promise<RsbuildConfig>) | undefined - Default: Omitted → only framework base config (entry, HTML, output, manifest write are set by built-in plugins).
Object form: deep merge
An object is deep-merged with the framework base. Use for adding or overriding fields (e.g. source.define, resolve.alias).
Function form: full control
A function receives (base, helpers):
- base: Framework-generated Rsbuild config.
- helpers.merge(base, overrides): Deep-merge overrides into base and return.
Use when you need env, async logic, or complex conditions.
Async:
Common use cases
Notes
- The framework sets
output.distPath,output.cleanDistPath,output.assetPrefix, and entry output filenames. Overridingoutputin rsbuild can break manifest paths; prefer incremental merge.

