feat!: upgrade builders + examples to Angular 22 (22.0.0-rc.2)#2264
Merged
Conversation
Extend update-package.js/update-example.js to accept explicit version strings and dist-tags (required for RC prework), and bump all @angular-builders/* Angular dependency ranges to 22.0.0-rc.2.
…build breakage - Bump example apps to Angular 22.0.0-rc.2 and TypeScript 6.0.3. - Add explicit rootDir to package tsconfigs (TS6 TS5011 now requires it when emitting with outDir). - Add @types/node + types:[node] to standalone packages bazel/timestamp (TS6 no longer auto-includes node types without a transitive trigger). - jest: move types into compilerOptions and pin to @types/jest so the ambient jest global resolves under TS6 (the bare 'jest' entry now resolves to the runtime jest package, which lacks the global); exclude spec files from the lib build so they stop leaking into dist.
- Add ignoreDeprecations: "6.0" to app tsconfigs using deprecated options (baseUrl, downlevelIteration) that TS6 now errors on. - Add rootDir to Cypress e2e tsconfigs so ts-loader stops failing with TS5011 under TS6. - full-cycle-app webpack configs: switch html-webpack-plugin to a default import (TS6 rejects constructing a namespace import) and guard the optional cfg.plugins array.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Checklist
MIGRATION.MD/ migration-coverage work tracked separately for the v22 cut (Stream 2c/2d)PR Type
What is the current behavior?
Builders and the ~7
examples/apps target Angular 21 (@angular/core21.2.15, builder ranges^21). Therelease/v22branch is an empty integration shell (master + the upgrade runbook) with no Angular 22 content.What is the new behavior?
Upgrades the monorepo to Angular
22.0.0-rc.2— the v22 integration base onrelease/v22:@angular-builders/*Angular dependency ranges bumped to22.0.0-rc.2; all example apps upgraded viang update.>=6.0 <6.1): devDep5.9.3 → 6.0.3and all example apps to6.0.3. TS6 breakage fixed at root cause:rootDirwhere TS6 now requires it (emitting package tsconfigs, e2e tsconfigs);@types/node/@types/jestresolution fixes (standalone packages + jesttsconfig.lib/spec, incl. moving a misplaced top-leveltypesundercompilerOptionsand excluding specs from the published lib build);ignoreDeprecations: "6.0") and ahtml-webpack-plugindefault-import fix infull-cycle-appwebpack configs.scripts/update-package.js/update-example.jsnow accept an explicit version or dist-tag (22.0.0-rc.2/next), not just an integer major — required to target RCs. Also fixed a bug where jest's Angular peerDependencies were skipped by the bump script.Verification (local):
yarn build:packages:all→ 6/6 packages build;yarn test:local→ 42 passed, 0 failed (custom-esbuild 12/12, custom-webpack 14/14 incl. Karma+Chrome, jest 15/15 incl. Cypress e2e, bazel 1/1). This PR runs the matrix on CI to confirm.Notes:
@angular/builddeclaration (PR chore: declare @angular/build at repo root for merge-schemes.ts #2239, already on master) was intentionally left untouched here.@angular-eslinthas no v22 release yet (latest 21.4.0); left as-is — it is not part of any integration command. Follow-up when it ships.breaking-change-PR ↔migrations.json↔MIGRATION.MDaudit) and the v22-held breaking PRs (fix(jest): default isolatedModules to true for faster compilation (fixes #1899) #2191, fix(jest): scope coverage output per-project in multi-project workspaces (fixes #1009) #2212, feat(custom-webpack)!: remove Karma builder and tests (Angular 22 removes Karma) #2260) land separately onrelease/v22.Does this PR introduce a breaking change?
Targets Angular 22 (peer requirement) and TypeScript 6.0 — consuming apps must be on Angular 22. This is the v22 major's foundation; user-facing migration path will be delivered via the forthcoming
ng updateschematics +MIGRATION.MDfor the v22 release. This PR merges into the long-livedrelease/v22integration branch, notmaster.Other information
Base:
release/v22(integration branch). Built against the Angular 22 RC so the major is ready when 22 goes GA.