Registry /
database / liwi-resources-websocket-server
Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
default
✓ import createWebSocketServer from 'liwi-resources-websocket-server'
✗ const createWebSocketServer = require('liwi-resources-websocket-server')
Package is ESM-only since v12. CommonJS require() will fail.
WebSocketServerOptions
✓ import type { WebSocketServerOptions } from 'liwi-resources-websocket-server'
✗ import { WebSocketServerOptions } from 'liwi-resources-websocket-server'
This is a TypeScript type, use import type.
WebSocketClientConnection
✓ import type { WebSocketClientConnection } from 'liwi-resources-websocket-server'
✗ import { WebSocketClientConnection } from 'liwi-resources-websocket-server'
Type-only export, use import type.
Creates a WebSocket server that integrates with liwi-resources for real-time data synchronization.
import createWebSocketServer from 'liwi-resources-websocket-server';
import { createResourcesClient } from 'liwi-resources';
const server = createWebSocketServer({
resourcesClient: createResourcesClient({
url: process.env.MONGO_URL ?? 'mongodb://localhost:27017',
dbName: 'mydb'
}),
port: 8080,
});
server.on('connection', (client) => {
console.log('Client connected:', client.id);
client.on('disconnect', () => console.log('Client disconnected'));
});
server.start().then(() => console.log('WebSocket server running on port 8080'));
Debug
Known issues
breakingESM-only since v12: Package no longer supports CommonJS require().fixUse import syntax or dynamic import(). If using Node, ensure 'type': 'module' in package.json or use .mjs extension.
affects: >=12.0.0
breakingRemoved default export for options: In v12, createWebSocketServer now only accepts a single options object instead of multiple arguments.fixPass all options as a single object: createWebSocketServer({ resourcesClient, port, ... }) affects: >=12.0.0
deprecatedDeprecated 'onConnection' callback: Use the 'connection' event instead.fixReplace onConnection option with server.on('connection', callback). affects: >=11.0.0 <12.0.0
gotchaRequires Node >=18.12.0: Older Node versions may not support required features.fixUpgrade Node to >=18.12.0 or use an older version of the package.
affects: >=12.0.0
gotchaTypeScript types are exported but not documented: Use import type for interfaces.fixUse 'import type { ... } from ...' to avoid bundling runtime code. affects: >=12.0.0
Errors
Common errors & fixes
Error [ERR_REQUIRE_ESM]: require() of ES Module /node_modules/liwi-resources-websocket-server/build/index.js from /app/index.js not supported.
Using CommonJS require() on an ESM-only package.
fixSwitch to import statement or use dynamic import(). Set 'type': 'module' in package.json.
TypeError: createWebSocketServer is not a function
Importing the module incorrectly, e.g., using destructuring on default export.
fixUse the default import: import createWebSocketServer from 'liwi-resources-websocket-server'
Error: The 'resourcesClient' option is required
Missing required resourcesClient option in the config object.
fixPass a resourcesClient instance to createWebSocketServer({ resourcesClient: ..., ... }). Audit
Dependencies
liwi-resourcesrequiredCore resource management and query engine
wsrequiredWebSocket server implementation