Type to search the fnpm documentation.

Welcome to fnpm

fnpm is a Rust-backed package manager for JavaScript and TypeScript projects, focused on install time and disk usage.


Get Started

fnpm ships as one npm package with four commands. Use it in an existing Node.js project, or explore the installation and migration guides first.


What’s Inside

  • Package manager: dependency installation, workspaces, overrides, scripts, and lockfile migration.
  • Native hot paths: Rust launchers handle installation without Node startup.
  • Shared package store: clone or link package files to reduce duplicate disk use.
  • Lockfile toolkit: inspect and verify fnpm.lock, migrate existing formats, and export for other tools.
  • Package runner: fnpx and fnpmx run package executables.

Current status

fnpm is not yet on public npm; the first public version will be 0.0.3. Use the source build to try it now. Full Bun package-manager parity and the target to beat Bun in every scenario remain open. See compatibility status and release status.

Measured in real repositories

The Linux snapshot records three-run medians of cold, warm, and no-op installs in five pinned repositories. fnpm had lower warm and no-op medians than Bun in all five; cold installs were lower in two of five. Read the full results and limitations, including package-set differences and project checks.