Skip to content

chore(deps): move the whole Angular train to 21.2.23 - #218

Open
adamjohnwright wants to merge 6 commits into
mainfrom
chore/angular-21-2-23
Open

adamjohnwright wants to merge 6 commits into
mainfrom
chore/angular-21-2-23

Conversation

@adamjohnwright

Copy link
Copy Markdown
Contributor

Replaces dependabot's #161, which cannot be merged as it stands.

Why #161 cannot be taken

It moves eleven Angular packages from 21.2.20 to 21.2.22 and leaves
@angular/platform-browser-dynamic and @angular/compiler-cli behind. Angular's
packages peer-depend on one another at exact versions, so the result does not
resolve:

Conflicting peer dependency: @angular/core@21.2.23
  peer @angular/core@"21.2.23" from @angular/platform-browser-dynamic@21.2.23

Its checks pass only because CI installs with --legacy-peer-deps. #215 removes
that flag; after it, #161 fails honestly rather than passing on a tree that only
installs when npm is told not to look.

What this does instead

The train moves together — core, common, compiler, compiler-cli, forms, router,
elements, localize, platform-browser, platform-browser-dynamic to 21.2.23, and
the CLI train (cli, ssr, build-angular) to its own.

The diff is large, and deliberately so

package-lock.json is regenerated from scratch, not hand-resolved: +7334
−8144. A partially-merged lock is what produced the conflict in the first place,
and resolving one by hand is how you get a tree that installs but is not what
anyone described.

The thing to check is not the diff's size but whether it resolves without help:

npm ci --dry-run --no-audit --no-fund   → added N packages, no ERESOLVE

Verified, not assumed

  • npm ci strictly, with no --legacy-peer-deps
  • 242 unit tests, types, lint 652, dead code 145, format, full build
  • 49 e2e cases against the resulting build: interactors, the confidence
    threshold, the custom-resource dialog, the homepage, content pages, the back
    button

The diagram is what an Angular bump would break, so the diagram is what was
exercised.

Closes #161 once merged.

🤖 Generated with Claude Code

adamjohnwright and others added 6 commits September 16, 2026 17:56
Replaces dependabot's #161, which cannot be merged as it stands.

That PR moves eleven Angular packages from 21.2.20 to 21.2.22 and leaves
`@angular/platform-browser-dynamic` and `@angular/compiler-cli` behind.
Angular's packages peer-depend on one another at **exact** versions, so
the result does not resolve:

    Conflicting peer dependency: @angular/core@21.2.23
      peer @angular/core@"21.2.23" from @angular/platform-browser-dynamic@21.2.23

Its checks pass only because CI installs with `--legacy-peer-deps`, which
accepts an inconsistent tree. #215 removes that flag; after it, #161 fails
honestly.

So the train moves together: core, common, compiler, compiler-cli, forms,
router, elements, localize, platform-browser and platform-browser-dynamic
to 21.2.23, and the CLI train -- cli, ssr, build-angular -- to its own
21.2.23.

The lockfile is regenerated from scratch rather than hand-resolved,
because a partially-merged lock is what produced the conflict in the first
place. It resolves **strictly**: `npm ci --dry-run` with no
`--legacy-peer-deps`.

Verified: 242 unit tests, types, lint 652, dead code 145, format, a full
build, and 49 e2e cases against the resulting build -- interactors, the
threshold, the custom-resource dialog, the homepage, content pages and the
back button. The diagram is what an Angular bump would break, so it is
what was exercised.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant