UNPKG

webappengine

Version:

A web application server that can host multiple web apps running with Node.js.

75 lines (54 loc) 2.68 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _lodash = require('lodash'); var _lodash2 = _interopRequireDefault(_lodash); var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _commander = require('commander'); var _commander2 = _interopRequireDefault(_commander); var _package = require('../package.json'); var _package2 = _interopRequireDefault(_package); var _app = require('./app'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /* eslint max-len: 0 */ /* eslint import/first: 0 */ /* eslint import/no-dynamic-require: 0 */ // Defaults to 'production' process.env.NODE_ENV = process.env.NODE_ENV || 'production'; var increaseVerbosityLevel = function increaseVerbosityLevel(val, total) { return total + 1; }; _commander2.default.version(_package2.default.version).usage('[options]').option('-p, --port <port>', 'set listen port (default: 8000)', 8000).option('-H, --host <host>', 'set listen address or hostname (default: 0.0.0.0)', '0.0.0.0').option('-b, --backlog <backlog>', 'set listen backlog (default: 511)', 511).option('-c, --config <filename>', 'set multihost configuration file').option('-v, --verbose', 'increase the verbosity level', increaseVerbosityLevel, 0).parse(process.argv); var main = function main() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var callback = arguments[1]; if (typeof options === 'function') { callback = options; options = {}; } // Set multihost configuration settings var routes = []; if (_commander2.default.config) { routes = require(_path2.default.resolve(_commander2.default.config)); if (!_lodash2.default.isArray(routes)) { callback(new Error('Check your multihost configuration file to ensure it contain valid routes.')); return; } } (0, _app.createServer)(_extends({ port: _commander2.default.port, host: _commander2.default.host, backlog: _commander2.default.backlog, routes: routes, verbosity: _commander2.default.verbose }, options) // Override command-line options if specified ).on('ready', function (server) { callback(null, server); }).on('error', function (err) { callback(err); }); }; exports.default = main;