asdf-games/node_modules/budo/lib/parse-args.js

71 lines
1.4 KiB
JavaScript
Raw Normal View History

var subarg = require('subarg')
var xtend = require('xtend')
module.exports = parseArgs
function parseArgs (args, opt) {
// before parsing subarg, remove the bundler arguments
var bundlerFlags = []
var stopIndex = args.indexOf('--')
if (stopIndex >= 0) {
bundlerFlags = args.slice(stopIndex + 1)
args = args.slice(0, stopIndex)
}
var argv = subarg(args, {
boolean: [
'stream',
'debug',
'errorHandler',
'forceDefaultIndex',
'open',
'portfind',
'ndjson',
'verbose',
'cors',
'ssl'
],
string: [
'host',
'port',
'dir',
'onupdate',
'serve',
'title',
'watchGlob',
'cert',
'key'
],
default: module.exports.defaults,
alias: {
port: 'p',
ssl: 'S',
serve: 's',
cert: 'C',
key: 'K',
verbose: 'v',
help: 'h',
host: 'H',
dir: 'd',
live: 'l',
open: 'o',
staticOptions: [ 'static-options' ],
watchGlob: [ 'wg', 'watch-glob' ],
errorHandler: 'error-handler',
forceDefaultIndex: 'force-default-index',
pushstate: 'P'
},
'--': true
})
// add back in the bundler flags
argv['--'] = bundlerFlags
return xtend(argv, opt)
}
module.exports.defaults = {
title: 'budo',
port: 9966,
debug: true,
stream: true,
errorHandler: true,
portfind: true
}