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

socket-lab

v1.0.1

Published

A terminal-first Socket.IO client for local server testing.

Downloads

33

Readme

socket-lab

A terminal-first CLI for testing Socket.IO servers locally.

GitHub repository: ShashwatDhingra/socket-lab

socket-lab gives you a simple interactive REPL for connecting to a Socket.IO server, joining rooms, sending messages, and watching live events from the terminal.

socket-lab banner

Features

  • Connect to Socket.IO servers from the terminal
  • Join, switch, and leave rooms interactively
  • Send chat-style messages directly from the REPL
  • Inspect events with built-in debug commands
  • Use the included local test server for quick development

Requirements

  • Node.js 18 or newer

Install

npm install -g socket-lab

Or run it without a global install:

npx socket-lab connect http://localhost:3000

Usage

socket-lab connect http://localhost:3000

If you are developing this project locally:

npm install
npm start -- connect http://localhost:3000

The REPL is chat-native:

  • Slash commands drive control flow, for example /join backend-room
  • Plain text is sent directly to the active room
  • The prompt shows your active identity and room context

Example Session

socket-lab connect http://localhost:3000
/nick john
/join backend-room
hello from terminal one
/status

Local Test Server

Run the included Express + Socket.IO server:

npm run test-server

Then connect the CLI in another terminal:

socket-lab connect http://localhost:3000

Try this sequence:

/nick john
/join backend-room
hello from terminal one
/status
/rooms
/history

Open another terminal and connect a second client:

socket-lab connect http://localhost:3000
/nick alice
/join backend-room
hello from terminal two

Both terminals will receive the shared room_message and room_system events.

Development

Install dependencies:

npm install

Run the syntax check:

npm run check

Start the local test server:

npm run test-server

Slash Commands

  • /nick <username>
  • /join <room_name>
  • /use <room_name>
  • /leave [room_name]
  • /say <message>
  • /msg <message>
  • /rooms
  • /status
  • /whoami
  • /clear
  • /history
  • /help
  • /exit

Advanced transport/debug commands still exist for power users:

  • /emit <event_name> <json_payload>
  • /on <event_name>
  • /off <event_name>

Notes

  • All incoming events are logged with a global onAny() listener.
  • Session logs are persisted to .socket-lab.log in the current working directory.
  • Command and event-name autocomplete is available in the REPL.

Contributor

This package is maintained by: