import { program } from 'commander' import * as console from 'console' interface ICli {} interface Question { type: 'string' | 'select' | 'bool' | 'check-box' title: string data?: { title: string }[] } interface IAnswer { title: string value: string | string[] } export class Cli { answer: IAnswer[] = [] constructor(public question: Question[]) {} start() { program .name('string-util') .description('CLI to some JavaScript string utilities') .version('0.8.0') program .command('split') .description('Split a string into substrings and display as an array') .argument('', 'string to split') .option('--first', 'display just the first substring') .option('-s, --separator ', 'separator character', ',') .action((str, options) => { const limit = options.first ? 1 : undefined console.log(str.split(options.separator, limit)) }) program.parse() } }