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 🙏

© 2025 – Pkg Stats / Ryan Hefner

nvivn

v0.0.1

Published

🚨 Warning: early and experimental 🚨

Downloads

4

Readme

nvivn

🚨 Warning: early and experimental 🚨

More at nvivn.io. Here's an early demo video if you're into that sort of thing.

Installation

npm install
npm link

Running

Now you can run nvivn server in whatever directory you like. It'll start up at http://localhost:9999.

Web UI

There's a separate web UI that you can build and run by running:

npm run web

You can view that at http://localhost:9966

What?

So both the server and the web UI create an instance called a hub. A hub has an identity (automatically created on first launch) and a message log. The server version is nearly identical, except that it writes messages to the file system, and can discover peers on the local network using zeroconf/mdns.

Commands

All actions are triggered via commands. Some examples:

  • op:messages lists all messages
  • op:messages text:hi lists all messages where text is "hi"
  • op:messages since:now-15m lists all messages that this hub has gotten in the last 15 minutes (can also be a Unix epoch time, or anything elastic search's date math syntax handles)
  • op:create-message | text:stuff anotherthing:"whatever you want" creates a new message
  • op:peers lists known peer hubs

These can be executed locally with nvivn <command> in the working directory of your hub, whether or not the server is running. (Those commands operate directly on the files.)

In the web UI, you can use these commands, as well as a few extras:

  • :whoami will print your current identity information
  • :hub will print your current hub
  • :set-hub | "some-server:port" will switch to a new hub

You can also use any of the command line commands. (The "op:" prefix is optional.)