UNPKG

motion

Version:

motion - moving development forward

74 lines (51 loc) 1.82 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.run = run; exports.url = url; var _child_process = require('child_process'); var _child_process2 = _interopRequireDefault(_child_process); var _shutdown = require('./shutdown'); var _opts = require('./opts'); var _opts2 = _interopRequireDefault(_opts); var _disk = require('./disk'); var _disk2 = _interopRequireDefault(_disk); var _fns = require('./lib/fns'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const serverPath = (0, _fns.p)(__dirname, 'serverProcess'); // runs server in seperate process // trying to prevent server death when in Focus mode // which does heavy requesting function run() { return new Promise((res, rej) => { let child = _child_process2.default.fork(serverPath, '', { // for express to run quickly env: { NODE_ENV: 'production' } }); (0, _shutdown.setChild)(child); child.send(JSON.stringify((0, _opts2.default)())); child.once('message', message => { var _JSON$parse = JSON.parse(message); let port = _JSON$parse.port; let host = _JSON$parse.host; _opts2.default.set('port', port); _opts2.default.set('host', host); _disk2.default.writeServerState(); res(); }); // send opts after first build complete let sendOpts = setInterval(() => { if ((0, _opts2.default)('hasRunInitialBuild')) { child.send(JSON.stringify((0, _opts2.default)())); clearInterval(sendOpts); } }, 150); }); } function url() { const host = (0, _opts2.default)('host'); const port = (0, _opts2.default)('port'); return host + (port && port !== 80 ? ':' + port : ''); } exports.default = { run, url }; //# sourceMappingURL=server.js.map