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

  1. Migrate the server target to @angular/build:application (which builds both browser and server bundles).
  2. Run `ng update` to apply SSR migration schematics.
  3. 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

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


AI-assisted analysis of angular/angular-cli@bb72145f9a (2026-08-30). Data as JSON: /api/errors/cb3dac1207a79b2e. Report an issue: GitHub.