import { CliCommandDefinition, CliCommandDefinitionOption, CliProgramDefinition } from '../../src'; const globalOptions: CliCommandDefinitionOption[] = [ { name: 'global1', flag: 'g', description: 'Global 1 option description', }, { name: 'global2', flag: '-l', valueType: 'string', }, ]; const defs: CliCommandDefinition[] = [ { name: 'build', description: 'my description (build)', handler: parsed => { // console.log(`running ${parsed.parsedCommandName}`); }, arguments: [ { name: 'src', description: 'Source file', }, { name: 'dest', description: 'Desination File', isOptional: true, default: 'Default Value', }, ], options: [ { name: 'output', flag: '-o', description: 'output description', }, ], }, { name: 'build optional', description: 'my description (build optional)', handler: parsed => { // console.log(`running ${parsed.parsedCommandName}`); }, arguments: [ { name: 'src', }, { name: 'dest', isOptional: true, }, ], options: [ { name: 'output', flag: '-o', description: 'output description', }, ], }, { name: 'build sub', description: 'my description (build sub)', handler: parsed => { // console.log(`running ${parsed.parsedCommandName}`); }, arguments: [ { name: 'src', }, { name: 'dest', }, ], options: [ { name: 'output', flag: 'o', description: 'output description', }, ], }, { name: 'variadic', description: 'my description (variadic)', handler: parsed => { // console.log(`running ${parsed.parsedCommandName}`); }, arguments: [ { name: 'src', }, { name: 'dest', }, { name: 'variadicarg', isVariadic: true, }, ], options: [ { name: 'output', flag: '-o', description: 'output description', }, ], }, { name: 'camelCommand', description: 'Command with camel case name', handler: parsed => { // console.log(`running ${parsed.parsedCommandName}`); }, arguments: [ { name: 'src', description: 'Source file', }, { name: 'dest', description: 'Desination File', isOptional: true, default: 'Default Value', }, ], options: [ { name: 'output', flag: '-o', description: 'output description', }, ], }, ]; export const def: CliProgramDefinition = { name: 'mr', defaultCommandName: 'build', options: globalOptions, commands: defs, description: 'global bin description', examples: ['mr myfile.txt out.txt -g', 'mr blah blah -o'], };