{"record":{"id":"0af8ab81ee900566","repo":"angular/angular-cli","slug":"the-angular-devkit-build-angular-prerender-buil","errorCode":null,"errorMessage":"The \"@angular-devkit/build-angular:prerender\" 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.","messagePattern":"The \"@angular-devkit/build-angular:prerender\" 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\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"packages/angular_devkit/build_angular/src/builders/prerender/index.ts","lineNumber":281,"sourceCode":"      }\n    }\n  } finally {\n    void worker.destroy();\n  }\n\n  return browserResult;\n}\n\n/**\n * Builds the browser and server, then renders each route in options.routes\n * and writes them to prerender/<route>/index.html for each output path in\n * the browser result.\n */\nexport async function execute(\n  options: PrerenderBuilderOptions,\n  context: BuilderContext,\n): Promise<PrerenderBuilderOutput> {\n  context.logger.warn(\n    'The \"@angular-devkit/build-angular:prerender\" builder is deprecated as part of Angular\\'s Webpack support deprecation. ' +\n      'Use \"@angular/build:application\" instead. For more information, see https://angular.dev/tools/cli/build-system-migration.',\n  );\n\n  const browserTarget = targetFromTargetString(options.browserTarget);\n  const browserOptions = (await context.getTargetOptions(\n    browserTarget,\n  )) as unknown as BrowserBuilderOptions;\n  const result = await _scheduleBuilds(options, context);\n  const { success, error, browserResult, serverResult } = result;\n\n  if (!success || !browserResult || !serverResult) {\n    return { success, error } as BuilderOutput;\n  }\n\n  return _renderUniversal(options, context, browserResult, serverResult, browserOptions);\n}\n","sourceCodeStart":263,"sourceCodeEnd":299,"githubUrl":"https://github.com/angular/angular-cli/blob/bb72145f9ab45aee29f523236b3a25cd0813a841/packages/angular_devkit/build_angular/src/builders/prerender/index.ts#L263-L299","documentation":"The @angular-devkit/build-angular:prerender builder warns that it is deprecated as part of Angular's Webpack support deprecation. Its functionality (SSG/prerendering) is now provided by @angular/build:application with server-side rendering configuration.","triggerScenarios":"Executing the prerender builder (e.g., `ng run project:prerender`) configured with the legacy @angular-devkit/build-angular:prerender builder.","commonSituations":"Angular Universal-style prerender setups kept after upgrading Angular; CI emits deprecation warnings on every SSG build.","solutions":["Migrate to @angular/build:application with prerendering configured (\"outputMode\"/prerender options or @angular/build:application + server routes).","Run `ng update` migrations which rework prerender configuration to the new builder.","Ignore the warning temporarily if the migration is scheduled later."],"exampleFix":"// angular.json\n// before\n\"builder\": \"@angular-devkit/build-angular:prerender\"\n// after\n\"builder\": \"@angular/build:application\"\n// with \"options\": { \"outputMode\": \"static\", \"server\": \"...:server\" }","handlingStrategy":"fallback","validationCode":"const cfg = require('./angular.json');\nif (JSON.stringify(cfg).includes('@angular-devkit/build-angular:prerender')) console.warn('Migrate prerender to @angular/build:application');","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Configure SSG via @angular/build:application (outputMode/prerender options) for new projects.","Run `ng update` migrations to convert prerender targets.","Test prerendered output after migration, route lists can change format."],"tags":["deprecation","angular","prerender","ssg"],"backgroundTag":"webpack-builder-deprecated","analyzedSha":"bb72145f9ab45aee29f523236b3a25cd0813a841","analyzedAt":"2026-08-30T02:47:34.745Z","schemaVersion":2},"datasetVersion":"2026-08-30T08:17:16.595Z"}