PrimeNG 21 on Angular 22, without a license

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.

What actually changed

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.

What is actually blocking the install

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.

Your options

OptionCostsWhat you give up
Install PrimeNG 21 anyway, with --legacy-peer-depsMinutesNothing 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 licenseMoney, per seatNothing technical. This is the supported path and it works.
Rewrite onto another component libraryWeeks to monthsEvery template you have already written, and the theme built around it.
OpenNG's optimus-ui — the larger community continuation of PrimeNG 21A rename, same as belowNothing 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 anguluxA codemod run, then fix what it reports53 modules that are not ported, and the p-* element names.

You should look at OpenNG first

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

What Angulux is

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.

What it costs you, concretely

ChangesDoes not change
Element names: p-tableagl-tableCSS class names stay p-* — your theme and every style override survive untouched
Imports: primeng/table@anguless/angulux/tableInputs, outputs and component behaviour — the 22.x API is frozen deliberately
53 modules are not availableYour existing templates, apart from the renames above

Find out what it would cost you, without committing

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.

For whoever has to sign this off

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.

Where this project is honest about being weak

Install

npm i @anguless/angulux

Then the module index for the API of everything shipped.