If ng update to Angular 22 stopped on a PrimeNG peer dependency, this
page is the whole decision — including the three options that are not this project.
PrimeNG releases up to and including 21.1.9 are MIT. From 22 they are not. Nothing in your application stopped working and Angular 22 did not break anything: the license terms of new releases changed, and that is the entire event.
One line. PrimeNG 21.1.9 declares a peer dependency that does not admit Angular 22, so the
package manager refuses. The library itself runs on Angular 22 — that was
measured before this fork existed, not assumed. So
npm install --legacy-peer-deps will unblock you this afternoon, on a release that
will never be patched again.
Anyone telling you that you must pay or must migrate is skipping this paragraph.
| Option | Costs | What you give up |
|---|---|---|
Install PrimeNG 21 anyway, with --legacy-peer-deps | Minutes | Nothing today. But you are pinned to a release that will never be patched again, on a framework it was never released for. |
| Buy a PrimeNG 22 license | Money, per seat | Nothing technical. This is the supported path and it works. |
| Rewrite onto another component library | Weeks to months | Every template you have already written, and the theme built around it. |
| OpenNG's optimus-ui — the larger community continuation of PrimeNG 21 | A rename, same as below | Nothing obvious. It has far more contributors than this project and is organised as a maintenance foundation. Look at it before you look at mine. |
| Move to angulux | A codemod run, then fix what it reports | 53 modules that are not ported, and the p-* element names. |
Angulux is not the only MIT continuation of PrimeNG 21, and it is not the biggest. OpenNG's optimus-ui has substantially more contributors than this project, is organised as a maintenance foundation rather than one person's fork, and carries more of PrimeNG's component surface. For most teams that is the better answer, and you should evaluate it before you evaluate this.
The honest difference is scope of ambition. OpenNG is continuing PrimeNG. Angulux warrants a deliberately smaller surface — 64 modules — and spends the surplus on things that are unusual to find in a fork: a recorded provenance chain for every inherited file, a build that fails if a post-MIT PrimeTek package enters the dependency tree, and a generated API corpus that AI assistants can query instead of guessing.
If you want the largest MIT component set, that is not this. If you need to prove to somebody where the code came from, this project was built around that question from the first commit.
On Angular 22 specifically: check, do not take my word. Peer ranges move, and a page claiming a rival does not support something is a page that becomes wrong without anyone editing it. Run this and believe the output:
npm view @openng/optimus-ui peerDependencies
npm view @anguless/angulux peerDependencies
A fork of PrimeNG 21.1.9 — the last MIT release — brought up on Angular 22 and kept MIT. It ships 64 of PrimeNG's 117 modules, 165 components and directives in total. The other 53 are kept in the repository, unported and unpublished, rather than deleted.
| Changes | Does not change |
|---|---|
Element names: p-table → agl-table | CSS class names stay p-* — your theme and every style override survive untouched |
Imports: primeng/table → @anguless/angulux/table | Inputs, outputs and component behaviour — the 22.x API is frozen deliberately |
| 53 modules are not available | Your existing templates, apart from the renames above |
npx angulux-migrate
Reports only. It writes nothing at all unless you pass --write, and
--write refuses to run outside a clean git tree, so there is always something to
revert to.
The provenance question — can we prove this is lawfully MIT? — is answered in the repository rather than asserted here: every inherited file's origin is recorded, and a check that fails the build if a post-MIT PrimeTek package ever enters the dependency tree runs on every commit.
npm i @anguless/angulux
Then the module index for the API of everything shipped.