Overview of pnpr
mainpnpr is a pnpm-compatible registry server written in Rust that implements the npm registry protocol. It allows any npm-compatible client (such as pnpm, npm, or yarn) to interact with it.
Key capabilities include:
- Multi-ecosystem support: Beyond npm, it supports Cargo (Rust), Python, and the OCI distribution API (container images). This allows publishing multiple package types (e.g., a crate and an npm package) in a single transaction.
- Security: It uses a router to resolve package names to exactly one origin, preventing dependency-confusion attacks by ensuring there is no cross-origin fall-through.
- Authentication: Supports OpenID Connect (OIDC) for user sign-in.
:::caution Experimental
pnpr is experimental and in active development. Its behavior, configuration, and APIs are subject to change.
:::