UNPKG

snapmaker-luban

Version:

A web-based interface for Snapmaker 3-in-1 3D Printer

69 lines (50 loc) 3.08 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var _path = _interopRequireDefault(require("path")); var _commander = _interopRequireDefault(require("commander")); var _isElectron = _interopRequireDefault(require("is-electron")); var _package = _interopRequireDefault(require("./package.json")); /* eslint max-len: 0 */ /* eslint no-console: 0 */ // Defaults to 'production' process.env.NODE_ENV = process.env.NODE_ENV || 'production'; var increaseVerbosityLevel = function increaseVerbosityLevel(val, total) { return total + 1; }; var defaultHost = (0, _isElectron["default"])() ? '127.0.0.1' : '0.0.0.0'; var defaultPort = (0, _isElectron["default"])() ? 0 : 8000; _commander["default"].version(_package["default"].version).usage('[options]').option('-p, --port <port>', "Set listen port (default: ".concat(defaultPort, ")"), defaultPort).option('-H, --host <host>', "Set listen address or hostname (default: ".concat(defaultHost, ")"), defaultHost).option('-b, --backlog <backlog>', 'Set listen backlog (default: 511)', 511).option('-v, --verbose', 'Increase the verbosity level (-v, -vv, -vvv)', increaseVerbosityLevel, 0).option('-w, --watch-directory <path>', 'Watch a directory for changes').option('--access-token-lifetime <lifetime>', 'Access token lifetime in seconds or a time span string (default: 30d)').option('--allow-remote-access', 'Allow remote access to the server (default: false)'); // Commander assumes that the first two values in argv are 'node' and appname, and then followed by the args. // This is not the case when running from a packaged Electron server. Here you have the first value appname and then args. var normalizedArgv = String(process.argv[0]).indexOf(_package["default"].name) >= 0 ? ['node', _package["default"].name].concat((0, _toConsumableArray2["default"])(process.argv.slice(1))) : process.argv; if (normalizedArgv.length > 1) { _commander["default"].parse(normalizedArgv); } var launchServer = function launchServer() { return new Promise(function (resolve, reject) { // Change working directory to 'server' before require('./server') process.chdir(_path["default"].resolve(__dirname, 'server')); require('./server').createServer({ port: _commander["default"].port, host: _commander["default"].host, backlog: _commander["default"].backlog, verbosity: _commander["default"].verbose, watchDirectory: _commander["default"].watchDirectory, accessTokenLifetime: _commander["default"].accessTokenLifetime, allowRemoteAccess: !!_commander["default"].allowRemoteAccess, controller: _commander["default"].controller }, function (err, data) { if (err) { reject(err); return; } resolve(data); }); }); }; var _default = launchServer; exports["default"] = _default;