Description
Upgrade the core-web Nx workspace from Angular 21 to Angular 22, including the bump to TypeScript 6. The workspace is currently on Angular 21, so this work is unblocked.
Scope is the entire workspace: the dotcms-ui app, all internal libraries, and the published @dotcms/* SDK packages.
Angular migrations are driven through the standard Nx flow:
# 1. Confirm the Nx CLI version
nvm use
nx --version
# 2. Let Nx update package.json + migrations.json to the latest compatible versions
nx migrate latest
# 3. Install the updated dependencies
pnpm install
# 4. Run the generated migrations
nx migrate --run-migrations
After running the schematics, validate that the Angular automated migrations applied cleanly:
https://angular.dev/reference/migrations
TypeScript 6 note
Angular 22 moves to TypeScript 6. To smooth the transition over removed/renamed APIs, the temporary ignoreDeprecations flag may be required in the relevant tsconfig:
{ "compilerOptions": { "ignoreDeprecations": "6.0" } }
This should be treated as a transitional measure and removed once the deprecated usages are migrated.
Reference material
Acceptance Criteria
Preconditions / setup
Migration (behavior unchanged)
Verification — no regressions
Cleanup
Priority
Low
Additional Context
Standard Nx-driven Angular upgrade. The bulk of the work is automated by the Nx + Angular schematics; manual effort is expected mainly around deprecated API usages surfaced by TypeScript 6 and any breaking changes called out in the Angular v22 changelog.
Description
Upgrade the
core-webNx workspace from Angular 21 to Angular 22, including the bump to TypeScript 6. The workspace is currently on Angular 21, so this work is unblocked.Scope is the entire workspace: the
dotcms-uiapp, all internal libraries, and the published@dotcms/*SDK packages.Angular migrations are driven through the standard Nx flow:
After running the schematics, validate that the Angular automated migrations applied cleanly:
https://angular.dev/reference/migrations
TypeScript 6 note
Angular 22 moves to TypeScript 6. To smooth the transition over removed/renamed APIs, the temporary
ignoreDeprecationsflag may be required in the relevanttsconfig:{ "compilerOptions": { "ignoreDeprecations": "6.0" } }This should be treated as a transitional measure and removed once the deprecated usages are migrated.
Reference material
Acceptance Criteria
Preconditions / setup
nx report)nx migrate latestMigration (behavior unchanged)
package.json(app, internal libs, and published@dotcms/*SDKs) are on Angular 22.xtsc/ Nx type-check passes)yarn nx migrate --run-migrationscompletes with all schematics applied, no pending entries left inmigrations.jsonVerification — no regressions
pnpm nx run-many -t buildsucceeds for all affected projectspnpm nx run-many -t testpasses for all affected projectspnpm nx run-many -t lintpasses for all affected projects@dotcms/*SDK packages build and pass their existing tests/type-checksdotcms-uiruns and core admin flows render without runtime/console errorsCleanup
ignoreDeprecations: \"6.0\"flags are documented and tracked for removal (removed where deprecated usages were already migrated)package.json/ lockfile (yarn.lock) changes committed and reproducible from a clean installPriority
Low
Additional Context
Standard Nx-driven Angular upgrade. The bulk of the work is automated by the Nx + Angular schematics; manual effort is expected mainly around deprecated API usages surfaced by TypeScript 6 and any breaking changes called out in the Angular v22 changelog.