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

snakepipe

v0.2.0

Published

A node implementation of the rust snakepipe crate

Readme

snake-pipe-node

npm

A partial node implementation of my rust cli topheman/snake-pipe-rust.

Prerequisites

  • Node

Install

npm install -g snakepipe # will install snakepipenode

Optional: Install the rust version - it will let you pipe original commands

cargo install snakepipe # will install snakepipe

Usage

This is a partial implementation, for all the commands, see the rust implementation.

Piping

📎 Validate incomming stream

# Without piping to render
snakepipe gamestate|snakepipenode validate

# Piping to render
snakepipe gamestate|snakepipenode validate|snakepipe render

IPC (Inter-process communication)

This node version ships with an implementation of IPS supporting tcp and unix domain sockets, just like in the rust version,

TCP

Open two terminals. snakepipenode tcp-play will expose a process that accepts tcp connections (on port 8050 by default). You can connect to it via netcat (the nc command), that will pipe the tcp stream output to stdout.

Here are a few commands mixing the rust and node versions.

# main terminal
snakepipe gamestate|snakepipenode tcp-play|snakepipe render
# mirroring terminal
nc localhost 8050|snakepipe render # with netcat
snakepipenode tcp-watch|snakepipe render # or with snakepipe itself

Unix domain sockets

Open two terminals. snakepipenode socket-play will expose a unix domain socket (by default on /tmp/snakepipe.sock). You can connect to it via netcat (the nc command), that will pipe the socket stream to stdout.

# main terminal
snakepipe gamestate|snakepipenode socket-play|snakepipe render
# mirroring terminal
nc -U /tmp/snakepipe.sock|snakepipe render # with netcat
snakepipenode socket-watch|snakepipe render # or with snakepipe itself

Usage as a library

npm install snakepipe

See example of usage on topheman/snake-pipe-rust.

Known bugs

  • tty issue when piping from snakepipe gamestate #1