mock-json-package
Version:
52 lines (44 loc) • 1.27 kB
JavaScript
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)
}
}