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:
fnpxandfnpmxrun 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.