angular/angular-cli · warning
The "@angular-devkit/build-angular:server" builder is deprec
Error message
The "@angular-devkit/build-angular:server" 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:server builder warns that it is deprecated as part of Angular's Webpack support deprecation; users should use the esbuild-based @angular/build:application builder (which handles the server bundle for SSR).
Source
Thrown at packages/angular_devkit/build_angular/src/builders/server/index.ts:69
path: string;
}[];
};
export type { ServerBuilderOptions };
/**
* @experimental Direct usage of this function is considered experimental.
*/
export function execute(
options: ServerBuilderOptions,
context: BuilderContext,
transforms: {
webpackConfiguration?: ExecutionTransformer<webpack.Configuration>;
} = {},
): Observable<ServerBuilderOutput> {
const root = context.workspaceRoot;
context.logger.warn(
'The "@angular-devkit/build-angular:server" 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.',
);
// Check Angular version.
assertCompatibleAngularVersion(root);
const baseOutputPath = path.resolve(root, options.outputPath);
let outputPaths: undefined | Map<string, string>;
return from(initialize(options, context, transforms.webpackConfiguration)).pipe(
concatMap(({ config, i18n, projectRoot, projectSourceRoot }) => {
return runWebpack(config, context, {
webpackFactory: require('webpack') as typeof webpack,
logging: (stats, config) => {
if (options.verbose && config.stats !== false) {
const statsOptions = config.stats === true ? undefined : config.stats;
context.logger.info(stats.toString(statsOptions));View on GitHub (pinned to bb72145f9a)
Solutions
- Migrate the server target to @angular/build:application (which builds both browser and server bundles).
- Run `ng update` to apply SSR migration schematics.
- Keep using the deprecated builder temporarily; it still functions but webpack transforms are on a deprecation path.
Example fix
// angular.json // before "builder": "@angular-devkit/build-angular:server" // after "builder": "@angular/build:application" // with "server": "src/main.server.ts" options
Defensive patterns
Strategy: fallback
Validate before calling
const cfg = require('./angular.json');
if (JSON.stringify(cfg).includes('@angular-devkit/build-angular:server')) console.warn('Migrate server target to @angular/build:application'); Prevention
- Use @angular/build:application for SSR bundles in new projects.
- Run `ng update` to apply SSR builder migrations.
- Validate SSR output after migration since output file naming changes.
When it happens
Trigger: Running a server build target (e.g., `ng run project:server`) that uses the legacy webpack-based server builder.
Common situations: Angular Universal SSR projects retained after Angular upgrades; every SSR build logs this deprecation warning.
Related errors
- The "@angular-devkit/build-angular:ssr-dev-server" builder i
- The "@angular-devkit/build-angular:app-shell" builder is dep
- The "@angular-devkit/build-angular:karma" builder is depreca
- The "@angular-devkit/build-angular:ng-packagr" builder is de
- The "@angular-devkit/build-webpack:webpack-dev-server" build
AI-assisted analysis of angular/angular-cli@bb72145f9a (2026-08-30).
Data as JSON: /api/errors/cb3dac1207a79b2e.
Report an issue: GitHub.