Skip to content

Upgrade to Angular 22 (combines Renovate #11 + #13)#28

Merged
ANcpLua merged 1 commit into
mainfrom
claude/angular-22
Jul 1, 2026
Merged

Upgrade to Angular 22 (combines Renovate #11 + #13)#28
ANcpLua merged 1 commit into
mainfrom
claude/angular-22

Conversation

@ANcpLua

@ANcpLua ANcpLua commented Jul 1, 2026

Copy link
Copy Markdown
Owner

Finishes the Angular 22 upgrade that Renovate split across #11 (framework) and #13 (CLI) — neither could resolve alone because it's an interdependent chain: TypeScript 6 → @angular/build 22 (needs typescript >=6.0 <6.1) → @angular/core 22. With TS 6 (#16) merged, ng update completes cleanly.

What ran: ng update @angular/core@22 @angular/cli@22 → all @angular/* → 22.0.4, TypeScript 6.0.3. Migrations applied to app.config.ts (provideClientHydration(..., withNoIncrementalHydration())) and tsconfig.app.json.

Verified (no build CI here, so done manually):

  • npm run build + npm test (9/9) green
  • CSR: home (WebGL flow shader, portrait, "Ask me anything") + /projects (all 18 covers) render, 0 console errors
  • SSR: booted the v22 server — / and /projects return 200 and server-render real content. Angular 22 adds an SSRF host-allow-list; Railway already has NG_ALLOWED_HOSTS=alexander-production-2841.up.railway.app + trustProxyHeaders:true, so SSR works on deploy. (Caught locally: a disallowed host hard-400s in v22 vs CSR-fallback in v21.)
  • Adversarial breaking-change audit (3 agents vs the v22 CHANGELOG): LOW risk — OnPush-default/params-inheritance/incremental-hydration/FetchBackend changes are all inert here (components already OnPush, flat routing, no @defer, native fetch not HttpClient). ERESOLVE warnings are install-time only (lenis react/vue peers, SDK optional zod).

Also groups @angular/* + devkit + typescript into one Renovate "angular" PR so this split can't recur. Merging this closes #11 and #13.

🤖 Generated with Claude Code

ng update @angular/core@22 @angular/cli@22 — all @angular/* -> 22.0.4, TypeScript 6.0.3.
Migrations applied (provideClientHydration withNoIncrementalHydration; tsconfig.app.json).

Combines Renovate #11 + #13 (Angular framework and CLI were split into two PRs whose
lockfiles couldn't resolve) now that TypeScript 6 (#16) is merged — @angular/build@22
requires typescript >=6.0 <6.1.

Verified: build + 9/9 tests green; home (WebGL shader, portrait, AI section) and /projects
(18 covers) render with zero console errors; SSR returns 200 and server-renders content
(NG_ALLOWED_HOSTS already set on Railway for the new v22 SSRF host check).

renovate.json now groups @angular/*, devkit, and typescript into one "angular" PR so the
interdependent upgrade never splits again.
Copilot AI review requested due to automatic review settings July 1, 2026 04:05
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@ANcpLua
ANcpLua merged commit 2270b45 into main Jul 1, 2026
2 of 3 checks passed
@coderabbitai

coderabbitai Bot commented Jul 1, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: b0e592ae-0ec5-4bb3-a105-d1730df14cad

📥 Commits

Reviewing files that changed from the base of the PR and between f651926 and 2a86be9.

⛔ Files ignored due to path filters (3)
  • package-lock.json is excluded by !**/package-lock.json, !**/package-lock.json and included by none
  • package.json is excluded by none and included by none
  • tsconfig.app.json is excluded by none and included by none
📒 Files selected for processing (2)
  • .github/renovate.json
  • src/app/app.config.ts

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting


Summary by CodeRabbit

  • Bug Fixes
    • Improved app hydration behavior for a smoother initial experience and more consistent page rendering.
  • Chores
    • Grouped Angular-related dependency updates so related upgrades are handled together.

Walkthrough

Two unrelated changes: Renovate configuration now groups Angular-related packages (framework, CLI/devkit, schematics, ng-packagr, zone.js, TypeScript) under one groupName, and app.config.ts adds withNoIncrementalHydration() to the provideClientHydration call alongside withEventReplay().

Changes

Renovate Angular Grouping

Layer / File(s) Summary
Angular package grouping rule
.github/renovate.json
Adds packageRules entry with matchPackageNames for Angular/TypeScript packages and groups them under groupName: "angular".

Client Hydration Configuration

Layer / File(s) Summary
Add withNoIncrementalHydration
src/app/app.config.ts
Import expanded to include withNoIncrementalHydration; provideClientHydration now called with both withEventReplay() and withNoIncrementalHydration().

Estimated code review effort: 1 (Trivial) | ~3 minutes

Suggested labels: area:infra


Comment @coderabbitai help to get the list of available commands.

@ANcpLua
ANcpLua deleted the claude/angular-22 branch July 1, 2026 04:05

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR completes the repo’s upgrade to Angular 22 (framework + CLI/build tooling) on top of the already-merged TypeScript 6 upgrade, applies the Angular 22 hydration migration in app bootstrap, and adds Renovate configuration intended to keep Angular-related packages updated in a single lockstep PR going forward.

Changes:

  • Upgrades @angular/*, devkit/build tooling, and TypeScript to Angular 22.0.4 + TypeScript 6.0.3.
  • Updates app bootstrap hydration configuration to include withNoIncrementalHydration() as per Angular 22 migration.
  • Adds compiler diagnostic suppressions and updates Renovate rules intended to group Angular-related updates.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tsconfig.app.json Adds Angular compiler extended diagnostics suppressions for specific nullability checks.
src/app/app.config.ts Updates hydration setup to include withNoIncrementalHydration() and reformats imports.
package.json Bumps Angular dependencies/devDependencies to 22.0.4 and TypeScript to 6.0.3.
package-lock.json Updates resolved dependency tree for Angular 22 + TS 6, including updated engine constraints and toolchain packages.
.github/renovate.json Adds a Renovate grouping rule intended to keep Angular-related updates in a single PR.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/renovate.json
Comment on lines +7 to +14
"matchPackageNames": [
"@angular/**",
"@angular-devkit/**",
"@schematics/angular",
"ng-packagr",
"zone.js",
"typescript"
],
@coderabbitai coderabbitai Bot mentioned this pull request Jul 1, 2026
9 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants