@bolt-socket/boltsocket
v1.0.1
Published
Type-safe WebSocket abstraction with Zod validation for real-time apps
Maintainers
Readme
BoltSocket
Type-safe WebSocket abstraction with Zod validation for real-time apps.
Installation
Basic installation (includes core functionality + Zod):
npm install @bolt-socket/boltsocketFor server features, also install:
npm install socket.ioFor React features, also install:
npm install socket.io-client reactSubpath Exports
This package provides three subpath exports:
Core (boltsocket/core)
Type-safe event registry with Zod validation.
import { createEventRegistry } from "boltsocket/core";
import { z } from "zod";
const events = createEventRegistry({
"chat:message": z.object({
message: z.string(),
userId: z.string(),
}),
});Server (boltsocket/server)
Socket.IO server with validation, rooms, auth, and event replay.
import { createSocketServer } from "boltsocket/server";
const io = createSocketServer(httpServer, events, {
onConnection: (socket) => {
console.log("Connected:", socket.id);
},
});React (boltsocket/react)
React hooks and provider for WebSocket events.
import { SocketProvider, useSocketEvent } from "boltsocket/react";
function App() {
return (
<SocketProvider url="http://localhost:3000" registry={events}>
<Chat />
</SocketProvider>
);
}
function Chat() {
useSocketEvent(events, "chat:message", (data) => {
console.log(data.message);
});
return <div>Chat App</div>;
}Dependencies
- Included automatically:
zod(always installed) - Optional (install if needed):
socket.io- for server featuressocket.io-client- for client/React featuresreact- for React hooks
Install only what you need for your use case!
License
MIT
