From b4b7057fecd34b955bf455671c106be8b70f8a74 Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Wed, 28 Jan 2026 09:15:32 +0000 Subject: [PATCH] feat(@angular/cli): integrate file formatting into update migrations This adds formatting to `ng update` --- .../command-builder/schematics-command-module.ts | 2 +- .../cli/src/commands/update/utilities/migration.ts | 13 +++++++++++++ .../src/{command-builder => }/utilities/prettier.ts | 0 3 files changed, 14 insertions(+), 1 deletion(-) rename packages/angular/cli/src/{command-builder => }/utilities/prettier.ts (100%) diff --git a/packages/angular/cli/src/command-builder/schematics-command-module.ts b/packages/angular/cli/src/command-builder/schematics-command-module.ts index 5a8a8e7b3f3b..c74b44101e93 100644 --- a/packages/angular/cli/src/command-builder/schematics-command-module.ts +++ b/packages/angular/cli/src/command-builder/schematics-command-module.ts @@ -20,6 +20,7 @@ import { EventCustomDimension } from '../analytics/analytics-parameters'; import { getProjectByCwd, getSchematicDefaults } from '../utilities/config'; import { assertIsError } from '../utilities/error'; import { memoize } from '../utilities/memoize'; +import { formatFiles } from '../utilities/prettier'; import { isTTY } from '../utilities/tty'; import { CommandModule, @@ -29,7 +30,6 @@ import { OtherOptions, } from './command-module'; import { Option, parseJsonSchemaToOptions } from './utilities/json-schema'; -import { formatFiles } from './utilities/prettier'; import { SchematicEngineHost } from './utilities/schematic-engine-host'; import { subscribeToWorkflow } from './utilities/schematic-workflow'; diff --git a/packages/angular/cli/src/commands/update/utilities/migration.ts b/packages/angular/cli/src/commands/update/utilities/migration.ts index 3b53694d3859..f52726de5523 100644 --- a/packages/angular/cli/src/commands/update/utilities/migration.ts +++ b/packages/angular/cli/src/commands/update/utilities/migration.ts @@ -19,6 +19,7 @@ import { subscribeToWorkflow } from '../../../command-builder/utilities/schemati import { colors, figures } from '../../../utilities/color'; import { assertIsError } from '../../../utilities/error'; import { writeErrorToLogFile } from '../../../utilities/log-file'; +import { formatFiles } from '../../../utilities/prettier'; import { askChoices } from '../../../utilities/prompt'; import { isTTY } from '../../../utilities/tty'; import { coerceVersionNumber } from './cli-version'; @@ -230,6 +231,18 @@ async function executePackageMigrations( break; } + if (files.size) { + try { + await formatFiles(process.cwd(), files); + } catch (error) { + assertIsError(error); + + logger.warn( + `WARNING: Formatting of files failed with the following error: ${error.message}`, + ); + } + } + logger.info(` Migration completed (${modifiedFilesText}).`); // Commit migration diff --git a/packages/angular/cli/src/command-builder/utilities/prettier.ts b/packages/angular/cli/src/utilities/prettier.ts similarity index 100% rename from packages/angular/cli/src/command-builder/utilities/prettier.ts rename to packages/angular/cli/src/utilities/prettier.ts