19 Commits

Author SHA1 Message Date
Leosvel Pérez Espinosa 192f66811d feat(angular): support angular v22 (#35851)
## Current behavior

Angular v22 is not supported.

## Expected behavior

Angular v22 should be supported.

BREAKING CHANGE: Angular v19 is no longer supported.

## Related issues

Fixes #35910 

<!-- polygraph-session-start -->
---
[View session information
↗](https://app.trypolygraph.com/orgs/6a061dcb561c062131116eca/sessions/angular-v22-3d830e58)
<!-- polygraph-session-end -->

---------

Co-authored-by: nx-cloud[bot] <71083854+nx-cloud[bot]@users.noreply.github.com>
2026-06-18 11:17:51 -04:00
polygraph-snapshot-app[bot] 9371aa571d fix(angular): bump zoneJsVersion to ~0.16.0 to align with Angular v21 (#35799)
## Current Behavior

`@nx/angular`'s `zoneJsVersion` is pinned to `~0.15.0`, while
`catalogs.angular` in `pnpm-workspace.yaml` and the v21 migration entry
in `packages/angular/migrations.json` both pin `zone.js` at `~0.16.0`.
Generators and dependency-installation paths in `@nx/angular` therefore
emit `zone.js@~0.15.0` even when the project is on Angular 21, drifting
from what the migration and workspace catalog declare.

## Expected Behavior

`zoneJsVersion` matches the v21 pin (`~0.16.0`), keeping generator
output aligned with the workspace catalog and the v21 migration. The
bump is safe within Angular 21: `@angular/core@21.x` accepts `~0.15.0 ||
~0.16.0` (see `catalogs.angular-supported-versions` in
`pnpm-workspace.yaml`).

## Implementation Details

Bumps `zoneJsVersion` in `packages/angular/src/utils/versions.ts` from
`~0.15.0` to `~0.16.0`. The v21 entry in
`backward-compatible-versions.ts` inherits from `latestVersions` via
spread, so it picks up the bump automatically. The v20/v19 entries are
unchanged — those Angular majors correctly stay on `~0.15.0`.

Also extends `scripts/angular-support-upgrades/` so this drift doesn't
recur on the next Angular bump:

- `fetch-versions-from-registry.ts`: after the dist-tag fetch, resolves
`zone.js` and `rxjs` against the latest registry-published versions
matching `@angular/core@<resolved>`'s `peerDependencies` ranges. Skips
with a warning if a peer is missing or no satisfying version exists.
- `update-version-utils.ts`: adds regex bumps for `zoneJsVersion` and
`rxjsVersion` in `versions.ts`, guarded so they only run when the
version map carries those keys.

`update-package-jsons.ts` and `build-migrations.ts` need no changes —
their existing iteration over the version map already covers `zone.js`
(and `rxjs` where applicable) once the keys are populated.

`ngrxVersion` and the per-major back-compat blocks in
`backward-compatible-versions.ts` have similar drift risk but are out of
scope here (different mechanics; flagged for follow-up).

<!-- polygraph-session-start -->
---
[View session information
↗](https://snapshot.app.trypolygraph.com/orgs/69cdc268b6aa527e4129c2b4/sessions/fix-zone-js-version-b63af779)
<!-- polygraph-session-end -->

---------

Co-authored-by: Leosvel Pérez Espinosa <leosvel.perez.espinosa@gmail.com>
2026-06-01 14:00:16 -04:00
Leosvel Pérez Espinosa 65d0f554f8 chore(repo): preserve x-prompt and requires in angular migrations upgrade script (#34641)
When latest >= next, the build-migrations script now preserves the
existing x-prompt and requires fields from the pre-release entry, rather
than skipping them, and adjusts the requires upper bound to the stable
version.
2026-02-27 08:41:11 -05:00
Leosvel Pérez Espinosa 7e12359221 feat(angular): add support for angular v21.1 (#34057)
## Current Behavior

Angular v21.1 is not supported.

## Expected Behavior

Angular v21.1 should be supported.
2026-01-15 15:05:50 -05:00
Leosvel Pérez Espinosa 6f85b83fd3 cleanup(repo): format all files (#33902)
Format all files after Prettier v3 was merged.
2025-12-17 17:15:06 +00:00
Leosvel Pérez Espinosa 8136eaf568 feat(angular): support angular v21 (#33378)
## Current Behavior

Angular v21 is not supported.

## Expected Behavior

Angular v21 should be supported.

## Blockers

### Required

- [x] `jest-preset-angular`:
  - [x] PR: https://github.com/thymikee/jest-preset-angular/pull/3485
- [x] Release:
https://github.com/thymikee/jest-preset-angular/releases/tag/v16.0.0

### Optional

We may release Angular v21 support without waiting for these packages to
support it.

- [ ] NgRx
  - [x] PR: https://github.com/ngrx/platform/pull/5025
  - [ ] Release: N/A
- [ ] Cypress (Component Testing doesn't support Zoneless apps)
  - [ ] PR: https://github.com/cypress-io/cypress/pull/33004
  - [ ] Release: N/A

---------

Co-authored-by: nx-cloud[bot] <71083854+nx-cloud[bot]@users.noreply.github.com>
2025-12-12 18:39:13 +01:00
Leosvel Pérez Espinosa e8bd83e3e0 feat(core): add support for pnpm catalogs (#32978)
## Current Behavior

Pnpm Catalogs is not supported.

## Expected Behavior

Pnpm Catalogs should be supported.

## Related Issue(s)

Fixes #30035 
Fixes #29772
2025-10-15 18:54:16 -04:00
Leosvel Pérez Espinosa a0c78e0bb9 feat(angular): support angular v20.2 (#32351)
## Current Behavior

Angular v20.2 is not supported.

## Expected Behavior

Angular v20.2 is supported.

---------

Co-authored-by: Colum Ferry <cferry09@gmail.com>
2025-08-25 11:57:14 +02:00
Leosvel Pérez Espinosa 752d418f78 feat(angular): support angular cli v20.0.0-rc.3 (#30715)
Add support for the Angular CLI **20.0.0-rc.3** version.
2025-05-26 10:00:47 -04:00
Leosvel Pérez Espinosa 90ff03d42d fix(angular): include @angular/google-maps in package updates (#30530)
## Current Behavior

The `@angular/google-maps` package version is not updated when running
`nx migrate`.

## Expected Behavior

The `@angular/google-maps` package version should be updated when
running `nx migrate`.

## Related Issue(s)

Fixes #30523
2025-03-28 12:22:37 +01:00
MaxKless 499300fd76 fix(core): repair SIGINT signals on windows (#28496)
using `windowsHide: true` is causing an issue on windows: Ctrl + C
handling isn't enabled and no `SIGINT` is sent to the child process when
users exit the process. See https://github.com/nodejs/node/issues/29837
and https://github.com/nodejs/node-v0.x-archive/issues/5054 for
reference. This will cause leftover processes throughout nx.

This PR sets `windowsHide: false` everywhere except for the plugin
workers and some short-lived utils. They `spawn` child processes but
have explicit handling to make sure they kill themselves when the parent
process dies, so the missing Ctrl + C handling doesn't cause issues.

We will follow up to make sure any other culprits that still cause
windows popups (especially when used through Nx Console) are handled.
Leaving no leftover processes running is more important for now, though.

Keep in mind the underlying tooling (like vite) might have some windows
popups themselves that Nx will inherit.
2024-10-17 15:03:37 -04:00
MaxKless b73f1e0e00 fix(core): set windowsHide: true wherever possible (#28073)
<!-- Please make sure you have read the submission guidelines before
posting an PR -->
<!--
https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr
-->

<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->

<!-- If this is a particularly complex change or feature addition, you
can request a dedicated Nx release for this pull request branch. Mention
someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they
will confirm if the PR warrants its own release for testing purposes,
and generate it for you if appropriate. -->

## Current Behavior
<!-- This is the behavior we have today -->

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes #
2024-09-24 11:31:22 -04:00
Leosvel Pérez Espinosa 58ba1ffc6d feat(angular): support angular v18.1.0 (#26504)
<!-- Please make sure you have read the submission guidelines before
posting an PR -->
<!--
https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr
-->

<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->

## Current Behavior
<!-- This is the behavior we have today -->

Angular v18.1.0 is not supported.

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->

Angular v18.1.0 should be supported.

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes #
2024-07-11 11:17:00 -04:00
Leosvel Pérez Espinosa b7a237b9d3 fix(angular): add missing package update for @angular/pwa (#20690) 2023-12-11 14:23:22 +01:00
Leosvel Pérez Espinosa 68d0f792e8 chore(angular): improve angular updater script helper (#20532) 2023-12-01 17:30:08 +01:00
Leosvel Pérez Espinosa 1fcba1a43a feat(angular): support angular v16.1 (#17155) 2023-06-22 14:45:31 +01:00
Leosvel Pérez Espinosa 279154436a chore(angular): improve script to scaffold new angular version support (#16938) 2023-05-11 12:33:02 +01:00
Jason Jean ff8074bf75 chore(repo): update to nx 16.0.0-beta.5 (#16347) 2023-04-21 10:17:56 -04:00
Colum Ferry 2dc72e0f94 feat(angular): support angular 15.1.0 (#14103) 2023-01-12 12:30:17 -05:00