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

@charles_lindecker/gup

v0.5.3

Published

gup (Global Updater) — one CLI to scan and update everything installed on your machine across 153 sources: winget, scoop, chocolatey, MSYS2, Cygwin, Homebrew (formulae + casks), MacPorts, Mac App Store, Nix, pkgx, npm-g, pnpm-g, yarn-g, bun, pip, pipx, uv

Readme

gup — Global Updater

One command to scan and update everything installed on your machine.

Homepage · Documentation · Providers (153) · npm

npm npm downloads CI Node Platform License: MIT

winget · scoop · choco · MSYS2 · brew · casks · Mac App Store · MacPorts · Sparkle · Nix · apt · dnf · npm · pnpm · yarn · bun · pip · pipx · uv · cargo · gem · composer · dotnet SDK & tools · vcpkg · helm · kubectl · terraform · VS Code · JetBrains · Visual Studio · WSL distros — 153 providers


On a dev machine, binaries come from dozens of sources and no native tool covers them all: winget upgrade --all silently skips pinned packages, brew upgrade never sees your npm globals or your VS Code extensions, ncu -g only sees npm, and every cloud CLI ships its own self-update. gup unifies the whole thing behind one CLI and one interactive app. Why, and what's deliberately out of scope →

Highlights

  • 153 providers, scanned in parallel — OS package managers, language toolchains, cloud and Kubernetes CLIs, editor extensions — each greyed out on the systems it does not exist on.
  • Pick exactly what to update: check packages, press Enter — only what is checked is updated.
  • Updates run inside the app, each install live in an embedded terminal — progress bars, prompts you can answer — with one UAC or sudo prompt for all the admin packages.
  • Scheduled updates, per package — never a whole provider — run by a short-lived gup the OS starts; nothing stays resident.
  • An activity journal in the terminal, and a self-contained HTML report in your browser.
  • 27 themes, contrast guaranteed (Nord, Gruvbox, Solarized, Dracula, Catppuccin…): every text reaches WCAG AA, your custom colours included.
  • Scriptable: --json, documented exit codes, -y for CI, a debug log you can export.
  • English or French: the app, every command and its help, the HTML report — gup language fr switches.

Every screen, generated from the real app: the gallery →

Install

npm install -g @charles_lindecker/gup --allow-scripts=node-pty

The interface is in English. To have it in French, chain the language to the install:

npm install -g @charles_lindecker/gup --allow-scripts=node-pty && gup language fr

Windows PowerShell 5.1 has no &&: run the two commands one after the other. gup language switches at any time. Details →

Node ≥ 26.9 · Windows, macOS, Linux, WSL. Other install methods →

Why --allow-scripts=node-pty? gup's one optional native dependency, node-pty, runs installers inside the app's terminal pane. It has install scripts, which npm 11 asks you to review: the flag approves that one package (without it npm warns, and refuses under strict-allow-scripts). Without node-pty, gup works the same — updates started from the app just run in your terminal. Details →

Use

gup                # the interactive app
gup list --fast    # what's outdated, fast scan
gup update --all   # update everything

| Command | Effect | |---|---| | gup | Interactive app: scan, pick, update, schedule, journal, providers, options | | gup list | Lists outdated packages as a table (--fast, --provider, --json) | | gup update | Pick packages, then update them | | gup update --all | Everything, after confirmation (-y to skip it) | | gup update winget:Spotify.Spotify npm-g:typescript | Specific targets, no scan | | gup doctor | Detected, missing and incompatible providers, and gup's own state | | gup schedule add winget:Git.Git --every weekly --on mon | Update chosen packages automatically | | gup report | The activity report, in your browser (--format text\|json\|csv) | | gup log | The debug log; gup log export for a bug report | | gup language fr | The interface in French; gup language en brings English back |

Every flag, the retry strategies, the stuck-install timeout, environment variables, exit codes and the JSON schema: CLI reference →

Scripting

The commands never prompt with -y, write JSON with --json and say how it went in their exit code. Warnings go to stderr, so a pipe stays clean.

Documentation

| Document | What's in it | |---|---| | Installation | Install methods, choosing the language, npm 11 and install scripts, requirements, per-platform support | | Interactive app | Every view and key: scanning, picking, updating in the app, the run view | | CLI reference | Every command, flag, environment variable, exit code | | Scheduled updates | Schedules, recurrences, the OS trigger, what an unattended run never does | | Journal and reports | The activity history, the Journal view, the HTML report, the debug log | | Configuration · Themes and accessibility | Settings, the interface language, the settings file, themes, the contrast guarantee | | Troubleshooting | Messages, causes, fixes; where gup keeps its files; collecting a diagnostic | | Scope · Providers catalog | What gup covers, and the 153 providers | | Architecture · How gup works | Layers, pipelines, process seams, local state — with diagrams | | Changelog · Release notes | Every change since the first commit; what each version shipped | | All documentation → | The full index, contributors' pages included |

Community

| Document | What's in it | |---|---| | Contributing | Ways to contribute, adding a provider, branches and commits, the pull request flow | | Code of conduct | The Contributor Covenant 2.1, and where to report a breach privately | | Support | Where to ask, what to include, what to expect | | Security | Supported versions, private vulnerability reporting, threat model | | Governance | Who decides, roles, dependency and release policies |

Credits

Built and maintained by Charles Lindecker, under the MIT license.

If gup saves you time: ☕ Ko-fi · GitHub Sponsors · or a star.