⚡v1.0 — Production Ready
Clean WebSockets
A clean, minimal WebSocket framework with middleware, rooms, tags, and horizontal scaling.
npm install emit.ggCode Examples
Simple. Intuitive. Powerful.
emit.gg brings Express.js simplicity to WebSocket development.
Express-like Routing
Familiar app.on() syntax
Symbol Conventions
@ system, # rooms, * tags
Built-in Request/Reply
Promise-based messaging
server.js
1const { EmitApp } = require('emit.gg');23const app = new EmitApp();45app.on('@connection', (req) => {6 console.log('Connected:', req.id);7});89app.on('/ping', (req) => {10 req.reply({ pong: true });11});1213app.listen(3000);
Why emit.gg?
See how emit.gg compares to other WebSocket solutions
Feature
emit.gg
Socket.IO
ws
Express-like API
Request/Reply
Middleware
Rooms
Tags
Namespaces
Redis Scaling
Auto-Reconnect
TypeScript
Full
Partial
None
Get Started in Minutes
Three simple steps to build your first real-time application
1
Install the package
terminal
$ npm install emit.gg2
Create your server
server.js
const { EmitApp } = require('emit.gg');const app = new EmitApp();app.on('/ping', (req) => {req.reply({ pong: true });});app.listen(3000);
3
Connect from client
client.js
const { EmitClient } = require('emit.gg');const socket = await EmitClient.connect('ws://localhost:3000');const result = await socket.request('/ping');console.log(result); // { pong: true }