@teambit/cli 0.0.777 → 0.0.779
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli-parser.js
CHANGED
|
@@ -179,7 +179,7 @@ class CLIParser {
|
|
|
179
179
|
const yarnCommand = this.getYargsCommand(command);
|
|
180
180
|
const builderFunc = () => {
|
|
181
181
|
var _command$commands;
|
|
182
|
-
(_command$commands = command.commands) === null || _command$commands === void 0
|
|
182
|
+
(_command$commands = command.commands) === null || _command$commands === void 0 ? void 0 : _command$commands.forEach(cmd => {
|
|
183
183
|
const subCommand = this.getYargsCommand(cmd);
|
|
184
184
|
_yargs().default.command(subCommand);
|
|
185
185
|
});
|
package/dist/cli-parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_didyoumean","data","_interopRequireDefault","require","_yargs","_lodash","_consumer","_logger","_loader","_chalk","_getCommandId","_help","_yargsAdapter","_commandNotFound","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","CLIParser","constructor","commands","groups","yargs","parse","args","process","argv","slice","throwForNonExistsCommand","logger","debug","join","help","configureParser","forEach","command","length","parseCommandWithSubCommands","yargsCommand","getYargsCommand","configureGlobalFlags","setHelpMiddleware","handleCommandFailure","configureCompletion","strict","wrap","middleware","_","shouldShowInternalCommands","Boolean","internal","printHelp","exit","loader","off","showHelp","logCommandHelp","bind","isDaemon","fail","msg","err","stop","isHelpFlagEntered","includes","isMsgAboutMissingArgs","startsWith","console","log","chalk","yellow","commandsToShowComponentIdsForCompletion","completion","current","completionFilter","done","consumer","loadConsumerIfExist","bitmapIdsFromCurrentLane","map","id","toStringWithoutVersion","formatHelp","parserConfiguration","yarnCommand","builderFunc","_command$commands","cmd","subCommand","options","YargsAdapter","getGlobalOptions","builder","handler","option","alias","describe","group","GLOBAL_GROUP","global","commandName","commandsNames","c","getCommandId","name","aliases","filter","a","existingGlobalFlags","validCommands","commandExist","didYouMean","returnFirstMatch","suggestions","private","suggestion","Array","isArray","CommandNotFound","findCommandByArgv","replacer","p1","p2","green","lines","split","linesWithoutEmpty","compact","cmdLine","description","globalOptions","subCommands","examples","optionsStarted","globalStarted","subCommandsStarted","positionalsStarted","examplesStarted","i","currentLine","STANDARD_GROUP","push","optionsColored","opt","replace","argsColored","argName","optionsStr","argumentsStr","examplesStr","subCommandsStr","descriptionColored","desc","bold","extendedDescription","helpUrl","underline","descriptionStr","globalOptionsStr","finalOutput","enteredCommand","enteredSubCommand","isCommandMatch","str","find","exports"],"sources":["cli-parser.ts"],"sourcesContent":["import didYouMean from 'didyoumean';\nimport yargs from 'yargs';\nimport { Command } from '@teambit/legacy/dist/cli/command';\nimport { GroupsType } from '@teambit/legacy/dist/cli/command-groups';\nimport { compact } from 'lodash';\nimport { loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport chalk from 'chalk';\nimport { getCommandId } from './get-command-id';\nimport { formatHelp } from './help';\nimport { GLOBAL_GROUP, STANDARD_GROUP, YargsAdapter } from './yargs-adapter';\nimport { CommandNotFound } from './exceptions/command-not-found';\n\nexport class CLIParser {\n public parser = yargs;\n constructor(private commands: Command[], private groups: GroupsType) {}\n\n async parse(args = process.argv.slice(2)) {\n this.throwForNonExistsCommand(args[0]);\n logger.debug(`[+] CLI-INPUT: ${args.join(' ')}`);\n yargs(args);\n yargs.help(false);\n this.configureParser();\n this.commands.forEach((command: Command) => {\n if (command.commands && command.commands.length) {\n this.parseCommandWithSubCommands(command);\n } else {\n const yargsCommand = this.getYargsCommand(command);\n yargs.command(yargsCommand);\n }\n });\n this.configureGlobalFlags();\n this.setHelpMiddleware();\n this.handleCommandFailure();\n this.configureCompletion();\n yargs.strict(); // don't allow non-exist flags and non-exist commands\n\n yargs\n // .recommendCommands() // don't use it, it brings the global help of yargs, we have a custom one\n .wrap(null);\n\n await yargs.parse();\n }\n\n private setHelpMiddleware() {\n yargs.middleware((argv) => {\n if (argv._.length === 0 && argv.help) {\n const shouldShowInternalCommands = Boolean(argv.internal);\n // this is the main help page\n this.printHelp(shouldShowInternalCommands);\n process.exit(0);\n }\n if (argv.help) {\n loader.off(); // stop the \"loading bit...\" before showing help if needed\n // this is a command help page\n yargs.showHelp(this.logCommandHelp.bind(this));\n if (!logger.isDaemon) process.exit(0);\n }\n }, true);\n }\n\n private handleCommandFailure() {\n yargs.fail((msg, err) => {\n loader.stop();\n if (err) {\n throw err;\n }\n yargs.showHelp(this.logCommandHelp.bind(this));\n const args = process.argv.slice(2);\n const isHelpFlagEntered = args.includes('--help') || args.includes('-h');\n const isMsgAboutMissingArgs = msg.startsWith('Not enough non-option arguments');\n // avoid showing the \"Not enough non-option arguments\" message when the user is trying to get the command help\n if (!isMsgAboutMissingArgs || !isHelpFlagEntered) {\n // eslint-disable-next-line no-console\n console.log(`\\n${chalk.yellow(msg)}`);\n }\n if (!logger.isDaemon) process.exit(1);\n });\n }\n\n private configureCompletion() {\n const commandsToShowComponentIdsForCompletion = [\n 'show',\n 'diff',\n 'tag',\n 'export',\n 'env',\n 'envs',\n 'compile',\n 'build',\n 'test',\n 'lint',\n 'log',\n 'dependents',\n 'dependencies',\n ];\n // @ts-ignore\n yargs.completion('completion', async function (current, argv, completionFilter, done) {\n if (!current.startsWith('-') && commandsToShowComponentIdsForCompletion.includes(argv._[1])) {\n const consumer = await loadConsumerIfExist();\n done(consumer?.bitmapIdsFromCurrentLane.map((id) => id.toStringWithoutVersion()));\n } else {\n completionFilter();\n }\n });\n }\n\n private printHelp(shouldShowInternalCommands = false) {\n const help = formatHelp(this.commands, this.groups, shouldShowInternalCommands);\n // eslint-disable-next-line no-console\n console.log(help);\n }\n\n private configureParser() {\n yargs.parserConfiguration({\n // 'strip-dashed': true, // we can't enable it, otherwise, the completion doesn't work\n 'strip-aliased': true,\n 'boolean-negation': false,\n 'populate--': true,\n });\n }\n\n private parseCommandWithSubCommands(command: Command) {\n const yarnCommand = this.getYargsCommand(command);\n const builderFunc = () => {\n command.commands?.forEach((cmd) => {\n const subCommand = this.getYargsCommand(cmd);\n yargs.command(subCommand);\n });\n // since the \"builder\" method is overridden, the global flags of the main command are gone, this fixes it.\n yargs.options(YargsAdapter.getGlobalOptions(command));\n return yargs;\n };\n yarnCommand.builder = builderFunc;\n yargs.command(yarnCommand);\n }\n\n private getYargsCommand(command: Command): YargsAdapter {\n const yarnCommand = new YargsAdapter(command);\n yarnCommand.builder = yarnCommand.builder.bind(yarnCommand);\n yarnCommand.handler = yarnCommand.handler.bind(yarnCommand);\n\n return yarnCommand;\n }\n\n private configureGlobalFlags() {\n yargs\n .option('help', {\n alias: 'h',\n describe: 'show help',\n group: GLOBAL_GROUP,\n })\n .option('version', {\n global: false,\n alias: 'v',\n describe: 'show version',\n group: GLOBAL_GROUP,\n });\n }\n\n private throwForNonExistsCommand(commandName: string) {\n if (!commandName || commandName.startsWith('-')) {\n return;\n }\n const commandsNames = this.commands.map((c) => getCommandId(c.name));\n const aliases = this.commands.map((c) => c.alias).filter((a) => a);\n const existingGlobalFlags = ['-V', '--version'];\n const validCommands = [...commandsNames, ...aliases, ...existingGlobalFlags];\n const commandExist = validCommands.includes(commandName);\n\n if (!commandExist) {\n didYouMean.returnFirstMatch = true;\n const suggestions = didYouMean(\n commandName,\n this.commands.filter((c) => !c.private).map((c) => getCommandId(c.name))\n );\n const suggestion = suggestions && Array.isArray(suggestions) ? suggestions[0] : suggestions;\n\n throw new CommandNotFound(commandName, suggestion as string);\n }\n }\n\n /**\n * manipulate the command help output. there is no API from Yarn to do any of this, so it needs to be done manually.\n * see https://github.com/yargs/yargs/issues/1956\n *\n * the original order of the output:\n * description\n * Options\n * Commands\n * Global\n * Positionals\n * Examples\n */\n private logCommandHelp(help: string) {\n const command = this.findCommandByArgv();\n\n const replacer = (_, p1, p2) => `${p1}${chalk.green(p2)}`;\n const lines = help.split('\\n');\n const linesWithoutEmpty = compact(lines);\n const cmdLine = linesWithoutEmpty[0];\n const description: string[] = [];\n const options: string[] = [];\n const globalOptions: string[] = [];\n const subCommands: string[] = [];\n const args: string[] = [];\n const examples: string[] = [];\n\n let optionsStarted = false;\n let globalStarted = false;\n let subCommandsStarted = false;\n let positionalsStarted = false;\n let examplesStarted = false;\n for (let i = 1; i < linesWithoutEmpty.length; i += 1) {\n const currentLine = linesWithoutEmpty[i];\n if (currentLine === STANDARD_GROUP) {\n optionsStarted = true;\n } else if (currentLine === GLOBAL_GROUP) {\n globalStarted = true;\n } else if (currentLine === 'Commands:') {\n subCommandsStarted = true;\n } else if (currentLine === 'Positionals:') {\n positionalsStarted = true;\n } else if (currentLine === 'Examples:') {\n examplesStarted = true;\n } else if (examplesStarted) {\n examples.push(currentLine);\n } else if (positionalsStarted) {\n args.push(currentLine);\n } else if (globalStarted) {\n globalOptions.push(currentLine);\n } else if (optionsStarted) {\n options.push(currentLine);\n } else if (subCommandsStarted) {\n subCommands.push(currentLine);\n } else {\n description.push(currentLine);\n }\n }\n\n // show the flags in green\n const optionsColored = options.map((opt) => opt.replace(/(--)([\\w-]+)/, replacer).replace(/(-)([\\w-]+)/, replacer));\n const argsColored = args.map((arg) => arg.replace(/^ {2}\\S+/, (argName) => chalk.green(argName))); // regex: two spaces then the first word until a white space\n const optionsStr = options.length ? `\\n${STANDARD_GROUP}\\n${optionsColored.join('\\n')}\\n` : '';\n const argumentsStr = args.length ? `\\nArguments:\\n${argsColored.join('\\n')}\\n` : '';\n const examplesStr = examples.length ? `\\nExamples:\\n${examples.join('\\n')}\\n` : '';\n const subCommandsStr = subCommands.length ? `\\n${'Commands:'}\\n${subCommands.join('\\n')}\\n` : '';\n // show the description in bold\n const descriptionColored = description.map((desc) => chalk.bold(desc));\n if (command?.extendedDescription) {\n descriptionColored.push(command?.extendedDescription);\n }\n if (command?.helpUrl) {\n descriptionColored.push(`for more info, visit: ${chalk.underline(command.helpUrl)}`);\n }\n const descriptionStr = descriptionColored.join('\\n');\n const globalOptionsStr = globalOptions.join('\\n');\n\n const finalOutput = `${cmdLine}\n\n${descriptionStr}\n${argumentsStr}${subCommandsStr}${optionsStr}${examplesStr}\n${GLOBAL_GROUP}\n${globalOptionsStr}`;\n\n // eslint-disable-next-line no-console\n console.log(finalOutput);\n }\n\n private findCommandByArgv(): Command | undefined {\n const args = process.argv.slice(2);\n const enteredCommand = args[0];\n const enteredSubCommand = args[1];\n if (!enteredCommand) {\n return undefined;\n }\n const isCommandMatch = (cmd: Command, str: string) => {\n return (\n cmd.name.startsWith(`${str} `) || // e.g. \"tag <id>\".startsWith(\"tag \")\n cmd.name === str || // e.g. \"globals\" === \"globals\"\n cmd.alias === str\n ); // e.g. \"t\" === \"t\"\n };\n const command = this.commands.find((cmd) => isCommandMatch(cmd, enteredCommand));\n if (!command) {\n return undefined;\n }\n if (!command.commands || !enteredSubCommand) {\n return command; // no sub-commands.\n }\n const subCommand = command.commands.find((cmd) => isCommandMatch(cmd, enteredSubCommand));\n return subCommand || command;\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,OAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,UAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,SAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,QAAA;EAAA,MAAAN,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAI,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,QAAA;EAAA,MAAAP,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAK,OAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,OAAA;EAAA,MAAAR,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAM,MAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,cAAA;EAAA,MAAAT,IAAA,GAAAE,OAAA;EAAAO,aAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,MAAA;EAAA,MAAAV,IAAA,GAAAE,OAAA;EAAAQ,KAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,cAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,aAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,iBAAA;EAAA,MAAAZ,IAAA,GAAAE,OAAA;EAAAU,gBAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAiE,SAAAC,uBAAAY,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,GAAA,QAAAR,GAAA,GAAAS,YAAA,CAAAD,GAAA,2BAAAR,GAAA,gBAAAA,GAAA,GAAAU,MAAA,CAAAV,GAAA;AAAA,SAAAS,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAE1D,MAAMU,SAAS,CAAC;EAErBC,WAAWA,CAASC,QAAmB,EAAUC,MAAkB,EAAE;IAAA,KAAjDD,QAAmB,GAAnBA,QAAmB;IAAA,KAAUC,MAAkB,GAAlBA,MAAkB;IAAAzB,eAAA,iBADnD0B,gBAAK;EACiD;EAEtE,MAAMC,KAAKA,CAACC,IAAI,GAAGC,OAAO,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,EAAE;IACxC,IAAI,CAACC,wBAAwB,CAACJ,IAAI,CAAC,CAAC,CAAC,CAAC;IACtCK,iBAAM,CAACC,KAAK,CAAE,kBAAiBN,IAAI,CAACO,IAAI,CAAC,GAAG,CAAE,EAAC,CAAC;IAChD,IAAAT,gBAAK,EAACE,IAAI,CAAC;IACXF,gBAAK,CAACU,IAAI,CAAC,KAAK,CAAC;IACjB,IAAI,CAACC,eAAe,CAAC,CAAC;IACtB,IAAI,CAACb,QAAQ,CAACc,OAAO,CAAEC,OAAgB,IAAK;MAC1C,IAAIA,OAAO,CAACf,QAAQ,IAAIe,OAAO,CAACf,QAAQ,CAACgB,MAAM,EAAE;QAC/C,IAAI,CAACC,2BAA2B,CAACF,OAAO,CAAC;MAC3C,CAAC,MAAM;QACL,MAAMG,YAAY,GAAG,IAAI,CAACC,eAAe,CAACJ,OAAO,CAAC;QAClDb,gBAAK,CAACa,OAAO,CAACG,YAAY,CAAC;MAC7B;IACF,CAAC,CAAC;IACF,IAAI,CAACE,oBAAoB,CAAC,CAAC;IAC3B,IAAI,CAACC,iBAAiB,CAAC,CAAC;IACxB,IAAI,CAACC,oBAAoB,CAAC,CAAC;IAC3B,IAAI,CAACC,mBAAmB,CAAC,CAAC;IAC1BrB,gBAAK,CAACsB,MAAM,CAAC,CAAC,CAAC,CAAC;;IAEhBtB;IACE;IAAA,CACCuB,IAAI,CAAC,IAAI,CAAC;IAEb,MAAMvB,gBAAK,CAACC,KAAK,CAAC,CAAC;EACrB;EAEQkB,iBAAiBA,CAAA,EAAG;IAC1BnB,gBAAK,CAACwB,UAAU,CAAEpB,IAAI,IAAK;MACzB,IAAIA,IAAI,CAACqB,CAAC,CAACX,MAAM,KAAK,CAAC,IAAIV,IAAI,CAACM,IAAI,EAAE;QACpC,MAAMgB,0BAA0B,GAAGC,OAAO,CAACvB,IAAI,CAACwB,QAAQ,CAAC;QACzD;QACA,IAAI,CAACC,SAAS,CAACH,0BAA0B,CAAC;QAC1CvB,OAAO,CAAC2B,IAAI,CAAC,CAAC,CAAC;MACjB;MACA,IAAI1B,IAAI,CAACM,IAAI,EAAE;QACbqB,iBAAM,CAACC,GAAG,CAAC,CAAC,CAAC,CAAC;QACd;QACAhC,gBAAK,CAACiC,QAAQ,CAAC,IAAI,CAACC,cAAc,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC5B,iBAAM,CAAC6B,QAAQ,EAAEjC,OAAO,CAAC2B,IAAI,CAAC,CAAC,CAAC;MACvC;IACF,CAAC,EAAE,IAAI,CAAC;EACV;EAEQV,oBAAoBA,CAAA,EAAG;IAC7BpB,gBAAK,CAACqC,IAAI,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;MACvBR,iBAAM,CAACS,IAAI,CAAC,CAAC;MACb,IAAID,GAAG,EAAE;QACP,MAAMA,GAAG;MACX;MACAvC,gBAAK,CAACiC,QAAQ,CAAC,IAAI,CAACC,cAAc,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC;MAC9C,MAAMjC,IAAI,GAAGC,OAAO,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC;MAClC,MAAMoC,iBAAiB,GAAGvC,IAAI,CAACwC,QAAQ,CAAC,QAAQ,CAAC,IAAIxC,IAAI,CAACwC,QAAQ,CAAC,IAAI,CAAC;MACxE,MAAMC,qBAAqB,GAAGL,GAAG,CAACM,UAAU,CAAC,iCAAiC,CAAC;MAC/E;MACA,IAAI,CAACD,qBAAqB,IAAI,CAACF,iBAAiB,EAAE;QAChD;QACAI,OAAO,CAACC,GAAG,CAAE,KAAIC,gBAAK,CAACC,MAAM,CAACV,GAAG,CAAE,EAAC,CAAC;MACvC;MACA,IAAI,CAAC/B,iBAAM,CAAC6B,QAAQ,EAAEjC,OAAO,CAAC2B,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC;EACJ;EAEQT,mBAAmBA,CAAA,EAAG;IAC5B,MAAM4B,uCAAuC,GAAG,CAC9C,MAAM,EACN,MAAM,EACN,KAAK,EACL,QAAQ,EACR,KAAK,EACL,MAAM,EACN,SAAS,EACT,OAAO,EACP,MAAM,EACN,MAAM,EACN,KAAK,EACL,YAAY,EACZ,cAAc,CACf;IACD;IACAjD,gBAAK,CAACkD,UAAU,CAAC,YAAY,EAAE,gBAAgBC,OAAO,EAAE/C,IAAI,EAAEgD,gBAAgB,EAAEC,IAAI,EAAE;MACpF,IAAI,CAACF,OAAO,CAACP,UAAU,CAAC,GAAG,CAAC,IAAIK,uCAAuC,CAACP,QAAQ,CAACtC,IAAI,CAACqB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QAC3F,MAAM6B,QAAQ,GAAG,MAAM,IAAAC,+BAAmB,EAAC,CAAC;QAC5CF,IAAI,CAACC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEE,wBAAwB,CAACC,GAAG,CAAEC,EAAE,IAAKA,EAAE,CAACC,sBAAsB,CAAC,CAAC,CAAC,CAAC;MACnF,CAAC,MAAM;QACLP,gBAAgB,CAAC,CAAC;MACpB;IACF,CAAC,CAAC;EACJ;EAEQvB,SAASA,CAACH,0BAA0B,GAAG,KAAK,EAAE;IACpD,MAAMhB,IAAI,GAAG,IAAAkD,kBAAU,EAAC,IAAI,CAAC9D,QAAQ,EAAE,IAAI,CAACC,MAAM,EAAE2B,0BAA0B,CAAC;IAC/E;IACAmB,OAAO,CAACC,GAAG,CAACpC,IAAI,CAAC;EACnB;EAEQC,eAAeA,CAAA,EAAG;IACxBX,gBAAK,CAAC6D,mBAAmB,CAAC;MACxB;MACA,eAAe,EAAE,IAAI;MACrB,kBAAkB,EAAE,KAAK;MACzB,YAAY,EAAE;IAChB,CAAC,CAAC;EACJ;EAEQ9C,2BAA2BA,CAACF,OAAgB,EAAE;IACpD,MAAMiD,WAAW,GAAG,IAAI,CAAC7C,eAAe,CAACJ,OAAO,CAAC;IACjD,MAAMkD,WAAW,GAAGA,CAAA,KAAM;MAAA,IAAAC,iBAAA;MACxB,CAAAA,iBAAA,GAAAnD,OAAO,CAACf,QAAQ,cAAAkE,iBAAA,eAAhBA,iBAAA,CAAkBpD,OAAO,CAAEqD,GAAG,IAAK;QACjC,MAAMC,UAAU,GAAG,IAAI,CAACjD,eAAe,CAACgD,GAAG,CAAC;QAC5CjE,gBAAK,CAACa,OAAO,CAACqD,UAAU,CAAC;MAC3B,CAAC,CAAC;MACF;MACAlE,gBAAK,CAACmE,OAAO,CAACC,4BAAY,CAACC,gBAAgB,CAACxD,OAAO,CAAC,CAAC;MACrD,OAAOb,gBAAK;IACd,CAAC;IACD8D,WAAW,CAACQ,OAAO,GAAGP,WAAW;IACjC/D,gBAAK,CAACa,OAAO,CAACiD,WAAW,CAAC;EAC5B;EAEQ7C,eAAeA,CAACJ,OAAgB,EAAgB;IACtD,MAAMiD,WAAW,GAAG,KAAIM,4BAAY,EAACvD,OAAO,CAAC;IAC7CiD,WAAW,CAACQ,OAAO,GAAGR,WAAW,CAACQ,OAAO,CAACnC,IAAI,CAAC2B,WAAW,CAAC;IAC3DA,WAAW,CAACS,OAAO,GAAGT,WAAW,CAACS,OAAO,CAACpC,IAAI,CAAC2B,WAAW,CAAC;IAE3D,OAAOA,WAAW;EACpB;EAEQ5C,oBAAoBA,CAAA,EAAG;IAC7BlB,gBAAK,CACFwE,MAAM,CAAC,MAAM,EAAE;MACdC,KAAK,EAAE,GAAG;MACVC,QAAQ,EAAE,WAAW;MACrBC,KAAK,EAAEC;IACT,CAAC,CAAC,CACDJ,MAAM,CAAC,SAAS,EAAE;MACjBK,MAAM,EAAE,KAAK;MACbJ,KAAK,EAAE,GAAG;MACVC,QAAQ,EAAE,cAAc;MACxBC,KAAK,EAAEC;IACT,CAAC,CAAC;EACN;EAEQtE,wBAAwBA,CAACwE,WAAmB,EAAE;IACpD,IAAI,CAACA,WAAW,IAAIA,WAAW,CAAClC,UAAU,CAAC,GAAG,CAAC,EAAE;MAC/C;IACF;IACA,MAAMmC,aAAa,GAAG,IAAI,CAACjF,QAAQ,CAAC2D,GAAG,CAAEuB,CAAC,IAAK,IAAAC,4BAAY,EAACD,CAAC,CAACE,IAAI,CAAC,CAAC;IACpE,MAAMC,OAAO,GAAG,IAAI,CAACrF,QAAQ,CAAC2D,GAAG,CAAEuB,CAAC,IAAKA,CAAC,CAACP,KAAK,CAAC,CAACW,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAAC;IAClE,MAAMC,mBAAmB,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC;IAC/C,MAAMC,aAAa,GAAG,CAAC,GAAGR,aAAa,EAAE,GAAGI,OAAO,EAAE,GAAGG,mBAAmB,CAAC;IAC5E,MAAME,YAAY,GAAGD,aAAa,CAAC7C,QAAQ,CAACoC,WAAW,CAAC;IAExD,IAAI,CAACU,YAAY,EAAE;MACjBC,qBAAU,CAACC,gBAAgB,GAAG,IAAI;MAClC,MAAMC,WAAW,GAAG,IAAAF,qBAAU,EAC5BX,WAAW,EACX,IAAI,CAAChF,QAAQ,CAACsF,MAAM,CAAEJ,CAAC,IAAK,CAACA,CAAC,CAACY,OAAO,CAAC,CAACnC,GAAG,CAAEuB,CAAC,IAAK,IAAAC,4BAAY,EAACD,CAAC,CAACE,IAAI,CAAC,CACzE,CAAC;MACD,MAAMW,UAAU,GAAGF,WAAW,IAAIG,KAAK,CAACC,OAAO,CAACJ,WAAW,CAAC,GAAGA,WAAW,CAAC,CAAC,CAAC,GAAGA,WAAW;MAE3F,MAAM,KAAIK,kCAAe,EAAClB,WAAW,EAAEe,UAAoB,CAAC;IAC9D;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACU3D,cAAcA,CAACxB,IAAY,EAAE;IACnC,MAAMG,OAAO,GAAG,IAAI,CAACoF,iBAAiB,CAAC,CAAC;IAExC,MAAMC,QAAQ,GAAGA,CAACzE,CAAC,EAAE0E,EAAE,EAAEC,EAAE,KAAM,GAAED,EAAG,GAAEpD,gBAAK,CAACsD,KAAK,CAACD,EAAE,CAAE,EAAC;IACzD,MAAME,KAAK,GAAG5F,IAAI,CAAC6F,KAAK,CAAC,IAAI,CAAC;IAC9B,MAAMC,iBAAiB,GAAG,IAAAC,iBAAO,EAACH,KAAK,CAAC;IACxC,MAAMI,OAAO,GAAGF,iBAAiB,CAAC,CAAC,CAAC;IACpC,MAAMG,WAAqB,GAAG,EAAE;IAChC,MAAMxC,OAAiB,GAAG,EAAE;IAC5B,MAAMyC,aAAuB,GAAG,EAAE;IAClC,MAAMC,WAAqB,GAAG,EAAE;IAChC,MAAM3G,IAAc,GAAG,EAAE;IACzB,MAAM4G,QAAkB,GAAG,EAAE;IAE7B,IAAIC,cAAc,GAAG,KAAK;IAC1B,IAAIC,aAAa,GAAG,KAAK;IACzB,IAAIC,kBAAkB,GAAG,KAAK;IAC9B,IAAIC,kBAAkB,GAAG,KAAK;IAC9B,IAAIC,eAAe,GAAG,KAAK;IAC3B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGZ,iBAAiB,CAAC1F,MAAM,EAAEsG,CAAC,IAAI,CAAC,EAAE;MACpD,MAAMC,WAAW,GAAGb,iBAAiB,CAACY,CAAC,CAAC;MACxC,IAAIC,WAAW,KAAKC,8BAAc,EAAE;QAClCP,cAAc,GAAG,IAAI;MACvB,CAAC,MAAM,IAAIM,WAAW,KAAKzC,4BAAY,EAAE;QACvCoC,aAAa,GAAG,IAAI;MACtB,CAAC,MAAM,IAAIK,WAAW,KAAK,WAAW,EAAE;QACtCJ,kBAAkB,GAAG,IAAI;MAC3B,CAAC,MAAM,IAAII,WAAW,KAAK,cAAc,EAAE;QACzCH,kBAAkB,GAAG,IAAI;MAC3B,CAAC,MAAM,IAAIG,WAAW,KAAK,WAAW,EAAE;QACtCF,eAAe,GAAG,IAAI;MACxB,CAAC,MAAM,IAAIA,eAAe,EAAE;QAC1BL,QAAQ,CAACS,IAAI,CAACF,WAAW,CAAC;MAC5B,CAAC,MAAM,IAAIH,kBAAkB,EAAE;QAC7BhH,IAAI,CAACqH,IAAI,CAACF,WAAW,CAAC;MACxB,CAAC,MAAM,IAAIL,aAAa,EAAE;QACxBJ,aAAa,CAACW,IAAI,CAACF,WAAW,CAAC;MACjC,CAAC,MAAM,IAAIN,cAAc,EAAE;QACzB5C,OAAO,CAACoD,IAAI,CAACF,WAAW,CAAC;MAC3B,CAAC,MAAM,IAAIJ,kBAAkB,EAAE;QAC7BJ,WAAW,CAACU,IAAI,CAACF,WAAW,CAAC;MAC/B,CAAC,MAAM;QACLV,WAAW,CAACY,IAAI,CAACF,WAAW,CAAC;MAC/B;IACF;;IAEA;IACA,MAAMG,cAAc,GAAGrD,OAAO,CAACV,GAAG,CAAEgE,GAAG,IAAKA,GAAG,CAACC,OAAO,CAAC,cAAc,EAAExB,QAAQ,CAAC,CAACwB,OAAO,CAAC,aAAa,EAAExB,QAAQ,CAAC,CAAC;IACnH,MAAMyB,WAAW,GAAGzH,IAAI,CAACuD,GAAG,CAAE1E,GAAG,IAAKA,GAAG,CAAC2I,OAAO,CAAC,UAAU,EAAGE,OAAO,IAAK7E,gBAAK,CAACsD,KAAK,CAACuB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACnG,MAAMC,UAAU,GAAG1D,OAAO,CAACrD,MAAM,GAAI,KAAIwG,8BAAe,KAAIE,cAAc,CAAC/G,IAAI,CAAC,IAAI,CAAE,IAAG,GAAG,EAAE;IAC9F,MAAMqH,YAAY,GAAG5H,IAAI,CAACY,MAAM,GAAI,iBAAgB6G,WAAW,CAAClH,IAAI,CAAC,IAAI,CAAE,IAAG,GAAG,EAAE;IACnF,MAAMsH,WAAW,GAAGjB,QAAQ,CAAChG,MAAM,GAAI,gBAAegG,QAAQ,CAACrG,IAAI,CAAC,IAAI,CAAE,IAAG,GAAG,EAAE;IAClF,MAAMuH,cAAc,GAAGnB,WAAW,CAAC/F,MAAM,GAAI,KAAI,WAAY,KAAI+F,WAAW,CAACpG,IAAI,CAAC,IAAI,CAAE,IAAG,GAAG,EAAE;IAChG;IACA,MAAMwH,kBAAkB,GAAGtB,WAAW,CAAClD,GAAG,CAAEyE,IAAI,IAAKnF,gBAAK,CAACoF,IAAI,CAACD,IAAI,CAAC,CAAC;IACtE,IAAIrH,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEuH,mBAAmB,EAAE;MAChCH,kBAAkB,CAACV,IAAI,CAAC1G,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEuH,mBAAmB,CAAC;IACvD;IACA,IAAIvH,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEwH,OAAO,EAAE;MACpBJ,kBAAkB,CAACV,IAAI,CAAE,yBAAwBxE,gBAAK,CAACuF,SAAS,CAACzH,OAAO,CAACwH,OAAO,CAAE,EAAC,CAAC;IACtF;IACA,MAAME,cAAc,GAAGN,kBAAkB,CAACxH,IAAI,CAAC,IAAI,CAAC;IACpD,MAAM+H,gBAAgB,GAAG5B,aAAa,CAACnG,IAAI,CAAC,IAAI,CAAC;IAEjD,MAAMgI,WAAW,GAAI,GAAE/B,OAAQ;AACnC;AACA,EAAE6B,cAAe;AACjB,EAAET,YAAa,GAAEE,cAAe,GAAEH,UAAW,GAAEE,WAAY;AAC3D,EAAEnD,4BAAa;AACf,EAAE4D,gBAAiB,EAAC;;IAEhB;IACA3F,OAAO,CAACC,GAAG,CAAC2F,WAAW,CAAC;EAC1B;EAEQxC,iBAAiBA,CAAA,EAAwB;IAC/C,MAAM/F,IAAI,GAAGC,OAAO,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC;IAClC,MAAMqI,cAAc,GAAGxI,IAAI,CAAC,CAAC,CAAC;IAC9B,MAAMyI,iBAAiB,GAAGzI,IAAI,CAAC,CAAC,CAAC;IACjC,IAAI,CAACwI,cAAc,EAAE;MACnB,OAAOnJ,SAAS;IAClB;IACA,MAAMqJ,cAAc,GAAGA,CAAC3E,GAAY,EAAE4E,GAAW,KAAK;MACpD,OACE5E,GAAG,CAACiB,IAAI,CAACtC,UAAU,CAAE,GAAEiG,GAAI,GAAE,CAAC;MAAI;MAClC5E,GAAG,CAACiB,IAAI,KAAK2D,GAAG;MAAI;MACpB5E,GAAG,CAACQ,KAAK,KAAKoE,GAAG,CACjB,CAAC;IACL,CAAC;;IACD,MAAMhI,OAAO,GAAG,IAAI,CAACf,QAAQ,CAACgJ,IAAI,CAAE7E,GAAG,IAAK2E,cAAc,CAAC3E,GAAG,EAAEyE,cAAc,CAAC,CAAC;IAChF,IAAI,CAAC7H,OAAO,EAAE;MACZ,OAAOtB,SAAS;IAClB;IACA,IAAI,CAACsB,OAAO,CAACf,QAAQ,IAAI,CAAC6I,iBAAiB,EAAE;MAC3C,OAAO9H,OAAO,CAAC,CAAC;IAClB;;IACA,MAAMqD,UAAU,GAAGrD,OAAO,CAACf,QAAQ,CAACgJ,IAAI,CAAE7E,GAAG,IAAK2E,cAAc,CAAC3E,GAAG,EAAE0E,iBAAiB,CAAC,CAAC;IACzF,OAAOzE,UAAU,IAAIrD,OAAO;EAC9B;AACF;AAACkI,OAAA,CAAAnJ,SAAA,GAAAA,SAAA"}
|
|
1
|
+
{"version":3,"names":["_didyoumean","data","_interopRequireDefault","require","_yargs","_lodash","_consumer","_logger","_loader","_chalk","_getCommandId","_help","_yargsAdapter","_commandNotFound","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","CLIParser","constructor","commands","groups","yargs","parse","args","process","argv","slice","throwForNonExistsCommand","logger","debug","join","help","configureParser","forEach","command","length","parseCommandWithSubCommands","yargsCommand","getYargsCommand","configureGlobalFlags","setHelpMiddleware","handleCommandFailure","configureCompletion","strict","wrap","middleware","_","shouldShowInternalCommands","Boolean","internal","printHelp","exit","loader","off","showHelp","logCommandHelp","bind","isDaemon","fail","msg","err","stop","isHelpFlagEntered","includes","isMsgAboutMissingArgs","startsWith","console","log","chalk","yellow","commandsToShowComponentIdsForCompletion","completion","current","completionFilter","done","consumer","loadConsumerIfExist","bitmapIdsFromCurrentLane","map","id","toStringWithoutVersion","formatHelp","parserConfiguration","yarnCommand","builderFunc","_command$commands","cmd","subCommand","options","YargsAdapter","getGlobalOptions","builder","handler","option","alias","describe","group","GLOBAL_GROUP","global","commandName","commandsNames","c","getCommandId","name","aliases","filter","a","existingGlobalFlags","validCommands","commandExist","didYouMean","returnFirstMatch","suggestions","private","suggestion","Array","isArray","CommandNotFound","findCommandByArgv","replacer","p1","p2","green","lines","split","linesWithoutEmpty","compact","cmdLine","description","globalOptions","subCommands","examples","optionsStarted","globalStarted","subCommandsStarted","positionalsStarted","examplesStarted","i","currentLine","STANDARD_GROUP","push","optionsColored","opt","replace","argsColored","argName","optionsStr","argumentsStr","examplesStr","subCommandsStr","descriptionColored","desc","bold","extendedDescription","helpUrl","underline","descriptionStr","globalOptionsStr","finalOutput","enteredCommand","enteredSubCommand","isCommandMatch","str","find","exports"],"sources":["cli-parser.ts"],"sourcesContent":["import didYouMean from 'didyoumean';\nimport yargs from 'yargs';\nimport { Command } from '@teambit/legacy/dist/cli/command';\nimport { GroupsType } from '@teambit/legacy/dist/cli/command-groups';\nimport { compact } from 'lodash';\nimport { loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport chalk from 'chalk';\nimport { getCommandId } from './get-command-id';\nimport { formatHelp } from './help';\nimport { GLOBAL_GROUP, STANDARD_GROUP, YargsAdapter } from './yargs-adapter';\nimport { CommandNotFound } from './exceptions/command-not-found';\n\nexport class CLIParser {\n public parser = yargs;\n constructor(private commands: Command[], private groups: GroupsType) {}\n\n async parse(args = process.argv.slice(2)) {\n this.throwForNonExistsCommand(args[0]);\n logger.debug(`[+] CLI-INPUT: ${args.join(' ')}`);\n yargs(args);\n yargs.help(false);\n this.configureParser();\n this.commands.forEach((command: Command) => {\n if (command.commands && command.commands.length) {\n this.parseCommandWithSubCommands(command);\n } else {\n const yargsCommand = this.getYargsCommand(command);\n yargs.command(yargsCommand);\n }\n });\n this.configureGlobalFlags();\n this.setHelpMiddleware();\n this.handleCommandFailure();\n this.configureCompletion();\n yargs.strict(); // don't allow non-exist flags and non-exist commands\n\n yargs\n // .recommendCommands() // don't use it, it brings the global help of yargs, we have a custom one\n .wrap(null);\n\n await yargs.parse();\n }\n\n private setHelpMiddleware() {\n yargs.middleware((argv) => {\n if (argv._.length === 0 && argv.help) {\n const shouldShowInternalCommands = Boolean(argv.internal);\n // this is the main help page\n this.printHelp(shouldShowInternalCommands);\n process.exit(0);\n }\n if (argv.help) {\n loader.off(); // stop the \"loading bit...\" before showing help if needed\n // this is a command help page\n yargs.showHelp(this.logCommandHelp.bind(this));\n if (!logger.isDaemon) process.exit(0);\n }\n }, true);\n }\n\n private handleCommandFailure() {\n yargs.fail((msg, err) => {\n loader.stop();\n if (err) {\n throw err;\n }\n yargs.showHelp(this.logCommandHelp.bind(this));\n const args = process.argv.slice(2);\n const isHelpFlagEntered = args.includes('--help') || args.includes('-h');\n const isMsgAboutMissingArgs = msg.startsWith('Not enough non-option arguments');\n // avoid showing the \"Not enough non-option arguments\" message when the user is trying to get the command help\n if (!isMsgAboutMissingArgs || !isHelpFlagEntered) {\n // eslint-disable-next-line no-console\n console.log(`\\n${chalk.yellow(msg)}`);\n }\n if (!logger.isDaemon) process.exit(1);\n });\n }\n\n private configureCompletion() {\n const commandsToShowComponentIdsForCompletion = [\n 'show',\n 'diff',\n 'tag',\n 'export',\n 'env',\n 'envs',\n 'compile',\n 'build',\n 'test',\n 'lint',\n 'log',\n 'dependents',\n 'dependencies',\n ];\n // @ts-ignore\n yargs.completion('completion', async function (current, argv, completionFilter, done) {\n if (!current.startsWith('-') && commandsToShowComponentIdsForCompletion.includes(argv._[1])) {\n const consumer = await loadConsumerIfExist();\n done(consumer?.bitmapIdsFromCurrentLane.map((id) => id.toStringWithoutVersion()));\n } else {\n completionFilter();\n }\n });\n }\n\n private printHelp(shouldShowInternalCommands = false) {\n const help = formatHelp(this.commands, this.groups, shouldShowInternalCommands);\n // eslint-disable-next-line no-console\n console.log(help);\n }\n\n private configureParser() {\n yargs.parserConfiguration({\n // 'strip-dashed': true, // we can't enable it, otherwise, the completion doesn't work\n 'strip-aliased': true,\n 'boolean-negation': false,\n 'populate--': true,\n });\n }\n\n private parseCommandWithSubCommands(command: Command) {\n const yarnCommand = this.getYargsCommand(command);\n const builderFunc = () => {\n command.commands?.forEach((cmd) => {\n const subCommand = this.getYargsCommand(cmd);\n yargs.command(subCommand);\n });\n // since the \"builder\" method is overridden, the global flags of the main command are gone, this fixes it.\n yargs.options(YargsAdapter.getGlobalOptions(command));\n return yargs;\n };\n yarnCommand.builder = builderFunc;\n yargs.command(yarnCommand);\n }\n\n private getYargsCommand(command: Command): YargsAdapter {\n const yarnCommand = new YargsAdapter(command);\n yarnCommand.builder = yarnCommand.builder.bind(yarnCommand);\n yarnCommand.handler = yarnCommand.handler.bind(yarnCommand);\n\n return yarnCommand;\n }\n\n private configureGlobalFlags() {\n yargs\n .option('help', {\n alias: 'h',\n describe: 'show help',\n group: GLOBAL_GROUP,\n })\n .option('version', {\n global: false,\n alias: 'v',\n describe: 'show version',\n group: GLOBAL_GROUP,\n });\n }\n\n private throwForNonExistsCommand(commandName: string) {\n if (!commandName || commandName.startsWith('-')) {\n return;\n }\n const commandsNames = this.commands.map((c) => getCommandId(c.name));\n const aliases = this.commands.map((c) => c.alias).filter((a) => a);\n const existingGlobalFlags = ['-V', '--version'];\n const validCommands = [...commandsNames, ...aliases, ...existingGlobalFlags];\n const commandExist = validCommands.includes(commandName);\n\n if (!commandExist) {\n didYouMean.returnFirstMatch = true;\n const suggestions = didYouMean(\n commandName,\n this.commands.filter((c) => !c.private).map((c) => getCommandId(c.name))\n );\n const suggestion = suggestions && Array.isArray(suggestions) ? suggestions[0] : suggestions;\n\n throw new CommandNotFound(commandName, suggestion as string);\n }\n }\n\n /**\n * manipulate the command help output. there is no API from Yarn to do any of this, so it needs to be done manually.\n * see https://github.com/yargs/yargs/issues/1956\n *\n * the original order of the output:\n * description\n * Options\n * Commands\n * Global\n * Positionals\n * Examples\n */\n private logCommandHelp(help: string) {\n const command = this.findCommandByArgv();\n\n const replacer = (_, p1, p2) => `${p1}${chalk.green(p2)}`;\n const lines = help.split('\\n');\n const linesWithoutEmpty = compact(lines);\n const cmdLine = linesWithoutEmpty[0];\n const description: string[] = [];\n const options: string[] = [];\n const globalOptions: string[] = [];\n const subCommands: string[] = [];\n const args: string[] = [];\n const examples: string[] = [];\n\n let optionsStarted = false;\n let globalStarted = false;\n let subCommandsStarted = false;\n let positionalsStarted = false;\n let examplesStarted = false;\n for (let i = 1; i < linesWithoutEmpty.length; i += 1) {\n const currentLine = linesWithoutEmpty[i];\n if (currentLine === STANDARD_GROUP) {\n optionsStarted = true;\n } else if (currentLine === GLOBAL_GROUP) {\n globalStarted = true;\n } else if (currentLine === 'Commands:') {\n subCommandsStarted = true;\n } else if (currentLine === 'Positionals:') {\n positionalsStarted = true;\n } else if (currentLine === 'Examples:') {\n examplesStarted = true;\n } else if (examplesStarted) {\n examples.push(currentLine);\n } else if (positionalsStarted) {\n args.push(currentLine);\n } else if (globalStarted) {\n globalOptions.push(currentLine);\n } else if (optionsStarted) {\n options.push(currentLine);\n } else if (subCommandsStarted) {\n subCommands.push(currentLine);\n } else {\n description.push(currentLine);\n }\n }\n\n // show the flags in green\n const optionsColored = options.map((opt) => opt.replace(/(--)([\\w-]+)/, replacer).replace(/(-)([\\w-]+)/, replacer));\n const argsColored = args.map((arg) => arg.replace(/^ {2}\\S+/, (argName) => chalk.green(argName))); // regex: two spaces then the first word until a white space\n const optionsStr = options.length ? `\\n${STANDARD_GROUP}\\n${optionsColored.join('\\n')}\\n` : '';\n const argumentsStr = args.length ? `\\nArguments:\\n${argsColored.join('\\n')}\\n` : '';\n const examplesStr = examples.length ? `\\nExamples:\\n${examples.join('\\n')}\\n` : '';\n const subCommandsStr = subCommands.length ? `\\n${'Commands:'}\\n${subCommands.join('\\n')}\\n` : '';\n // show the description in bold\n const descriptionColored = description.map((desc) => chalk.bold(desc));\n if (command?.extendedDescription) {\n descriptionColored.push(command?.extendedDescription);\n }\n if (command?.helpUrl) {\n descriptionColored.push(`for more info, visit: ${chalk.underline(command.helpUrl)}`);\n }\n const descriptionStr = descriptionColored.join('\\n');\n const globalOptionsStr = globalOptions.join('\\n');\n\n const finalOutput = `${cmdLine}\n\n${descriptionStr}\n${argumentsStr}${subCommandsStr}${optionsStr}${examplesStr}\n${GLOBAL_GROUP}\n${globalOptionsStr}`;\n\n // eslint-disable-next-line no-console\n console.log(finalOutput);\n }\n\n private findCommandByArgv(): Command | undefined {\n const args = process.argv.slice(2);\n const enteredCommand = args[0];\n const enteredSubCommand = args[1];\n if (!enteredCommand) {\n return undefined;\n }\n const isCommandMatch = (cmd: Command, str: string) => {\n return (\n cmd.name.startsWith(`${str} `) || // e.g. \"tag <id>\".startsWith(\"tag \")\n cmd.name === str || // e.g. \"globals\" === \"globals\"\n cmd.alias === str\n ); // e.g. \"t\" === \"t\"\n };\n const command = this.commands.find((cmd) => isCommandMatch(cmd, enteredCommand));\n if (!command) {\n return undefined;\n }\n if (!command.commands || !enteredSubCommand) {\n return command; // no sub-commands.\n }\n const subCommand = command.commands.find((cmd) => isCommandMatch(cmd, enteredSubCommand));\n return subCommand || command;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_cli@0.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_cli@0.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_cli@0.0.779/dist/cli.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_cli@0.0.779/dist/cli.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
package/dist/yargs-adapter.js
CHANGED
|
@@ -48,12 +48,12 @@ class YargsAdapter {
|
|
|
48
48
|
var _this$commanderComman, _this$commanderComman2;
|
|
49
49
|
const options = YargsAdapter.optionsToBuilder(this.commanderCommand);
|
|
50
50
|
yargs.option(options);
|
|
51
|
-
(_this$commanderComman = this.commanderCommand.arguments) === null || _this$commanderComman === void 0
|
|
51
|
+
(_this$commanderComman = this.commanderCommand.arguments) === null || _this$commanderComman === void 0 ? void 0 : _this$commanderComman.forEach(arg => {
|
|
52
52
|
yargs.positional(arg.name, {
|
|
53
53
|
description: arg.description
|
|
54
54
|
});
|
|
55
55
|
});
|
|
56
|
-
(_this$commanderComman2 = this.commanderCommand.examples) === null || _this$commanderComman2 === void 0
|
|
56
|
+
(_this$commanderComman2 = this.commanderCommand.examples) === null || _this$commanderComman2 === void 0 ? void 0 : _this$commanderComman2.forEach(example => {
|
|
57
57
|
yargs.example(example.cmd, example.description);
|
|
58
58
|
});
|
|
59
59
|
return yargs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","data","require","_lodash","_commandRunner","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","GLOBAL_GROUP","exports","STANDARD_GROUP","YargsAdapter","constructor","commanderCommand","command","name","describe","description","aliases","alias","builder","yargs","_this$commanderComman","_this$commanderComman2","options","optionsToBuilder","option","positional","examples","example","cmd","handler","argv","enteredArgs","getArgsFromCommandName","argsValues","map","a","flags","reduce","acc","current","val","_packageManagerArgs","commandRunner","CommandRunner","runCommand","opt","desc","optName","split","group","type","includes","requiresArg","globalOptions","getGlobalOptions","remoteOp","TOKEN_FLAG","internal","log","commandName","commandSplit","shift","existArg","trimmed","trim","startsWith","endsWith","Error","withoutBrackets","slice","camelCase"],"sources":["yargs-adapter.ts"],"sourcesContent":["import { Command } from '@teambit/legacy/dist/cli/command';\nimport { Arguments, CommandModule, Argv, Options } from 'yargs';\nimport { TOKEN_FLAG } from '@teambit/legacy/dist/constants';\nimport { camelCase } from 'lodash';\nimport { CommandRunner } from './command-runner';\n\nexport const GLOBAL_GROUP = 'Global';\nexport const STANDARD_GROUP = 'Options';\n\nexport class YargsAdapter implements CommandModule {\n command: string;\n describe?: string;\n aliases?: string;\n constructor(private commanderCommand: Command) {\n this.command = commanderCommand.name;\n this.describe = commanderCommand.description;\n this.aliases = commanderCommand.alias;\n }\n\n builder(yargs: Argv) {\n const options = YargsAdapter.optionsToBuilder(this.commanderCommand);\n yargs.option(options);\n this.commanderCommand.arguments?.forEach((arg) => {\n yargs.positional(arg.name, { description: arg.description });\n });\n this.commanderCommand.examples?.forEach((example) => {\n yargs.example(example.cmd, example.description);\n });\n\n return yargs;\n }\n\n handler(argv: Arguments) {\n const enteredArgs = getArgsFromCommandName(this.commanderCommand.name);\n const argsValues = enteredArgs.map((a) => argv[a]) as any[];\n // a workaround to get a flag syntax such as \"--all [version]\" work with yargs.\n const flags = Object.keys(argv).reduce((acc, current) => {\n if (current === '_' || current === '$0' || current === '--') return acc;\n // const flagName = current.split(' ')[0];\n const val = typeof argv[current] === 'string' && !argv[current] ? true : argv[current];\n acc[current] = val;\n return acc;\n }, {});\n this.commanderCommand._packageManagerArgs = (argv['--'] || []) as string[];\n\n const commandRunner = new CommandRunner(this.commanderCommand, argsValues, flags);\n return commandRunner.runCommand();\n }\n\n get positional() {\n return this.commanderCommand.arguments;\n }\n\n static optionsToBuilder(command: Command): { [key: string]: Options } {\n const option = command.options.reduce((acc, [alias, opt, desc]) => {\n const optName = opt.split(' ')[0];\n acc[optName] = {\n alias,\n describe: desc,\n group: STANDARD_GROUP,\n type: opt.includes(' ') ? 'string' : 'boolean',\n requiresArg: opt.includes('<'),\n } as Options;\n return acc;\n }, {});\n const globalOptions = YargsAdapter.getGlobalOptions(command);\n\n return { ...option, ...globalOptions };\n }\n\n static getGlobalOptions(command: Command): Record<string, any> {\n const globalOptions: Record<string, any> = {};\n if (command.remoteOp) {\n globalOptions[TOKEN_FLAG] = {\n describe: 'authentication token',\n group: GLOBAL_GROUP,\n };\n }\n if (!command.internal) {\n globalOptions.log = {\n describe:\n 'print log messages to the screen, options are: [trace, debug, info, warn, error, fatal], the default is info',\n group: GLOBAL_GROUP,\n };\n globalOptions['safe-mode'] = {\n describe:\n 'bootstrap the bare-minimum with only the CLI aspect. useful mainly for low-level commands when bit refuses to load',\n group: GLOBAL_GROUP,\n };\n }\n return globalOptions;\n }\n}\n\nfunction getArgsFromCommandName(commandName: string) {\n const commandSplit = commandName.split(' ');\n commandSplit.shift(); // remove the first element, it's the command-name\n\n return commandSplit.map((existArg) => {\n const trimmed = existArg.trim();\n if ((!trimmed.startsWith('<') && !trimmed.startsWith('[')) || (!trimmed.endsWith('>') && !trimmed.endsWith(']'))) {\n throw new Error(`expect arg \"${trimmed}\" of \"${commandName}\" to be wrapped with \"[]\" or \"<>\"`);\n }\n // remove the opening and closing brackets\n const withoutBrackets = trimmed.slice(1, -1);\n\n return camelCase(withoutBrackets);\n });\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_constants","data","require","_lodash","_commandRunner","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","GLOBAL_GROUP","exports","STANDARD_GROUP","YargsAdapter","constructor","commanderCommand","command","name","describe","description","aliases","alias","builder","yargs","_this$commanderComman","_this$commanderComman2","options","optionsToBuilder","option","positional","examples","example","cmd","handler","argv","enteredArgs","getArgsFromCommandName","argsValues","map","a","flags","reduce","acc","current","val","_packageManagerArgs","commandRunner","CommandRunner","runCommand","opt","desc","optName","split","group","type","includes","requiresArg","globalOptions","getGlobalOptions","remoteOp","TOKEN_FLAG","internal","log","commandName","commandSplit","shift","existArg","trimmed","trim","startsWith","endsWith","Error","withoutBrackets","slice","camelCase"],"sources":["yargs-adapter.ts"],"sourcesContent":["import { Command } from '@teambit/legacy/dist/cli/command';\nimport { Arguments, CommandModule, Argv, Options } from 'yargs';\nimport { TOKEN_FLAG } from '@teambit/legacy/dist/constants';\nimport { camelCase } from 'lodash';\nimport { CommandRunner } from './command-runner';\n\nexport const GLOBAL_GROUP = 'Global';\nexport const STANDARD_GROUP = 'Options';\n\nexport class YargsAdapter implements CommandModule {\n command: string;\n describe?: string;\n aliases?: string;\n constructor(private commanderCommand: Command) {\n this.command = commanderCommand.name;\n this.describe = commanderCommand.description;\n this.aliases = commanderCommand.alias;\n }\n\n builder(yargs: Argv) {\n const options = YargsAdapter.optionsToBuilder(this.commanderCommand);\n yargs.option(options);\n this.commanderCommand.arguments?.forEach((arg) => {\n yargs.positional(arg.name, { description: arg.description });\n });\n this.commanderCommand.examples?.forEach((example) => {\n yargs.example(example.cmd, example.description);\n });\n\n return yargs;\n }\n\n handler(argv: Arguments) {\n const enteredArgs = getArgsFromCommandName(this.commanderCommand.name);\n const argsValues = enteredArgs.map((a) => argv[a]) as any[];\n // a workaround to get a flag syntax such as \"--all [version]\" work with yargs.\n const flags = Object.keys(argv).reduce((acc, current) => {\n if (current === '_' || current === '$0' || current === '--') return acc;\n // const flagName = current.split(' ')[0];\n const val = typeof argv[current] === 'string' && !argv[current] ? true : argv[current];\n acc[current] = val;\n return acc;\n }, {});\n this.commanderCommand._packageManagerArgs = (argv['--'] || []) as string[];\n\n const commandRunner = new CommandRunner(this.commanderCommand, argsValues, flags);\n return commandRunner.runCommand();\n }\n\n get positional() {\n return this.commanderCommand.arguments;\n }\n\n static optionsToBuilder(command: Command): { [key: string]: Options } {\n const option = command.options.reduce((acc, [alias, opt, desc]) => {\n const optName = opt.split(' ')[0];\n acc[optName] = {\n alias,\n describe: desc,\n group: STANDARD_GROUP,\n type: opt.includes(' ') ? 'string' : 'boolean',\n requiresArg: opt.includes('<'),\n } as Options;\n return acc;\n }, {});\n const globalOptions = YargsAdapter.getGlobalOptions(command);\n\n return { ...option, ...globalOptions };\n }\n\n static getGlobalOptions(command: Command): Record<string, any> {\n const globalOptions: Record<string, any> = {};\n if (command.remoteOp) {\n globalOptions[TOKEN_FLAG] = {\n describe: 'authentication token',\n group: GLOBAL_GROUP,\n };\n }\n if (!command.internal) {\n globalOptions.log = {\n describe:\n 'print log messages to the screen, options are: [trace, debug, info, warn, error, fatal], the default is info',\n group: GLOBAL_GROUP,\n };\n globalOptions['safe-mode'] = {\n describe:\n 'bootstrap the bare-minimum with only the CLI aspect. useful mainly for low-level commands when bit refuses to load',\n group: GLOBAL_GROUP,\n };\n }\n return globalOptions;\n }\n}\n\nfunction getArgsFromCommandName(commandName: string) {\n const commandSplit = commandName.split(' ');\n commandSplit.shift(); // remove the first element, it's the command-name\n\n return commandSplit.map((existArg) => {\n const trimmed = existArg.trim();\n if ((!trimmed.startsWith('<') && !trimmed.startsWith('[')) || (!trimmed.endsWith('>') && !trimmed.endsWith(']'))) {\n throw new Error(`expect arg \"${trimmed}\" of \"${commandName}\" to be wrapped with \"[]\" or \"<>\"`);\n }\n // remove the opening and closing brackets\n const withoutBrackets = trimmed.slice(1, -1);\n\n return camelCase(withoutBrackets);\n });\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.779",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/harmony/cli",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.harmony",
|
|
8
8
|
"name": "cli",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.779"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "2.4.2",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"ink": "3.2.0",
|
|
18
18
|
"pad-right": "0.2.2",
|
|
19
19
|
"@teambit/harmony": "0.4.6",
|
|
20
|
-
"@teambit/logger": "0.0.
|
|
20
|
+
"@teambit/logger": "0.0.872",
|
|
21
21
|
"@teambit/bit-error": "0.0.402"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"@types/testing-library__jest-dom": "5.9.5"
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {
|
|
35
|
-
"@teambit/legacy": "1.0.
|
|
35
|
+
"@teambit/legacy": "1.0.564",
|
|
36
36
|
"react": "^16.8.0 || ^17.0.0",
|
|
37
37
|
"react-dom": "^16.8.0 || ^17.0.0"
|
|
38
38
|
},
|