A CycloneDX SBOM for npm, in one command
One command, no install, no upload: a CycloneDX 1.5 JSON with every package, version, purl and licence in your lockfile.
npx -y https://licensegate.org/dl/licensegate.tgz --prod --sbom sbom.cdx.json
The file follows CycloneDX 1.5. It includes each package with its purl (pkg:npm/%40scope/name@1.2.3), its licence as an SPDX id or expression, and your project as the root component. Most SBOM tools can read it: Dependency-Track, GitHub’s dependency graph uploaders, and the questionnaires security teams send.
Who asks for an SBOM
- Enterprise customers, in security questionnaires and vendor onboarding.
- Buyers of a software business, during due diligence.
- The EU Cyber Resilience Act. Manufacturers of products with digital elements must keep an SBOM in their technical documentation. Vulnerability reporting starts on 11 September 2026; the rest applies from 11 December 2027.
- US federal suppliers, following Executive Order 14028.
In CI, on every release
- run: npm ci
- run: npx -y https://licensegate.org/dl/licensegate.tgz --mode saas --prod --sbom sbom.cdx.json
- uses: actions/upload-artifact@v4
with: { name: sbom, path: sbom.cdx.json }
The same step checks licences against how you ship, so the SBOM and the licence gate come from one tool and one run.