first
This commit is contained in:
62
node_modules/@vue/cli-service/lib/commands/help.js
generated
vendored
Normal file
62
node_modules/@vue/cli-service/lib/commands/help.js
generated
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
const { chalk } = require('@vue/cli-shared-utils')
|
||||
const getPadLength = require('../util/getPadLength')
|
||||
|
||||
module.exports = (api, options) => {
|
||||
api.registerCommand('help', args => {
|
||||
const commandName = args._[0]
|
||||
if (!commandName) {
|
||||
logMainHelp()
|
||||
} else {
|
||||
logHelpForCommand(commandName, api.service.commands[commandName])
|
||||
}
|
||||
})
|
||||
|
||||
function logMainHelp () {
|
||||
console.log(
|
||||
`\n Usage: vue-cli-service <command> [options]\n` +
|
||||
`\n Commands:\n`
|
||||
)
|
||||
const commands = api.service.commands
|
||||
const padLength = getPadLength(commands)
|
||||
for (const name in commands) {
|
||||
if (name !== 'help') {
|
||||
const opts = commands[name].opts || {}
|
||||
console.log(` ${
|
||||
chalk.blue(name.padEnd(padLength))
|
||||
}${
|
||||
opts.description || ''
|
||||
}`)
|
||||
}
|
||||
}
|
||||
console.log(`\n run ${
|
||||
chalk.green(`vue-cli-service help [command]`)
|
||||
} for usage of a specific command.\n`)
|
||||
}
|
||||
|
||||
function logHelpForCommand (name, command) {
|
||||
if (!command) {
|
||||
console.log(chalk.red(`\n command "${name}" does not exist.`))
|
||||
} else {
|
||||
const opts = command.opts || {}
|
||||
if (opts.usage) {
|
||||
console.log(`\n Usage: ${opts.usage}`)
|
||||
}
|
||||
if (opts.options) {
|
||||
console.log(`\n Options:\n`)
|
||||
const padLength = getPadLength(opts.options)
|
||||
for (const [flags, description] of Object.entries(opts.options)) {
|
||||
console.log(` ${
|
||||
chalk.blue(flags.padEnd(padLength))
|
||||
}${
|
||||
description
|
||||
}`)
|
||||
}
|
||||
}
|
||||
if (opts.details) {
|
||||
console.log()
|
||||
console.log(opts.details.split('\n').map(line => ` ${line}`).join('\n'))
|
||||
}
|
||||
console.log()
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user