UNPKG

@zebrunner/javascript-agent-mocha

Version:
47 lines (40 loc) 1.15 kB
const ipc = require('node-ipc').default; const startIPCServer = (subscribeServerEvents, unsubscribeServerEvents) => { if (ipc.server) { return; } ipc.config.id = 'zebrunneragent'; ipc.config.retry = 1500; ipc.config.silent = false; ipc.config.logInColor = true; ipc.config.logDepth = 5; ipc.config.logger = console.log; ipc.config.maxConnections = 10; ipc.serve(() => { ipc.server.on('socket.disconnected', (socket, destroyedSocketID) => { ipc.log(`Client ${destroyedSocketID} has been disconnected`); }); ipc.server.on('destroy', () => { ipc.log('Server has been destroyed'); }); subscribeServerEvents(ipc.server); process.on('exit', () => { ipc.log('Unsubscribe from all events and stop server on exit'); unsubscribeServerEvents(ipc.server); ipc.server.stop(); }); }); ipc.server.start(); }; const stopIPCServer = (unsubscribeServerEvents) => { if (!ipc.server) { return; } ipc.log('Unsubscribe from all events and stop server'); unsubscribeServerEvents(ipc.server); ipc.server.stop(); }; module.exports = { startIPCServer, stopIPCServer, };