Skip to main content

Class: MassargCommand<Args>

command.MassargCommand

A command is a named function that can be invoked with a set of options.

Commands can have sub-commands, which can have their own sub-commands, and so on.

Options are not inherited by sub-commands, but their parsed values are passed down when invoking a sub-command. This works recursively.

Example

massarg(options).command({
name: 'foo',
description: 'foo command',
run: (options, instance) => {
console.log(options, instance)
},
})

Type parameters

NameType
Argsextends ArgsObject = ArgsObject

Hierarchy

Implements

Constructors

constructor

new MassargCommand<Args>(options, parent?): MassargCommand<Args>

Type parameters

NameType
Argsextends ArgsObject = ArgsObject

Parameters

NameTypeDescription
optionsObject-
options.namestringCommand name
options.descriptionstringCommand description, displayed in the help output
options.runRunner<Args>Function used when invoking this command. It receives the parsed options and the primary instance of Massarg used to invoke this command (the top-level instance)
options.aliases?string[]Command aliases
options.aliasPrefix?stringThe prefix to match before option aliases, e.g. -
options.optionPrefix?stringThe prefix to match before option names, e.g. --
parent?MassargCommand<any>-

Returns

MassargCommand<Args>

Defined in

src/command.ts:89

Properties

name

name: string

Implementation of

Omit.name

Defined in

src/command.ts:76


description

description: string

Implementation of

Omit.description

Defined in

src/command.ts:77


aliases

aliases: string[]

Implementation of

Omit.aliases

Defined in

src/command.ts:78


commands

commands: MassargCommand<any>[] = []

Defined in

src/command.ts:80


options

options: MassargOption<unknown, ArgsObject>[] = []

Defined in

src/command.ts:81


examples

examples: MassargExample[] = []

Defined in

src/command.ts:82


args

args: Partial<Args> = {}

Defined in

src/command.ts:83


parent

Optional parent: MassargCommand<any>

Defined in

src/command.ts:85


optionPrefix

optionPrefix: string = DEFAULT_OPT_FULL_PREFIX

Implementation of

Omit.optionPrefix

Defined in

src/command.ts:86


aliasPrefix

aliasPrefix: string = DEFAULT_OPT_SHORT_PREFIX

Implementation of

Omit.aliasPrefix

Defined in

src/command.ts:87

Accessors

optionPrefixes

get optionPrefixes(): Prefixes

Returns

Prefixes

Defined in

src/command.ts:102


helpConfig

get helpConfig(): DeepRequired<{ lineLength?: number ; descriptionStyle?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; bindCommand?: boolean ; bindOption?: boolean ; useGlobalTableColumns?: boolean ; commandOptions?: { compact?: boolean ; nameStyle?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; descriptionStyle?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; namePrefix?: string ; aliasPrefix?: string } ; optionOptions?: { compact: undefined | boolean ; nameStyle: undefined | { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; descriptionStyle: undefined | { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; namePrefix: undefined | string ; aliasPrefix: undefined | string ; displayNegations: undefined | boolean ; displayDefaultValue: undefined | boolean ; defaultValueStyle: undefined | { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } } ; titleStyle?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; subtitleStyle?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; usageStyle?: { options?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; prefix?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; main?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; command?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } } ; headerStyle?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; footerStyle?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; exampleOptions?: { compact?: boolean ; descriptionStyle?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; inputStyle?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; outputStyle?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; inputPrefix?: string ; outputPrefix?: string ; prefixStyle?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } } ; usageText?: string ; headerText?: string ; footerText?: string }>

Returns

DeepRequired<{ lineLength?: number ; descriptionStyle?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; bindCommand?: boolean ; bindOption?: boolean ; useGlobalTableColumns?: boolean ; commandOptions?: { compact?: boolean ; nameStyle?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; descriptionStyle?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; namePrefix?: string ; aliasPrefix?: string } ; optionOptions?: { compact: undefined | boolean ; nameStyle: undefined | { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; descriptionStyle: undefined | { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; namePrefix: undefined | string ; aliasPrefix: undefined | string ; displayNegations: undefined | boolean ; displayDefaultValue: undefined | boolean ; defaultValueStyle: undefined | { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } } ; titleStyle?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; subtitleStyle?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; usageStyle?: { options?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; prefix?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; main?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; command?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } } ; headerStyle?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; footerStyle?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; exampleOptions?: { compact?: boolean ; descriptionStyle?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; inputStyle?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; outputStyle?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } ; inputPrefix?: string ; outputPrefix?: string ; prefixStyle?: { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean } } ; usageText?: string ; headerText?: string ; footerText?: string }>

Defined in

src/command.ts:109

Methods

command

command<A>(config): MassargCommand<Args & A>

Add a sub-command to this command.

The sub-command will inherit all help configuration from the parent commands, all the way up to the top-level command.

While options are not inherited, they will be passed from any parent commands to the sub-command when invoked.

Type parameters

NameType
Aextends ArgsObject = Args

Parameters

NameTypeDescription
configObject-
config.namestringCommand name
config.descriptionstringCommand description, displayed in the help output
config.runRunner<A>Function used when invoking this command. It receives the parsed options and the primary instance of Massarg used to invoke this command (the top-level instance)
config.aliases?string[]Command aliases
config.aliasPrefix?stringThe prefix to match before option aliases, e.g. -
config.optionPrefix?stringThe prefix to match before option names, e.g. --

Returns

MassargCommand<Args & A>

Defined in

src/command.ts:136

command<A>(config): MassargCommand<Args & A>

Type parameters

NameType
Aextends ArgsObject = Args

Parameters

NameType
configMassargCommand<A>

Returns

MassargCommand<Args & A>

Defined in

src/command.ts:137


flag

flag(config): MassargCommand<Args>

Adds a flag to this command.

A flag is an option that is either present or not. It can be used to toggle a boolean value, or to indicate that a command should be run in a different mode.

A flag can be negated by using negatable: true. By default, the negated name is the same as the option name, prefixed by no-, and each of the aliases will be uppercased. For example, --verbose and --no-verbose, or -v and -V. This behavior can be overridden by the negatedName and negatedAliases options.

Parameters

NameType
configObject
config.namestring
config.descriptionstring
config.aliasesstring[]
config.defaultValueany
config.arrayundefined | boolean
config.requiredundefined | boolean
config.hiddenundefined | boolean
config.outputNameundefined | string
config.negatableundefined | boolean
config.negationNameundefined | string
config.negationAliasesundefined | string[]

Returns

MassargCommand<Args>

Defined in

src/command.ts:179

flag(config): MassargCommand<Args>

Parameters

NameType
configMassargFlag

Returns

MassargCommand<Args>

Defined in

src/command.ts:180


option

option<T, A>(config): MassargCommand<Args>

Adds an option to this command.

An option is a named value that can be passed to a command. It can be required or optional, and can be of any type.

You can specify a default value for an option, which will be used if the option is not passed to the command.

You can also specify a parse function, which will be used to parse the value passed to the command. This is useful if you want to parse a string into a more complex type, or if you want to validate the value.

Type parameters

NameType
Tstring
Aextends ArgsObject = Args

Parameters

NameType
configMassargOption<T, A>

Returns

MassargCommand<Args>

Defined in

src/command.ts:213

option<T, A>(config): MassargCommand<Args>

Type parameters

NameType
Tstring
Aextends ArgsObject = Args

Parameters

NameType
configObject
config.namestring
config.descriptionstring
config.aliasesstring[]
config.typeundefined | "number"
config.defaultValueany
config.arrayundefined | boolean
config.requiredundefined | boolean
config.isDefaultundefined | boolean
config.hiddenundefined | boolean
config.outputNameundefined | string
config.parseundefined | Parser<A, T>

Returns

MassargCommand<Args>

Defined in

src/command.ts:214


example

example(config): MassargCommand<Args>

Adds an example to this command.

An example is a description of how to use the command, with an example input and output.

At least one of description, input or output must be provided, but neither alone is required.

Parameters

NameTypeDescription
configObject-
config.description?stringDescription of the example. This will appear as a title above the input/output line(s).
config.input?stringInput of the example. This will appear as a line below the description, with a $ prefix. The prefix can be changed using the help() function on the command.
config.output?stringOutput of the example. This will appear as a line below the input, with a > prefix. The prefix can be changed using the help() function on the command.

Returns

MassargCommand<Args>

Defined in

src/command.ts:290


help

help(config): MassargCommand<Args>

Configure the help output for this (and all child) commands.

You can automatically bind the help command to this command, and/or bind the help option to this command.

If you don't opt-in to this behavior with bindCommand or bindOption, you can still access the help output via this.helpString() and this.printHelp().

Parameters

NameTypeDescription
configObject-
config.lineLength?numberMaximum length of a row in the help output
config.descriptionStyle?ObjectStyle of the help description
config.descriptionStyle.bold?boolean-
config.descriptionStyle.underline?boolean-
config.descriptionStyle.color?"red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite"-
config.descriptionStyle.reset?boolean-
config.bindCommand?booleanWhether to bind the help command to this command Set this to true to automatically add a help command to this command's subcommands.
config.bindOption?booleanWhether to bind the help option to this command Set this to true to automatically add a --help option to this command's options.
config.useGlobalTableColumns?booleanWhether to align all tables to the column widths, or have each table be independent. Default is true
config.commandOptions?ObjectOptions for generating the table of commands
config.commandOptions.compact?booleanWhen false, each row is separated by a blank line
config.commandOptions.nameStyle?ObjectStyle of the command/option name
config.commandOptions.nameStyle.bold?boolean-
config.commandOptions.nameStyle.underline?boolean-
config.commandOptions.nameStyle.color?"red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite"-
config.commandOptions.nameStyle.reset?boolean-
config.commandOptions.descriptionStyle?ObjectStyle of the command/option description
config.commandOptions.descriptionStyle.bold?boolean-
config.commandOptions.descriptionStyle.underline?boolean-
config.commandOptions.descriptionStyle.color?"red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite"-
config.commandOptions.descriptionStyle.reset?boolean-
config.commandOptions.namePrefix?stringPrefix for the command/option name (default is the command's prefix)
config.commandOptions.aliasPrefix?stringPrefix for the command/option aliases (default is the command's prefix)
config.optionOptions?ObjectOptions for generating the table of options
config.optionOptions.compactundefined | boolean-
config.optionOptions.nameStyleundefined | { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean }-
config.optionOptions.descriptionStyleundefined | { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean }-
config.optionOptions.namePrefixundefined | string-
config.optionOptions.aliasPrefixundefined | string-
config.optionOptions.displayNegationsundefined | boolean-
config.optionOptions.displayDefaultValueundefined | boolean-
config.optionOptions.defaultValueStyleundefined | { bold?: boolean ; underline?: boolean ; color?: "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite" ; reset?: boolean }-
config.titleStyle?ObjectStyle of the help title
config.titleStyle.bold?boolean-
config.titleStyle.underline?boolean-
config.titleStyle.color?"red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite"-
config.titleStyle.reset?boolean-
config.subtitleStyle?ObjectStyle of the help subtitles for commands, options and examples
config.subtitleStyle.bold?boolean-
config.subtitleStyle.underline?boolean-
config.subtitleStyle.color?"red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite"-
config.subtitleStyle.reset?boolean-
config.usageStyle?ObjectStyle of the help usage
config.usageStyle.options?ObjectStyle of the help usage options (if any)
config.usageStyle.options.bold?boolean-
config.usageStyle.options.underline?boolean-
config.usageStyle.options.color?"red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite"-
config.usageStyle.options.reset?boolean-
config.usageStyle.prefix?ObjectStyle of the help usage title - appears before the usage text (custom or auto)
config.usageStyle.prefix.bold?boolean-
config.usageStyle.prefix.underline?boolean-
config.usageStyle.prefix.color?"red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite"-
config.usageStyle.prefix.reset?boolean-
config.usageStyle.main?ObjectFor custom usage text, this is the primary style used (right after the prefix style). For automated usage text, this style is used for the command/binary name
config.usageStyle.main.bold?boolean-
config.usageStyle.main.underline?boolean-
config.usageStyle.main.color?"red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite"-
config.usageStyle.main.reset?boolean-
config.usageStyle.command?ObjectStyle of the help usage commands (if any)
config.usageStyle.command.bold?boolean-
config.usageStyle.command.underline?boolean-
config.usageStyle.command.color?"red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite"-
config.usageStyle.command.reset?boolean-
config.headerStyle?ObjectStyle of the help header
config.headerStyle.bold?boolean-
config.headerStyle.underline?boolean-
config.headerStyle.color?"red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite"-
config.headerStyle.reset?boolean-
config.footerStyle?ObjectStyle of the help footer
config.footerStyle.bold?boolean-
config.footerStyle.underline?boolean-
config.footerStyle.color?"red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite"-
config.footerStyle.reset?boolean-
config.exampleOptions?ObjectOptions for examples section
config.exampleOptions.compact?booleanWhether to compact the examples section
config.exampleOptions.descriptionStyle?ObjectStyle of the example description
config.exampleOptions.descriptionStyle.bold?boolean-
config.exampleOptions.descriptionStyle.underline?boolean-
config.exampleOptions.descriptionStyle.color?"red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite"-
config.exampleOptions.descriptionStyle.reset?boolean-
config.exampleOptions.inputStyle?ObjectStyle of the example input
config.exampleOptions.inputStyle.bold?boolean-
config.exampleOptions.inputStyle.underline?boolean-
config.exampleOptions.inputStyle.color?"red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite"-
config.exampleOptions.inputStyle.reset?boolean-
config.exampleOptions.outputStyle?ObjectStyle of the example output
config.exampleOptions.outputStyle.bold?boolean-
config.exampleOptions.outputStyle.underline?boolean-
config.exampleOptions.outputStyle.color?"red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite"-
config.exampleOptions.outputStyle.reset?boolean-
config.exampleOptions.inputPrefix?stringPrefix for the example input (default: $)
config.exampleOptions.outputPrefix?stringPrefix for the example output (default: >)
config.exampleOptions.prefixStyle?ObjectStyle of the example input/output prefixes
config.exampleOptions.prefixStyle.bold?boolean-
config.exampleOptions.prefixStyle.underline?boolean-
config.exampleOptions.prefixStyle.color?"red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey" | "brightRed" | "brightGreen" | "brightYellow" | "brightBlue" | "brightMagenta" | "brightCyan" | "brightWhite"-
config.exampleOptions.prefixStyle.reset?boolean-
config.usageText?stringText to display at the very top, describing CLI usage
config.headerText?stringText to display above the description, below the usage
config.footerText?stringText to display at the very bottom, below the examples

Returns

MassargCommand<Args>

Defined in

src/command.ts:304


main

main(run): MassargCommand<Args>

Configure the main function for this command. This command will run when no sub-commands are provided.

If none is provided, help will be printed.

Parameters

NameType
runRunner<Args>

Returns

MassargCommand<Args>

Defined in

src/command.ts:322


parse

parse(argv?, args?, parent?): void | Promise<void>

Parse the given arguments and run the command or sub-commands along with the given options and flags.

To parse the arguments without running any commands and only get the output args, use getArgs instead.

Parameters

NameType
argvstring[]
args?Partial<Args>
parent?MassargCommand<Args>

Returns

void | Promise<void>

Defined in

src/command.ts:334


getArgs

getArgs(argv, __args?, parent?, parseCommands?): void | Promise<void>

Parse the given arguments and return the output args.

Parameters

NameType
argvstring[]
__args?Partial<Args>
parent?MassargCommand<any>
parseCommands?false

Returns

void | Promise<void>

Defined in

src/command.ts:372

getArgs(argv, __args?, parent?, parseCommands?): Args

Parameters

NameType
argvstring[]
__args?Partial<Args>
parent?MassargCommand<any>
parseCommands?true

Returns

Args

Defined in

src/command.ts:378


helpString

helpString(): string

Generate the help output for this command, and return it as a string.

Returns

string

Defined in

src/command.ts:482


printHelp

printHelp(): void

Print the help output for this command.

Returns

void

Defined in

src/command.ts:489