Open tunnckoCore opened 7 years ago
var minimist = require('minimist') var merge = require('mixin-deep') module.exports = function minibaseArgv (opts) { return function (app) { app.define('parseArgv', function (opts) { var argv = minimist(process.argv.slice(2), merge({ alias: { h: 'help', v: 'version' } }, opts)) var keys = Object.keys(argv) app.argv = argv if (!argv._.length && keys.length === 1) { argv.__ = argv.__ || {} argv.__.isCommand = true argv.__.isFlag = true app.emit('help', null, argv) return app } app.emit('_', argv._) app.emit('*', '_', argv._) argv._.forEach(function (key, idx) { argv.__ = argv.__ || {} argv.__.isCommand = true app.emit(key, idx, argv) app.emit(idx, key, argv) }) keys.forEach(function (key) { if (key === '_') return var val = argv[key] argv.__ = argv.__ || {} argv.__.isFlag = true app.emit(key, val, argv) app.emit('*', key, val) }) return app }) } }
attr to minimist-events
minimist-events
attr to
minimist-events