creevey
Version:
creevey is a tool for automated visual testing, that tightly integrated with storybook
43 lines (32 loc) • 5.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = server;
var _path = _interopRequireDefault(require("path"));
var _http = _interopRequireDefault(require("http"));
var _koa = _interopRequireDefault(require("koa"));
var _koaStatic = _interopRequireDefault(require("koa-static"));
var _koaMount = _interopRequireDefault(require("koa-mount"));
var _ws = _interopRequireDefault(require("ws"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function server(api, reportDir, port) {
const app = new _koa.default(); // eslint-disable-next-line @typescript-eslint/no-misused-promises
const server = _http.default.createServer(app.callback());
const wss = new _ws.default.Server({
server
});
app.use((0, _koaStatic.default)(_path.default.join(__dirname, '../../client')));
app.use((0, _koaMount.default)('/report', (0, _koaStatic.default)(reportDir)));
api.subscribe(wss);
wss.on('connection', ws => {
console.log('[WebSocketServer]:', 'Connection open');
ws.on('error', error => console.log('[WebSocket]:', error));
ws.on('open', () => console.log('[WebSocket]:', 'Connection open'));
ws.on('close', () => console.log('[WebSocket]:', 'Connection close'));
ws.on('message', message => api.handleMessage(ws, message));
});
wss.on('error', error => console.log('[WebSocketServer]:', error));
server.listen(port, () => console.log('[CreeveyServer]:', `Started on http://localhost:${port}`));
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvbWFzdGVyL3NlcnZlci50cyJdLCJuYW1lcyI6WyJzZXJ2ZXIiLCJhcGkiLCJyZXBvcnREaXIiLCJwb3J0IiwiYXBwIiwiS29hIiwiaHR0cCIsImNyZWF0ZVNlcnZlciIsImNhbGxiYWNrIiwid3NzIiwiV2ViU29ja2V0IiwiU2VydmVyIiwidXNlIiwicGF0aCIsImpvaW4iLCJfX2Rpcm5hbWUiLCJzdWJzY3JpYmUiLCJvbiIsIndzIiwiY29uc29sZSIsImxvZyIsImVycm9yIiwibWVzc2FnZSIsImhhbmRsZU1lc3NhZ2UiLCJsaXN0ZW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUdlLFNBQVNBLE1BQVQsQ0FBZ0JDLEdBQWhCLEVBQWlDQyxTQUFqQyxFQUFvREMsSUFBcEQsRUFBd0U7QUFDckYsUUFBTUMsR0FBRyxHQUFHLElBQUlDLFlBQUosRUFBWixDQURxRixDQUVyRjs7QUFDQSxRQUFNTCxNQUFNLEdBQUdNLGNBQUtDLFlBQUwsQ0FBa0JILEdBQUcsQ0FBQ0ksUUFBSixFQUFsQixDQUFmOztBQUNBLFFBQU1DLEdBQUcsR0FBRyxJQUFJQyxZQUFVQyxNQUFkLENBQXFCO0FBQUVYLElBQUFBO0FBQUYsR0FBckIsQ0FBWjtBQUVBSSxFQUFBQSxHQUFHLENBQUNRLEdBQUosQ0FBUSx3QkFBTUMsY0FBS0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLGNBQXJCLENBQU4sQ0FBUjtBQUNBWCxFQUFBQSxHQUFHLENBQUNRLEdBQUosQ0FBUSx1QkFBTSxTQUFOLEVBQWlCLHdCQUFNVixTQUFOLENBQWpCLENBQVI7QUFFQUQsRUFBQUEsR0FBRyxDQUFDZSxTQUFKLENBQWNQLEdBQWQ7QUFFQUEsRUFBQUEsR0FBRyxDQUFDUSxFQUFKLENBQU8sWUFBUCxFQUFzQkMsRUFBRCxJQUFRO0FBQzNCQyxJQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWSxvQkFBWixFQUFrQyxpQkFBbEM7QUFFQUYsSUFBQUEsRUFBRSxDQUFDRCxFQUFILENBQU0sT0FBTixFQUFnQkksS0FBRCxJQUFXRixPQUFPLENBQUNDLEdBQVIsQ0FBWSxjQUFaLEVBQTRCQyxLQUE1QixDQUExQjtBQUNBSCxJQUFBQSxFQUFFLENBQUNELEVBQUgsQ0FBTSxNQUFOLEVBQWMsTUFBTUUsT0FBTyxDQUFDQyxHQUFSLENBQVksY0FBWixFQUE0QixpQkFBNUIsQ0FBcEI7QUFDQUYsSUFBQUEsRUFBRSxDQUFDRCxFQUFILENBQU0sT0FBTixFQUFlLE1BQU1FLE9BQU8sQ0FBQ0MsR0FBUixDQUFZLGNBQVosRUFBNEIsa0JBQTVCLENBQXJCO0FBQ0FGLElBQUFBLEVBQUUsQ0FBQ0QsRUFBSCxDQUFNLFNBQU4sRUFBa0JLLE9BQUQsSUFBNkJyQixHQUFHLENBQUNzQixhQUFKLENBQWtCTCxFQUFsQixFQUFzQkksT0FBdEIsQ0FBOUM7QUFDRCxHQVBEO0FBU0FiLEVBQUFBLEdBQUcsQ0FBQ1EsRUFBSixDQUFPLE9BQVAsRUFBaUJJLEtBQUQsSUFBV0YsT0FBTyxDQUFDQyxHQUFSLENBQVksb0JBQVosRUFBa0NDLEtBQWxDLENBQTNCO0FBRUFyQixFQUFBQSxNQUFNLENBQUN3QixNQUFQLENBQWNyQixJQUFkLEVBQW9CLE1BQU1nQixPQUFPLENBQUNDLEdBQVIsQ0FBWSxrQkFBWixFQUFpQywrQkFBOEJqQixJQUFLLEVBQXBFLENBQTFCO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBodHRwIGZyb20gJ2h0dHAnO1xuaW1wb3J0IEtvYSBmcm9tICdrb2EnO1xuaW1wb3J0IHNlcnZlIGZyb20gJ2tvYS1zdGF0aWMnO1xuaW1wb3J0IG1vdW50IGZyb20gJ2tvYS1tb3VudCc7XG5pbXBvcnQgV2ViU29ja2V0IGZyb20gJ3dzJztcbmltcG9ydCB7IENyZWV2ZXlBcGkgfSBmcm9tICcuL2FwaSc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHNlcnZlcihhcGk6IENyZWV2ZXlBcGksIHJlcG9ydERpcjogc3RyaW5nLCBwb3J0OiBudW1iZXIpOiB2b2lkIHtcbiAgY29uc3QgYXBwID0gbmV3IEtvYSgpO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW1pc3VzZWQtcHJvbWlzZXNcbiAgY29uc3Qgc2VydmVyID0gaHR0cC5jcmVhdGVTZXJ2ZXIoYXBwLmNhbGxiYWNrKCkpO1xuICBjb25zdCB3c3MgPSBuZXcgV2ViU29ja2V0LlNlcnZlcih7IHNlcnZlciB9KTtcblxuICBhcHAudXNlKHNlcnZlKHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi8uLi9jbGllbnQnKSkpO1xuICBhcHAudXNlKG1vdW50KCcvcmVwb3J0Jywgc2VydmUocmVwb3J0RGlyKSkpO1xuXG4gIGFwaS5zdWJzY3JpYmUod3NzKTtcblxuICB3c3Mub24oJ2Nvbm5lY3Rpb24nLCAod3MpID0+IHtcbiAgICBjb25zb2xlLmxvZygnW1dlYlNvY2tldFNlcnZlcl06JywgJ0Nvbm5lY3Rpb24gb3BlbicpO1xuXG4gICAgd3Mub24oJ2Vycm9yJywgKGVycm9yKSA9PiBjb25zb2xlLmxvZygnW1dlYlNvY2tldF06JywgZXJyb3IpKTtcbiAgICB3cy5vbignb3BlbicsICgpID0+IGNvbnNvbGUubG9nKCdbV2ViU29ja2V0XTonLCAnQ29ubmVjdGlvbiBvcGVuJykpO1xuICAgIHdzLm9uKCdjbG9zZScsICgpID0+IGNvbnNvbGUubG9nKCdbV2ViU29ja2V0XTonLCAnQ29ubmVjdGlvbiBjbG9zZScpKTtcbiAgICB3cy5vbignbWVzc2FnZScsIChtZXNzYWdlOiBXZWJTb2NrZXQuRGF0YSkgPT4gYXBpLmhhbmRsZU1lc3NhZ2Uod3MsIG1lc3NhZ2UpKTtcbiAgfSk7XG5cbiAgd3NzLm9uKCdlcnJvcicsIChlcnJvcikgPT4gY29uc29sZS5sb2coJ1tXZWJTb2NrZXRTZXJ2ZXJdOicsIGVycm9yKSk7XG5cbiAgc2VydmVyLmxpc3Rlbihwb3J0LCAoKSA9PiBjb25zb2xlLmxvZygnW0NyZWV2ZXlTZXJ2ZXJdOicsIGBTdGFydGVkIG9uIGh0dHA6Ly9sb2NhbGhvc3Q6JHtwb3J0fWApKTtcbn1cbiJdfQ==