Publishing

Publish with pln publish or with npm directly.

Two paths to the same registry: the one-command CLI flow, or plain npm publish for CI and existing release tooling.

Publish with the CLI

From a package directory whose name is scoped to your organisation:

pln publish

pln publish reads the package name, mints a short-lived publish token for the right scope, and runs the publish. No long-lived credentials end up on disk; the token has expired before you have finished reading the output. Pass --tag next (or any dist-tag) to publish without moving latest.

Publish with npm

For CI pipelines and release scripts, create a registry token with publish scope, put it in .npmrc, and use standard tooling:

npm publish

The registry implements the npm publish protocol, so changesets, release-it, and friends work without adapters.

Versions and dist-tags

Published versions are immutable: a version, once published, always refers to the same bytes. Dist-tags (latest, next, anything you define) are the movable pointers. The package page shows every version and where each tag points.

Integrity and storage

Tarballs are stored content-addressed by their integrity hash, the same hash your package manager verifies on install. What you publish is byte-for-byte what installs, and identical content is stored once no matter how many versions reference it.