angular/angular-cli · warning
The 'vendorChunk' option is not used by this builder and wil
Error message
The 'vendorChunk' option is not used by this builder and will be ignored.
What it means
This is a warning emitted by the deprecated esbuild-based browser builder when the 'vendorChunk' option is present in the user's configuration. The esbuild builder splits chunks differently than the legacy Webpack builder and has no concept of a separate vendor chunk, so the option is silently ignored rather than applied. The build still proceeds normally.
Source
Thrown at packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts:40
* @param context The Architect builder context object
* @returns An async iterable with the builder result output
*/
export async function* buildEsbuildBrowser(
userOptions: BrowserBuilderOptions,
context: BuilderContext,
infrastructureSettings?: {
write?: boolean;
},
plugins?: Plugin[],
): AsyncIterable<BuilderOutput> {
context.logger.warn(
'The "@angular-devkit/build-angular:browser-esbuild" builder is deprecated as part of Angular\'s Webpack support deprecation. ' +
'Use "@angular/build:application" instead. For more information, see https://angular.dev/tools/cli/build-system-migration.',
);
// Warn about any unsupported options
if (userOptions['vendorChunk']) {
context.logger.warn(
`The 'vendorChunk' option is not used by this builder and will be ignored.`,
);
}
if (userOptions['commonChunk'] === false) {
context.logger.warn(
`The 'commonChunk' option is always enabled by this builder and will be ignored.`,
);
}
if (userOptions['webWorkerTsConfig']) {
context.logger.warn(`The 'webWorkerTsConfig' option is not yet supported by this builder.`);
}
// Convert browser builder options to application builder options
const normalizedOptions = convertBrowserOptions(userOptions);
// Execute the application builder
yield* buildApplication(normalizedOptions, context, { codePlugins: plugins });
}View on GitHub (pinned to bb72145f9a)
Solutions
- Remove the 'vendorChunk' option from the browser-esbuild target configuration in angular.json.
- If a vendor chunk is required, migrate to the '@angular/build:application' builder and adjust chunking strategy accordingly (chunking is automatic).
- Move the option to a separate Webpack-based builder target if you still need Webpack behavior.
Example fix
// angular.json before
"builder": "@angular-devkit/build-angular:browser-esbuild",
"options": { "vendorChunk": true, "outputPath": "dist/app" }
// after
"builder": "@angular-devkit/build-angular:browser-esbuild",
"options": { "outputPath": "dist/app" } Defensive patterns
Strategy: validation
Validate before calling
const esbuildOptions = new Set(['outputPath','index','main','browser','polyfills','tsConfig','assets','styles','scripts','...']);
if (target.options && 'vendorChunk' in target.options && target.builder.includes('browser-esbuild')) {
console.warn('vendorChunk is ignored by browser-esbuild; remove it.');
} Type guard
function hasVendorChunk(o: object): o is { vendorChunk: unknown } {
return 'vendorChunk' in o;
} Prevention
- Keep option sets per builder; do not share angular.json options blocks across Webpack and esbuild builders.
- Treat builder deprecation warnings in CI logs as migration TODOs.
- Lint angular.json with a schema check for the active builder.
When it happens
Trigger: Running the '@angular-devkit/build-angular:browser-esbuild' builder with `vendorChunk: true` (or any truthy value) in angular.json, project.json, or the ng build command line.
Common situations: Teams migrating from the Webpack 'browser' builder to 'browser-esbuild' (or switching between builders) while keeping the same options schema; shared angular.json used for both builders; copying Webpack-era build options into new targets.
Related errors
- The 'commonChunk' option is always enabled by this builder a
- The 'webWorkerTsConfig' option is not yet supported by this
- esbuild implementation missing
- Unknown error occurred processing bundle for "${path}".
- The "@angular-devkit/build-angular:browser-esbuild" builder
AI-assisted analysis of angular/angular-cli@bb72145f9a (2026-08-30).
Data as JSON: /api/errors/85856c0896115498.
Report an issue: GitHub.