`pnpm runtime set <name> <version> -g` now installs the runtime (Node/Deno/Bun) into the global packages directory and links its binary into the global bin directory, matching the TypeScript pnpm CLI. It previously errored with a "not supported yet" stub. The `<name>@runtime:<version>` selector is routed through the existing global-add pipeline. The wrinkle: pacquet's manifest writer folds a `runtime:<version>` dependency into `engines.runtime` on save, so a globally-installed runtime lands under `engines.runtime` with an empty `dependencies` map. The global scanner and bin-linker read `dependencies`, so without a fix they would link no binary. The global crate now reifies `engines.runtime` / `devEngines.runtime` back into dependencies when reading a group manifest — the same conversion the package manifest reader already applies — so an installed runtime is treated as the direct dependency it is. `list -g`, `remove -g`, and `update -g` therefore see it too. The TypeScript pnpm CLI already ships this feature, so this brings pacquet to parity and needs no TypeScript change; pacquet crates are unpublished, so no changeset is required.
pacquet
Warning
pacquet is under active development and not yet ready for production use.
The official pnpm rewrite in Rust.
pacquet is the pnpm CLI implemented in Rust — one of two parallel implementations of the same package manager, kept behaviorally identical (the same commands, flags, defaults, error codes, file formats, and directory layout). It is developed alongside the TypeScript pnpm CLI at near-complete feature parity, not as a downstream port that trails it.
Roadmap
pacquet will become the installation engine of pnpm. The transition will happen in two phases.
Phase 1: fetching and linking
pacquet replaces fetching and linking only. pnpm continues to create the lockfile, and pacquet does the rest. We expect this alone to make pnpm at least twice as fast in most scenarios. Shipping this phase is the current focus.
Phase 2: resolution
pacquet also takes over dependency resolution.
See CONTRIBUTING.md for development setup, debugging, testing, and benchmarking.