http2server
Version:
Simple HTTP/2 push server
46 lines (29 loc) • 2.02 kB
JavaScript
;
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
var _yargs = require('yargs');
var _yargs2 = _interopRequireDefault(_yargs);
var _server = require('./server');
var _server2 = _interopRequireDefault(_server);
var _debug = require('debug');
var _debug2 = _interopRequireDefault(_debug);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var argv = _yargs2.default.usage('Usage: $0 <path> [options]').command('path', 'Directory to serve').alias('p', 'port').default('port', process.env.PORT || 8080, '$PORT or 8080').describe('port', 'Port to listen on').alias('C', 'cert').default('cert', 'cert.pem').describe('cert', 'Path to ssl cert file').alias('K', 'key').default('key', 'key.pem').describe('key', 'Path to ssl key file').alias('I', 'index').default('index', 'index.html').describe('index', 'HTML fallback for single page apps').alias('s', 'silent').boolean('silent').default('silent', false).describe('silent', 'Suppress log messages from output').boolean('cors').default('cors', false).describe('cors', 'Set `Access-Control-Allow-Origin`').default('max', 100).describe('max', 'Limit the number of pushed dependencies').alias('h', 'help').help('help').argv;
if (!argv.silent) _debug2.default.enable('http2server');
var log = (0, _debug2.default)('http2server');
function directoryExists(path) {
try {
var stats = _fs2.default.statSync(path);
return stats.isDirectory();
} catch (err) {}
}
var publicDirectory = _path2.default.join(process.cwd(), 'public');
argv.root = typeof argv._[0] !== 'undefined' ? _path2.default.resolve(argv._[0]) : directoryExists(publicDirectory) ? publicDirectory : process.cwd();
argv.index = _path2.default.resolve(argv.root, argv.index);
var app = (0, _server2.default)(argv);
app.listen(argv.port);
log('Serving ' + argv.root + ' on port ' + argv.port);
//# sourceMappingURL=cli.js.map