angular/angular-cli · warning
The "@angular-devkit/build-angular:browser-esbuild" builder
Error message
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.
What it means
The `@angular-devkit/build-angular:browser-esbuild` builder (the transitional esbuild browser builder in the Webpack package) is deprecated along with Angular's Webpack support. Running it warns users to migrate to the maintained `@angular/build:application` builder.
Source
Thrown at packages/angular_devkit/build_angular/src/builders/browser-esbuild/index.ts:33
type OutputPathClass = Exclude<ApplicationBuilderOptions['outputPath'], string | undefined>;
/**
* Main execution function for the esbuild-based application builder.
* The options are compatible with the Webpack-based builder.
* @param userOptions The browser builder options to use when setting up the application build
* @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.`);
}View on GitHub (pinned to bb72145f9a)
Solutions
- Run the automated build-system migration: `ng generate @angular/build:apply-build-system-migration`.
- Change `angular.json` to use `"builder": "@angular/build:application"` and migrate options (e.g. drop Webpack-only options like `vendorChunk`).
- Remove plugin/Webpack-specific workarounds that the new builder doesn't need, then rebuild and compare output.
Example fix
// before (angular.json) "builder": "@angular-devkit/build-angular:browser-esbuild" // after "builder": "@angular/build:application"
Defensive patterns
Strategy: validation
Validate before calling
// detect transitional esbuild browser builder in angular.json
const arch = require('./angular.json');
if (JSON.stringify(arch).includes('browser-esbuild')) {
throw new Error('Use @angular/build:application instead of @angular-devkit/build-angular:browser-esbuild');
} Prevention
- Migrate to `@angular/build:application` as soon as the option appears.
- Drop Webpack-only options (vendorChunk, etc.) during migration.
- Track Angular deprecation notices in release notes each upgrade.
When it happens
Trigger: Running a build target configured with `"builder": "@angular-devkit/build-angular:browser-esbuild"` in `angular.json`, or calling `buildEsbuildBrowser` programmatically.
Common situations: Projects that adopted the early esbuild integration inside `@angular-devkit/build-angular` and haven't migrated to the standalone `@angular/build` package after upgrading Angular.
Related errors
- The "@angular-devkit/build-angular:app-shell" builder is dep
- The "@angular-devkit/build-webpack:webpack" builder is depre
- Webpack stats build result is required.
- The "application" and "browser-esbuild" builders do not supp
- Only the "application" and "browser-esbuild" builders suppor
AI-assisted analysis of angular/angular-cli@bb72145f9a (2026-08-30).
Data as JSON: /api/errors/d2644fb61f52e88d.
Report an issue: GitHub.