UNPKG

mock-json-package

Version:
52 lines (44 loc) 1.27 kB
import _ from 'lodash' import minimist from 'minimist' import { divider, header, br, kvp, blue, footer, green, cyan, yellow } from './terminal.js' let args = undefined let quiet = undefined let verbose = undefined export function getCLIArgument(argumentName) { if(_.isUndefined(args)) args = minimist(process.argv.slice(2)) return _.get(args, argumentName, undefined) } export function beQuiet() { if(_.isUndefined(quiet)) quiet = getCLIFlag('q', 'quiet') && !beVerbose() return quiet } export function beVerbose() { if(_.isUndefined(verbose)) verbose = getCLIFlag('v', 'verbose') return verbose } export function getCLIFlag() { if(_.isUndefined(args)) args = minimist(process.argv.slice(2)) for(let i = 0; i < arguments.length; ++i) { if(_.has(args, arguments[i])) { return true } } return false } export function checkCLIHelpFlag() { if (getCLIFlag('h', 'help')) { divider() printCLIHelp() if (getCLIFlag('c', 'config')) { br() divider() printConfigHelp() } else { footer() } process.exit(0) } else if (getCLIFlag('c', 'config')) { printConfigHelp() process.exit(0) } }