Skip to content

Conversation

@michael-small
Copy link
Collaborator

NgRx is still in v21 beta, but this work so far has gotten all of our checks to pass.

Holding in draft until NgRx 21.0.0 stable

My first nx upgrade experience but everything
seems to have gone smoothly.

Some references to tsconfigs were switched
around between `project.json` fields and for
now I'll just trust that.
A few changes had to be done by hand

#1 `moduleResolution` change
https://www.typescriptlang.org/tsconfig/#moduleResolution

The "node" option for the module resolution was so old
that it was called "node" and not even "node10" like
in the TS docs. I looked at a v21 Stackblitz project and
Jason Warner's v21 NX project and they both
specified "bundler" instead.

#2 Narrow imports

Imports of ngrx types had to be made less specific

#3 Stricter linting

Mostly things that looked intentional that had to be ignored

#4 Remove `tsconfig` from test config files v21 nx added

Broke imports, I can see now that they were consciously omitted
@michael-small michael-small self-assigned this Dec 7, 2025
@michael-small michael-small added enhancement New feature or request ready-for-review This feature has been implemented and is ready for a review. labels Dec 7, 2025
@michael-small
Copy link
Collaborator Author

michael-small commented Dec 10, 2025

Update: I will either re-open a different PR with a different branch or force push this new branch over it: https://github.com/michael-small/ngrx-toolkit/tree/v21-fresh-nx-project.

I was having a lot of issues doing the v20 to v21 without the convenience of some schematics. However, after looking at some WIP schematics and doing them manually, the CI finally passed. There are more changes done in the WIP schematic branch that weren't necessary for everything to run and pass but I'll apply those later.

Even then... even whatever way I go... I will probably just redo everything fresh from the last v20 commit with the upcoming nx version that will support Angular 21 officially. In the longer term, that will probably cause less drift from potentially missing something.

In the mean time, I can now do some more manual test runs and dry-runs of the finishing touches as practice for the real upgrade commits past v20.

For maintainers wanting to test out changes for the toolkit in v21;

  • Either do what you are doing off of a v20 branch if it doesn't require v21 features and does not impact the kind of project config files that won't be changed anyways.
  • OR feel free to branch off of the linked branch but be warned that it isn't stable and will be reverted back to the last v20 commit and then formally upgraded to v21 when the nx release is ready.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request ready-for-review This feature has been implemented and is ready for a review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant