npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

angulux-license-guard

v1.0.0

Published

Fails your build when a commercially licensed PrimeTek package (PrimeNG, PrimeVue, PrimeReact, PrimeUIX) reaches your dependency tree. Zero dependencies.

Readme

angulux-license-guard

Fails your build when a commercially licensed PrimeTek package reaches your dependency tree.

PrimeTek moved PrimeNG, PrimeVue and PrimeReact to the commercial PrimeUI licence starting at specific majors. If your project depends on any of them through a caret range, you are one npm update away from shipping a build you believe is MIT and is not. Nothing in a normal toolchain says a word about it.

This does. It reads your lockfile — the artifact that records what you actually installed — and exits non-zero when something across the boundary is in there.

npm install --save-dev angulux-license-guard
npx angulux-license-guard

Wire it into prebuild so it runs before anything ships:

{
  "scripts": {
    "prebuild": "angulux-license-guard"
  }
}

Exit codes

These are a contract. Other people's CI branches on them.

| Code | Meaning | | --- | --- | | 0 | Verified clean — no PrimeTek package across the boundary | | 1 | A violation, or a package whose licence could not be verified |

It fails closed

A PrimeTek package this tool does not recognise is reported as a failure, not waved through. The same applies to a dependency whose version cannot be read as semver — a tarball URL, a git ref, a file: path. Being unable to check something is not the same as it being safe; it is, in fact, the easiest way to move a commercial build past a guard that only knows how to compare numbers.

The consequence is deliberate: when PrimeTek publishes a package this tool has never seen, your build goes red and a human looks at it. A tool that guesses "probably fine" about a licensing question is worse than no tool, because it produces confidence instead of an answer.

When you have checked something yourself

If you have verified a package's licence — or you hold a PrimeUI licence and the dependency is legitimate — acknowledge it explicitly, by name and exact version, in .angulux-license-guard.json at your project root:

{
  "acknowledged": [
    { "name": "@primeuix/themes", "version": "3.0.1", "reason": "covered by our PrimeUI licence" }
  ]
}

Unknown fields are rejected rather than ignored, so a typo in a legal opt-out is loud rather than silently ineffective.

There is no wildcard and no global off switch. An entry without a version is rejected. An acknowledgement is a statement about one artifact you looked at, and it stops being true when the version changes — so the version is required, and a bump makes the build red again on purpose.

About the boundary table

The version boundaries ship with this package and are auditable offline — no network call is made. Every run prints the date the table was last verified.

The table is a dated observation, not a promise. No release cadence is committed to. The authoritative source is PrimeTek's own licensing announcement; check it when the stakes are high. What this tool guarantees is narrower and more useful: it never reports "clean" about something it could not actually verify.

Found a boundary that is wrong or missing? Open an issue — that is the mechanism, and it is the only one being claimed.

What this is not

Legal advice. This reports which versions are present in your lockfile against a recorded, dated table. Your licensing position is between you and PrimeTek.

Licence

MIT. Built for angulux, an MIT fork of PrimeNG — but this package has nothing to do with angulux at run time and does not depend on it.