Warning
WIP
This project aims to make these flows work:
Build once: First you will build your library, and run npm pack
to create a tarball once.
Distribute everywhere: nppr --repack
will help you transform the tarball into a new one with a modified package.json
.
This is useful if you want to distribute the same package:
- to different platforms (e.g. npm, github packages, github releases, etc.)
- with different names (e.g. first @canary-x scoped packages, then promote to unscoped packages)
- with different version
You can generate the provenance of the tarball and attest it with nppr --provenance
.
This usually happens in the CI/CD pipeline.
This also supports multiple packages in single provenance file. (Not tested yet)
So you could publish the package anywhere you want without losing the provenance attached.
Such as: outside CI/CD, private platform inside an organization, private CI/CD pipelines
This helps make package spec (https://<registry>/<package>
) as small as possible without the need to modify package.json
in build phase.
Multiple tarballs are supported as inputs.
- feat: repack
- feat: provenance
- feat: publish
- tests
- release
- docs
- feat: repack
- feat: provenance
- feat: publish
- tests
- release
- docs