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

@pi-unipi/updater

v3.0.3

Published

Auto-updater, changelog browser, and readme browser for Unipi — checks npm registry, renders CHANGELOG.md and README.md files in TUI overlays

Readme

Updater

Updater tells you when a new UniPi release is on npm and installs it with one key.

@pi-unipi/updater · part of UniPi

What it does

  • Checks the npm registry for @pi-unipi/unipi at session start.
  • Shows an update overlay with the changelog entries between your version and the new version.
  • Runs pi install npm:@pi-unipi/unipi when you press Y.
  • Remembers a version that you skip. It asks again only for a newer version.
  • Opens package READMEs and the changelog in TUI overlays.
  • Adds an Updater group to the info screen: installed version, latest version, status and last check.

Quick start

Updater ships in @pi-unipi/unipi. It checks the version of @pi-unipi/unipi, so it is useful only with the full suite.

  1. Start a pi session. Updater checks npm in the background.
  2. If a newer version is on npm, the update overlay opens.
  3. Press Y to install. Press n to skip this version.
  4. Restart pi to load the new version.

Commands

| Command | What it does | |---|---| | /unipi:readme [package] | Opens the README browser. A package name, for example utility, opens that README. | | /unipi:changelog | Opens the changelog browser with a version list and a detail view. |

Keys

Update overlay:

| Key | What it does | |---|---| | Y or y | Installs the new version. | | n, q or Esc | Skips this version. | | j / k or arrows | Scrolls the changelog. | | g / G | Goes to the top or the bottom. |

README and changelog browsers:

| Key | What it does | |---|---| | j / k or arrows | Moves in the list, or scrolls the detail view. | | Enter | Opens the selected item. | | g / G | Goes to the top or the bottom. | | q or Esc | Goes back to the list, or closes the list. |

Settings

Open /unipi:settings → Updater. The namespace is updater.

| Key | Default | What it does | |---|---|---| | checkIntervalMs | 3600000 (1 hour) | Minimum time between two npm checks. Options: 30 min, 1 hour, 6 hours, 1 day. | | autoUpdate | notify | disabled: no check. notify: the overlay asks you. auto: the overlay counts down 5 seconds, then installs. Press n to cancel and skip this version. |

How it works

  1. At session start, Updater reads ~/.unipi/cache/updater/last-check.json.
  2. If the last check is older than checkIntervalMs, Updater gets the latest dist-tag from npm. The request stops after 10 seconds.
  3. Updater compares the versions. It never offers a lower version.
  4. If the new version is not skipped, the overlay opens. Updater gets the changelog for the new version from GitHub. If that fails, it uses the local CHANGELOG.md.
  5. The install command stops after 60 seconds. If it fails, the overlay shows the error. Press any key to close it.

A failed npm check is silent. Updater then uses the cached result.

See also