← Lockfile License Check

An npm licence compliance checklist for shipping software

A typical web app pulls in hundreds of packages, each with its own licence. Most are permissive. The few that are not are the ones worth ten minutes before a release, an acquisition review or a customer security questionnaire.

The categories this tool uses

Checklist

  1. Run the check on package-lock.json, once with devDependencies and once with --no-dev: build tools you do not ship matter far less.
  2. Read every strong-copyleft entry's own repository. Declared metadata can be wrong.
  3. For a dual-licensed (MIT OR GPL-3.0) package, record which option you rely on.
  4. For an unknown package, look for a LICENSE file, then ask the maintainer to add a licence field.
  5. Add node license-check.mjs --fail-on copyleft to CI so a new dependency cannot add one silently.

What this does not tell you

It reads only the licence field package authors declared in their own package.json. It does not read licence files, detect code copied between packages, or follow transitive licences that npm did not record. It is a heuristic and is not legal advice.