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

console-stopwatch

v1.4.0

Published

A simple console stopwatch

Readme

Build Status

console-stopwatch

Simple stopwatch for the console. Simple and quick 🚀

Install & run in console

  • Install globally with npm i console-stopwatch --global
  • Run stopwatch in console.

Instructions

  • Press r to reset current timer ✨
  • Press n to create a new timer ✨
  • Press space to pause or resume the current timer ✨
  • Press ↑ or ↓ to switch between timers ✨
  • Press d to switch between the block digits and a single line of text ✨
  • Press ctrl+c or escape to exit ✨

The elapsed time is drawn in block digits, redrawn in place, and mirrored in the window title. Any other timers are listed underneath, and the up and down arrows switch between them. The hours are only shown once there are any. The keys you can press are listed at the top, with the timer a blank row below them. At 00:00.05, with one timer running and no others:

  r reset · n new · d display · ␣ toggle · esc quit

   █   █     █   █     █  ███
  █ █ █ █ █ █ █ █ █   █ █ █
  █ █ █ █   █ █ █ █   █ █ ███
  █ █ █ █ █ █ █ █ █   █ █   █
   █   █     █   █  █  █  ███

If the terminal is too small for the digits, the display falls back to a single line of text, with the keys above it and a blank row underneath. The other timers are listed under the line the same way they are under the digits, as many of them as the terminal has rows for. The keys are left out when the terminal is too narrow to print them on one row, and the blank row when it is only one row tall or cannot move the cursor.

d switches between the two and remembers the choice, so the next run starts on the one you left it on. It is kept in ~/.config/console-stopwatch/settings.json (or $XDG_CONFIG_HOME when that is set), and nothing is written there until you press the key. A terminal too small for whichever display you asked for still gets the single line rather than something drawn off the edge.