UNPKG

wmod-proxy

Version:
146 lines (117 loc) 5.59 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _helpers = require("yargs/helpers"); var _yargs = _interopRequireDefault(require("yargs")); var _proxy = _interopRequireWildcard(require("./proxy")); var _service = require("./service"); var _logger = require("./logger"); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } var parse = (0, _yargs["default"])((0, _helpers.hideBin)(process.argv)).demandCommand().command('$0 <port> <wmod>', 'Run proxy on port PORT and inject WMOD', function (argv) { return argv.positional('port', { describe: 'Proxy port number', type: 'number', demandOption: true }).positional('wmod', { describe: 'Path a directory with a wmod', type: 'string', demandOption: true }).options({ debug: { alias: 'd', type: 'boolean' } }); }); (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { var argv, logger, server; return _regenerator["default"].wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return parse.argv; case 2: argv = _context3.sent; (0, _logger.initLogger)(argv.debug === true ? 'dbg' : 'info'); logger = (0, _logger.getLogger)(); _context3.prev = 5; _context3.next = 8; return (0, _proxy["default"])(argv.port, argv.wmod); case 8: server = _context3.sent; _context3.next = 19; break; case 11: _context3.prev = 11; _context3.t0 = _context3["catch"](5); if (!(_context3.t0 instanceof _service.ManifestError || _context3.t0 instanceof _proxy.ProxyError)) { _context3.next = 18; break; } logger.err(_context3.t0.toString()); process.exit(1); _context3.next = 19; break; case 18: throw _context3.t0; case 19: // nodemon sends SIGUSR2 to restart processes process.on('SIGUSR2', /*#__PURE__*/function () { var _exit = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() { return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: logger.info('Caught SIGUSR2, stopping server...'); _context.next = 3; return server.stop(); case 3: logger.info('Server has stopped, exiting'); process.exit(0); case 5: case "end": return _context.stop(); } } }, _callee); })); function exit() { return _exit.apply(this, arguments); } return exit; }()); // Exit gracefully when we click Ctrl-C process.on('SIGINT', /*#__PURE__*/function () { var _exit2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: logger.info('Caught SIGINT, stopping server...'); _context2.next = 3; return server.stop(); case 3: process.exit(0); case 4: case "end": return _context2.stop(); } } }, _callee2); })); function exit() { return _exit2.apply(this, arguments); } return exit; }()); case 21: case "end": return _context3.stop(); } } }, _callee3, null, [[5, 11]]); }))(); //# sourceMappingURL=cli.js.map