{"id":47257,"library":"clhq-websocket-module","title":"clhq-websocket-module","description":"A shared WebSocket broadcaster module for ClippyHQ services, currently at version 1.1.0-alpha.189. This alpha release primarily supports server-to-client broadcasting but has a known limitation: client-to-server event handling is not yet implemented. It is designed for internal CLHQ usage, built with TypeScript, and relies on the popular 'ws' library. The package facilitates real-time messaging across Clippy microservices, with a focus on simplicity and TypeScript integration.","status":"active","version":"1.1.0-alpha.189","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","typescript"],"install":[{"cmd":"npm install clhq-websocket-module","lang":"bash","label":"npm"},{"cmd":"yarn add clhq-websocket-module","lang":"bash","label":"yarn"},{"cmd":"pnpm add clhq-websocket-module","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core WebSocket implementation","package":"ws","optional":false}],"imports":[{"note":"ESM-only package; CommonJS require() fails.","wrong":"const WebSocketBroadcaster = require('clhq-websocket-module');","symbol":"WebSocketBroadcaster","correct":"import { WebSocketBroadcaster } from 'clhq-websocket-module'"},{"note":"Type-only import to avoid runtime errors in JavaScript.","wrong":"import { BroadcasterOptions } from 'clhq-websocket-module'","symbol":"BroadcasterOptions","correct":"import type { BroadcasterOptions } from 'clhq-websocket-module'"},{"note":"The default export is WebSocketBroadcaster.","wrong":"const Broadcaster = require('clhq-websocket-module').default","symbol":"default","correct":"import Broadcaster from 'clhq-websocket-module'"}],"quickstart":{"code":"import { WebSocketBroadcaster } from 'clhq-websocket-module';\nimport WebSocket from 'ws';\n\nconst broadcaster = new WebSocketBroadcaster({\n  port: 8080,\n  server: new WebSocket.Server({ port: 8080 }),\n});\n\nbroadcaster.on('connection', (socket) => {\n  console.log('Client connected');\n  socket.send('Welcome!');\n});\n\nbroadcaster.broadcast({ event: 'update', data: { message: 'Hello all' } });","lang":"typescript","description":"Initializes a WebSocket broadcaster on port 8080, broadcasts a JSON event, and handles new connections."},"warnings":[{"fix":"Pass WebSocket.Server instance via 'server' option instead of 'ws'.","message":"WebSocketBroadcaster constructor removed 'ws' option; use 'server' option in v1.1.0-alpha.189","severity":"breaking","affected_versions":">=1.1.0-alpha.189"},{"fix":"Replace calls to 'sendToAll' with 'broadcast'.","message":"Method 'sendToAll' is deprecated; use 'broadcast' instead.","severity":"deprecated","affected_versions":">=1.1.0-alpha.180"},{"fix":"Implement custom client message handling if needed; this is a known limitation.","message":"Client-to-server events not supported; only server-to-client broadcasting works.","severity":"gotcha","affected_versions":"<=1.1.0-alpha.189"},{"fix":"Add 'esModuleInterop': true in tsconfig.json or use 'import * as Broadcaster'.","message":"TypeScript consumers must set 'esModuleInterop' to true or use default import correctly.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'1.1.0':16 'across':67 'alpha':19 'alpha.189':17 'broadcast':8,27 'built':50 'clhq':2,48 'clhq-websocket-modul':1 'client':26,34 'client-to-serv':33 'clippi':68 'clippyhq':11 'current':13 'design':45 'event':37 'facilit':62 'focus':72 'handl':38 'implement':42 'integr':77 'intern':47 'javascript':78 'known':31 'librari':59 'limit':32 'messag':66 'microservic':69 'modul':4,9 'packag':61 'popular':57 'primarili':21 'real':64 'real-tim':63 'releas':20 'reli':54 'server':24,36 'server-to-cli':23 'servic':12 'share':6 'simplic':74 'support':22 'time':65 'typescript':52,76,79 'usag':49 'version':15 'websocket':3,7 'ws':58 'yet':41","created_at":"2026-06-07T16:50:36.151227+00:00","updated_at":"2026-06-07T16:50:36.151227+00:00","problems":[{"fix":"Run 'npm install ws' and 'npm install @types/ws' (if using TypeScript).","cause":"Missing 'ws' dependency.","error":"Cannot find module 'ws' or its corresponding type declarations."},{"fix":"Use ES module import: 'import { WebSocketBroadcaster } from 'clhq-websocket-module'","cause":"Wrong import style (CommonJS require on an ESM-only package).","error":"TypeError: WebSocketBroadcaster is not a constructor"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":null,"github":null,"docs":null,"changelog":null,"pypi":null,"npm":"clhq-websocket-module","openapi_spec":null,"status_page":null,"smithery":null,"categories":["messaging"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}