npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

jup

v0.1.0

Published

A fast, small, zero-dependency version manager for package managers and runtimes.

Readme

jup

npm version npm downloads

jup (pronounced “yup”) makes sure every developer, CI job, and container runs the tool version selected by the project.

[!WARNING] jup is experimental. Its behavior may change between releases.

jup is a fast, small tool version manager and a safer, more capable alternative to Corepack. It supports npm, pnpm, Yarn, aube, Bun, Deno, nub, and Node.js.

Pin a tool once, then keep using its normal command:

jup enable        # set up the familiar tool commands once
cd my-project
jup use pnpm@12   # pin pnpm 12 and run its install command
pnpm add lodash   # later commands use the pinned release

This prevents different machines from silently using different versions. Existing exact Corepack pins for npm, pnpm, and Yarn usually work without changes.

How it works

With jup's command shims enabled, a familiar command such as pnpm install passes through jup first:

flowchart LR
    command["pnpm install"] --> pin["Read the project pin"]
    pin --> cached{"Version cached?"}
    cached -- Yes --> run["Run the pinned pnpm"]
    cached -- No --> download["Download and verify"]
    download --> run

The command and its arguments stay the same. jup reads the version selected by the project, caches it for later offline use, and hands control to that version of the tool.

Package managers are declared in devEngines.packageManager, which is where jup use and jup up write the pin; an existing packageManager field is still read when no version is declared beside it, and is kept up to date when the manifest already has one. Node.js is declared in devEngines.runtime or, as a fallback, .nvmrc. Bun, Deno, nub, and Node shims are opt-in so jup does not unexpectedly replace commands already installed on your machine.

Quick start

Follow the Start guide to install jup, or use these commands after installation:

jup enable
cd my-project
jup use pnpm@12

Without shims, put jup before the tool command:

jup pnpm install

Run jup info to inspect the selected project, version, cache, and shims.

Documentation

Credits

jup builds on the work of Corepack and its contributors. Its behavior is modeled on Corepack v0.35.0, so existing packageManager pins, commands, and messages keep working — though jup now records new pins in devEngines.packageManager, which Corepack itself does not read. Thanks to the Corepack contributors for the design jup started from.

License

Published under the MIT license.

Portions derived from Corepack, Copyright © Corepack contributors, also MIT licensed. See LICENSE for the full notice.