@teambit/cli 0.0.499 → 0.0.502

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.
@@ -20,6 +20,14 @@ export declare class CLIParser {
20
20
  /**
21
21
  * manipulate the command help output. there is no API from Yarn to do any of this, so it needs to be done manually.
22
22
  * see https://github.com/yargs/yargs/issues/1956
23
+ *
24
+ * the original order of the output:
25
+ * description
26
+ * Options
27
+ * Commands
28
+ * Global
29
+ * Positionals
30
+ * Examples
23
31
  */
24
32
  private logCommandHelp;
25
33
  private findCommandByArgv;
@@ -242,7 +242,7 @@ class CLIParser {
242
242
  _yargs().default.command(subCommand);
243
243
  }); // since the "builder" method is overridden, the global flags of the main command are gone, this fixes it.
244
244
 
245
- _yargs().default.options(yarnCommand.getGlobalOptions(command));
245
+ _yargs().default.options(_yargsAdapter().YargsAdapter.getGlobalOptions(command));
246
246
 
247
247
  return _yargs().default;
248
248
  };
@@ -254,6 +254,7 @@ class CLIParser {
254
254
 
255
255
  getYargsCommand(command) {
256
256
  const yarnCommand = new (_yargsAdapter().YargsAdapter)(command);
257
+ yarnCommand.builder = yarnCommand.builder.bind(yarnCommand);
257
258
  yarnCommand.handler = yarnCommand.handler.bind(yarnCommand);
258
259
  return yarnCommand;
259
260
  }
@@ -292,6 +293,14 @@ class CLIParser {
292
293
  /**
293
294
  * manipulate the command help output. there is no API from Yarn to do any of this, so it needs to be done manually.
294
295
  * see https://github.com/yargs/yargs/issues/1956
296
+ *
297
+ * the original order of the output:
298
+ * description
299
+ * Options
300
+ * Commands
301
+ * Global
302
+ * Positionals
303
+ * Examples
295
304
  */
296
305
 
297
306
 
@@ -307,9 +316,13 @@ class CLIParser {
307
316
  const options = [];
308
317
  const globalOptions = [];
309
318
  const subCommands = [];
319
+ const args = [];
320
+ const examples = [];
310
321
  let optionsStarted = false;
311
322
  let globalStarted = false;
312
323
  let subCommandsStarted = false;
324
+ let positionalsStarted = false;
325
+ let examplesStarted = false;
313
326
 
314
327
  for (let i = 1; i < linesWithoutEmpty.length; i += 1) {
315
328
  const currentLine = linesWithoutEmpty[i];
@@ -320,6 +333,14 @@ class CLIParser {
320
333
  globalStarted = true;
321
334
  } else if (currentLine === 'Commands:') {
322
335
  subCommandsStarted = true;
336
+ } else if (currentLine === 'Positionals:') {
337
+ positionalsStarted = true;
338
+ } else if (currentLine === 'Examples:') {
339
+ examplesStarted = true;
340
+ } else if (examplesStarted) {
341
+ examples.push(currentLine);
342
+ } else if (positionalsStarted) {
343
+ args.push(currentLine);
323
344
  } else if (globalStarted) {
324
345
  globalOptions.push(currentLine);
325
346
  } else if (optionsStarted) {
@@ -334,6 +355,8 @@ class CLIParser {
334
355
 
335
356
  const optionsColored = options.map(opt => opt.replace(/(--)([\w-]+)/, replacer).replace(/(-)([\w-]+)/, replacer));
336
357
  const optionsStr = options.length ? `\n${_yargsAdapter().STANDARD_GROUP}\n${optionsColored.join('\n')}\n` : '';
358
+ const argumentsStr = args.length ? `\nArguments:\n${args.join('\n')}\n` : '';
359
+ const examplesStr = examples.length ? `\nExamples:\n${examples.join('\n')}\n` : '';
337
360
  const subCommandsStr = subCommands.length ? `\n${'Commands:'}\n${subCommands.join('\n')}\n` : ''; // show the description in yellow
338
361
 
339
362
  const descriptionColored = description.map(desc => _chalk().default.yellow(desc));
@@ -347,7 +370,7 @@ class CLIParser {
347
370
  const finalOutput = `${cmdLine}
348
371
 
349
372
  ${descriptionStr}
350
- ${subCommandsStr}${optionsStr}
373
+ ${argumentsStr}${subCommandsStr}${optionsStr}${examplesStr}
351
374
  ${_yargsAdapter().GLOBAL_GROUP}
352
375
  ${globalOptionsStr}`; // eslint-disable-next-line no-console
353
376
 
@@ -1 +1 @@
1
- {"version":3,"names":["CLIParser","constructor","commands","groups","parser","yargs","docsDomain","parse","args","process","argv","slice","throwForNonExistsCommand","logger","debug","join","help","configureParser","forEach","command","length","parseCommandWithSubCommands","yargsCommand","getYargsCommand","configureGlobalFlags","setHelpMiddleware","handleCommandFailure","configureCompletion","strict","wrap","middleware","_","printHelp","exit","loader","off","showHelp","logCommandHelp","bind","isDaemon","fail","msg","err","stop","console","log","chalk","yellow","commandsToShowComponentIdsForCompletion","completion","current","completionFilter","done","startsWith","includes","consumer","loadConsumerIfExist","bitmapIdsFromCurrentLane","map","id","toStringWithoutVersion","formatHelp","parserConfiguration","yarnCommand","builderFunc","cmd","subCommand","options","getGlobalOptions","builder","YargsAdapter","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","optionsStarted","globalStarted","subCommandsStarted","i","currentLine","STANDARD_GROUP","push","optionsColored","opt","replace","optionsStr","subCommandsStr","descriptionColored","desc","extendedDescription","descriptionStr","globalOptionsStr","finalOutput","enteredCommand","enteredSubCommand","undefined","isCommandMatch","str","find"],"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 constructor(\n private commands: Command[],\n private groups: GroupsType,\n public parser = yargs,\n private docsDomain: string\n ) {}\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 // this is the main help page\n this.printHelp();\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 // eslint-disable-next-line no-console\n console.log(`\\n${chalk.yellow(msg)}`);\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() {\n const help = formatHelp(this.commands, this.groups, this.docsDomain);\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(yarnCommand.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.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 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\n let optionsStarted = false;\n let globalStarted = false;\n let subCommandsStarted = 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 (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 optionsStr = options.length ? `\\n${STANDARD_GROUP}\\n${optionsColored.join('\\n')}\\n` : '';\n const subCommandsStr = subCommands.length ? `\\n${'Commands:'}\\n${subCommands.join('\\n')}\\n` : '';\n // show the description in yellow\n const descriptionColored = description.map((desc) => chalk.yellow(desc));\n if (command?.extendedDescription) {\n descriptionColored.push(command?.extendedDescription);\n }\n const descriptionStr = descriptionColored.join('\\n');\n const globalOptionsStr = globalOptions.join('\\n');\n\n const finalOutput = `${cmdLine}\n\n${descriptionStr}\n${subCommandsStr}${optionsStr}\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
+ {"version":3,"names":["CLIParser","constructor","commands","groups","parser","yargs","docsDomain","parse","args","process","argv","slice","throwForNonExistsCommand","logger","debug","join","help","configureParser","forEach","command","length","parseCommandWithSubCommands","yargsCommand","getYargsCommand","configureGlobalFlags","setHelpMiddleware","handleCommandFailure","configureCompletion","strict","wrap","middleware","_","printHelp","exit","loader","off","showHelp","logCommandHelp","bind","isDaemon","fail","msg","err","stop","console","log","chalk","yellow","commandsToShowComponentIdsForCompletion","completion","current","completionFilter","done","startsWith","includes","consumer","loadConsumerIfExist","bitmapIdsFromCurrentLane","map","id","toStringWithoutVersion","formatHelp","parserConfiguration","yarnCommand","builderFunc","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","optionsStr","argumentsStr","examplesStr","subCommandsStr","descriptionColored","desc","extendedDescription","descriptionStr","globalOptionsStr","finalOutput","enteredCommand","enteredSubCommand","undefined","isCommandMatch","str","find"],"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 constructor(\n private commands: Command[],\n private groups: GroupsType,\n public parser = yargs,\n private docsDomain: string\n ) {}\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 // this is the main help page\n this.printHelp();\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 // eslint-disable-next-line no-console\n console.log(`\\n${chalk.yellow(msg)}`);\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() {\n const help = formatHelp(this.commands, this.groups, this.docsDomain);\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 optionsStr = options.length ? `\\n${STANDARD_GROUP}\\n${optionsColored.join('\\n')}\\n` : '';\n const argumentsStr = args.length ? `\\nArguments:\\n${args.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 yellow\n const descriptionColored = description.map((desc) => chalk.yellow(desc));\n if (command?.extendedDescription) {\n descriptionColored.push(command?.extendedDescription);\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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"}
package/dist/cli.cmd.d.ts CHANGED
@@ -11,7 +11,7 @@ export declare class CliGenerateCmd implements Command {
11
11
  options: CommandOptions;
12
12
  constructor(cliMain: CLIMain);
13
13
  report(args: any, { metadata }: GenerateOpts): Promise<string>;
14
- json(): Promise<(Pick<Command, "name" | "alias" | "options" | "description" | "extendedDescription" | "group" | "private" | "internal" | "remoteOp" | "skipWorkspace"> & {
14
+ json(): Promise<(Pick<Command, "name" | "alias" | "options" | "description" | "extendedDescription" | "group" | "private" | "internal" | "remoteOp" | "skipWorkspace" | "arguments" | "examples"> & {
15
15
  commands?: any;
16
16
  })[]>;
17
17
  }
@@ -20,5 +20,5 @@ export declare class GenerateCommandsDoc {
20
20
  private formatStringToMD;
21
21
  private formatDescription;
22
22
  }
23
- declare function oneCommandToObject(command: Command): Pick<Command, "name" | "alias" | "options" | "description" | "extendedDescription" | "group" | "private" | "internal" | "remoteOp" | "skipWorkspace">;
23
+ declare function oneCommandToObject(command: Command): Pick<Command, "name" | "alias" | "options" | "description" | "extendedDescription" | "group" | "private" | "internal" | "remoteOp" | "skipWorkspace" | "arguments" | "examples">;
24
24
  export {};
@@ -152,7 +152,7 @@ Commands that are marked as workspace only must be executed inside a workspace.
152
152
  exports.GenerateCommandsDoc = GenerateCommandsDoc;
153
153
 
154
154
  function oneCommandToObject(command) {
155
- return (0, _lodash().pick)(command, ['name', 'alias', 'options', 'description', 'extendedDescription', 'group', 'private', 'internal', 'remoteOp', 'skipWorkspace']);
155
+ return (0, _lodash().pick)(command, ['name', 'alias', 'options', 'description', 'extendedDescription', 'group', 'private', 'internal', 'remoteOp', 'skipWorkspace', 'arguments', 'examples']);
156
156
  }
157
157
 
158
158
  //# sourceMappingURL=generate-doc-md.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["GenerateCommandsDoc","constructor","commands","options","generate","getAllPublicCommandsSorted","output","getFrontmatter","map","cmd","generateCommand","join","generateJson","commandsToObjects","command","cmdObject","oneCommandToObject","length","metadata","metadataStr","Object","keys","key","publicCommands","filter","private","sort","a","b","name","localeCompare","commandName","getCommandId","result","alias","skipWorkspace","formatDescription","generateSubCommands","generateOptions","subCommands","ret","forEach","subCommand","subcommandName","usage","opt","flag","description","aliasFormatted","flagFormatted","formatStringToMD","str","split","extendedDescription","pick"],"sources":["generate-doc-md.ts"],"sourcesContent":["import { Command } from '@teambit/legacy/dist/cli/command';\nimport { CommandOptions } from '@teambit/legacy/dist/cli/legacy-command';\nimport { pick } from 'lodash';\nimport { getCommandId } from './get-command-id';\n\nexport type GenerateOpts = {\n metadata?: Record<string, string>;\n};\n\ntype CommandObject = ReturnType<typeof oneCommandToObject> & { commands?: any };\n\nexport class GenerateCommandsDoc {\n constructor(private commands: Command[], private options: GenerateOpts) {}\n\n generate(): string {\n const commands = this.getAllPublicCommandsSorted();\n let output = `${this.getFrontmatter()}\n# CLI Reference\n\nCommands that are marked as workspace only must be executed inside a workspace. Commands that are marked as not workspace only, can be executed from anywhere and will run on a remote server.\n`;\n output += commands.map((cmd) => this.generateCommand(cmd)).join('\\n');\n\n return output;\n }\n\n generateJson() {\n return this.commandsToObjects();\n }\n\n private commandsToObjects(commands: Command[] = this.commands): CommandObject[] {\n return commands.map((command) => {\n const cmdObject: CommandObject = oneCommandToObject(command);\n if (command.commands?.length) {\n cmdObject.commands = this.commandsToObjects(command.commands);\n }\n return cmdObject;\n });\n }\n\n private getFrontmatter() {\n const metadata = this.options.metadata;\n if (!metadata) {\n return '';\n }\n const metadataStr = Object.keys(metadata)\n .map((key) => `${key}: ${metadata[key]}`)\n .join('\\n');\n\n return `---\n ${metadataStr}\n ---\n`;\n }\n\n private getAllPublicCommandsSorted() {\n const publicCommands = this.commands.filter((cmd) => !cmd.private);\n return publicCommands.sort((a, b) => a.name.localeCompare(b.name));\n }\n\n private generateCommand(cmd: Command) {\n const commandName = getCommandId(cmd.name);\n let result = `## ${commandName} \\n\\n`;\n if (cmd.alias && cmd.alias.length > 0) {\n result += `**Alias**: \\`${cmd.alias}\\` \\n`;\n }\n result += `**Workspace only**: ${cmd.skipWorkspace ? 'no' : 'yes'} \\n`;\n result += `**Description**: ${this.formatDescription(cmd)}`;\n result += `\\`bit ${cmd.name}\\` \\n\\n`;\n\n if (cmd.commands && cmd.commands.length > 0) {\n result += this.generateSubCommands(cmd.commands, cmd);\n }\n result += this.generateOptions(cmd.options);\n result += `--- \\n`;\n\n return result;\n }\n\n private generateSubCommands(subCommands: Command[], command: Command) {\n let ret = '';\n subCommands.forEach((subCommand) => {\n const commandName = getCommandId(command.name);\n const subcommandName = getCommandId(subCommand.name);\n const usage = `${commandName} ${subCommand.name}`;\n ret += `### ${commandName} ${subcommandName} \\n`;\n ret += `**Usage**: \\`${usage}\\` \\n\\n`;\n ret += `**Description**: ${this.formatDescription(subCommand)}`;\n\n ret += '\\n';\n ret += this.generateOptions(subCommand.options);\n });\n return ret;\n }\n\n private generateOptions(options: CommandOptions): string {\n if (!options || options.length <= 0) return '';\n let output = `| **Option** | **Option alias** | **Description**| \\n`;\n output += `|---|:-----:|---|\\n`;\n options.forEach((opt) => {\n const [alias, flag, description] = opt;\n const aliasFormatted = alias ? `\\`-${alias}\\`` : ' ';\n const flagFormatted = `--${flag}`;\n output += `|\\`${flagFormatted}\\`|${aliasFormatted}|${description}|\\n`;\n });\n output += `\\n`;\n return output;\n }\n\n private formatStringToMD(str: string): string {\n return str.split('\\n').join(' \\n');\n }\n\n private formatDescription(command: Command): string {\n const extendedDescription = command.extendedDescription\n ? ` \\n${this.formatStringToMD(command.extendedDescription)}`\n : '';\n const description = this.formatStringToMD(command.description as string);\n return `${description}${extendedDescription} \\n\\n`;\n }\n}\n\nfunction oneCommandToObject(command: Command) {\n return pick(command, [\n 'name',\n 'alias',\n 'options',\n 'description',\n 'extendedDescription',\n 'group',\n 'private',\n 'internal',\n 'remoteOp',\n 'skipWorkspace',\n ]);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["GenerateCommandsDoc","constructor","commands","options","generate","getAllPublicCommandsSorted","output","getFrontmatter","map","cmd","generateCommand","join","generateJson","commandsToObjects","command","cmdObject","oneCommandToObject","length","metadata","metadataStr","Object","keys","key","publicCommands","filter","private","sort","a","b","name","localeCompare","commandName","getCommandId","result","alias","skipWorkspace","formatDescription","generateSubCommands","generateOptions","subCommands","ret","forEach","subCommand","subcommandName","usage","opt","flag","description","aliasFormatted","flagFormatted","formatStringToMD","str","split","extendedDescription","pick"],"sources":["generate-doc-md.ts"],"sourcesContent":["import { Command } from '@teambit/legacy/dist/cli/command';\nimport { CommandOptions } from '@teambit/legacy/dist/cli/legacy-command';\nimport { pick } from 'lodash';\nimport { getCommandId } from './get-command-id';\n\nexport type GenerateOpts = {\n metadata?: Record<string, string>;\n};\n\ntype CommandObject = ReturnType<typeof oneCommandToObject> & { commands?: any };\n\nexport class GenerateCommandsDoc {\n constructor(private commands: Command[], private options: GenerateOpts) {}\n\n generate(): string {\n const commands = this.getAllPublicCommandsSorted();\n let output = `${this.getFrontmatter()}\n# CLI Reference\n\nCommands that are marked as workspace only must be executed inside a workspace. Commands that are marked as not workspace only, can be executed from anywhere and will run on a remote server.\n`;\n output += commands.map((cmd) => this.generateCommand(cmd)).join('\\n');\n\n return output;\n }\n\n generateJson() {\n return this.commandsToObjects();\n }\n\n private commandsToObjects(commands: Command[] = this.commands): CommandObject[] {\n return commands.map((command) => {\n const cmdObject: CommandObject = oneCommandToObject(command);\n if (command.commands?.length) {\n cmdObject.commands = this.commandsToObjects(command.commands);\n }\n return cmdObject;\n });\n }\n\n private getFrontmatter() {\n const metadata = this.options.metadata;\n if (!metadata) {\n return '';\n }\n const metadataStr = Object.keys(metadata)\n .map((key) => `${key}: ${metadata[key]}`)\n .join('\\n');\n\n return `---\n ${metadataStr}\n ---\n`;\n }\n\n private getAllPublicCommandsSorted() {\n const publicCommands = this.commands.filter((cmd) => !cmd.private);\n return publicCommands.sort((a, b) => a.name.localeCompare(b.name));\n }\n\n private generateCommand(cmd: Command) {\n const commandName = getCommandId(cmd.name);\n let result = `## ${commandName} \\n\\n`;\n if (cmd.alias && cmd.alias.length > 0) {\n result += `**Alias**: \\`${cmd.alias}\\` \\n`;\n }\n result += `**Workspace only**: ${cmd.skipWorkspace ? 'no' : 'yes'} \\n`;\n result += `**Description**: ${this.formatDescription(cmd)}`;\n result += `\\`bit ${cmd.name}\\` \\n\\n`;\n\n if (cmd.commands && cmd.commands.length > 0) {\n result += this.generateSubCommands(cmd.commands, cmd);\n }\n result += this.generateOptions(cmd.options);\n result += `--- \\n`;\n\n return result;\n }\n\n private generateSubCommands(subCommands: Command[], command: Command) {\n let ret = '';\n subCommands.forEach((subCommand) => {\n const commandName = getCommandId(command.name);\n const subcommandName = getCommandId(subCommand.name);\n const usage = `${commandName} ${subCommand.name}`;\n ret += `### ${commandName} ${subcommandName} \\n`;\n ret += `**Usage**: \\`${usage}\\` \\n\\n`;\n ret += `**Description**: ${this.formatDescription(subCommand)}`;\n\n ret += '\\n';\n ret += this.generateOptions(subCommand.options);\n });\n return ret;\n }\n\n private generateOptions(options: CommandOptions): string {\n if (!options || options.length <= 0) return '';\n let output = `| **Option** | **Option alias** | **Description**| \\n`;\n output += `|---|:-----:|---|\\n`;\n options.forEach((opt) => {\n const [alias, flag, description] = opt;\n const aliasFormatted = alias ? `\\`-${alias}\\`` : ' ';\n const flagFormatted = `--${flag}`;\n output += `|\\`${flagFormatted}\\`|${aliasFormatted}|${description}|\\n`;\n });\n output += `\\n`;\n return output;\n }\n\n private formatStringToMD(str: string): string {\n return str.split('\\n').join(' \\n');\n }\n\n private formatDescription(command: Command): string {\n const extendedDescription = command.extendedDescription\n ? ` \\n${this.formatStringToMD(command.extendedDescription)}`\n : '';\n const description = this.formatStringToMD(command.description as string);\n return `${description}${extendedDescription} \\n\\n`;\n }\n}\n\nfunction oneCommandToObject(command: Command) {\n return pick(command, [\n 'name',\n 'alias',\n 'options',\n 'description',\n 'extendedDescription',\n 'group',\n 'private',\n 'internal',\n 'remoteOp',\n 'skipWorkspace',\n 'arguments',\n 'examples',\n ]);\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Command } from '@teambit/legacy/dist/cli/command';
2
- import { Arguments, CommandBuilder, CommandModule } from 'yargs';
2
+ import { Arguments, CommandModule, Argv } from 'yargs';
3
3
  export declare const GLOBAL_GROUP = "Global";
4
4
  export declare const STANDARD_GROUP = "Options";
5
5
  export declare class YargsAdapter implements CommandModule {
@@ -7,9 +7,10 @@ export declare class YargsAdapter implements CommandModule {
7
7
  command: string;
8
8
  describe?: string;
9
9
  aliases?: string;
10
- builder: CommandBuilder;
11
10
  constructor(commanderCommand: Command);
11
+ builder(yargs: Argv): Argv<{}>;
12
12
  handler(argv: Arguments): Promise<boolean | void | null>;
13
- private optionsToBuilder;
14
- getGlobalOptions(command: Command): Record<string, any>;
13
+ get positional(): import("@teambit/legacy/dist/cli/command").CommandArg[] | undefined;
14
+ static optionsToBuilder(command: Command): {};
15
+ static getGlobalOptions(command: Command): Record<string, any>;
15
16
  }
@@ -70,11 +70,25 @@ class YargsAdapter {
70
70
  (0, _defineProperty2().default)(this, "command", void 0);
71
71
  (0, _defineProperty2().default)(this, "describe", void 0);
72
72
  (0, _defineProperty2().default)(this, "aliases", void 0);
73
- (0, _defineProperty2().default)(this, "builder", void 0);
74
73
  this.command = commanderCommand.name;
75
74
  this.describe = commanderCommand.description;
76
75
  this.aliases = commanderCommand.alias;
77
- this.builder = this.optionsToBuilder(commanderCommand);
76
+ }
77
+
78
+ builder(yargs) {
79
+ var _this$commanderComman, _this$commanderComman2;
80
+
81
+ const options = YargsAdapter.optionsToBuilder(this.commanderCommand);
82
+ yargs.option(options);
83
+ (_this$commanderComman = this.commanderCommand.arguments) === null || _this$commanderComman === void 0 ? void 0 : _this$commanderComman.forEach(arg => {
84
+ yargs.positional(arg.name, {
85
+ description: arg.description
86
+ });
87
+ });
88
+ (_this$commanderComman2 = this.commanderCommand.examples) === null || _this$commanderComman2 === void 0 ? void 0 : _this$commanderComman2.forEach(example => {
89
+ yargs.example(example.cmd, example.description);
90
+ });
91
+ return yargs;
78
92
  }
79
93
 
80
94
  handler(argv) {
@@ -93,7 +107,11 @@ class YargsAdapter {
93
107
  return commandRunner.runCommand();
94
108
  }
95
109
 
96
- optionsToBuilder(command) {
110
+ get positional() {
111
+ return this.commanderCommand.arguments;
112
+ }
113
+
114
+ static optionsToBuilder(command) {
97
115
  const option = command.options.reduce((acc, [alias, opt, desc]) => {
98
116
  const optName = opt.split(' ')[0];
99
117
  acc[optName] = {
@@ -105,11 +123,11 @@ class YargsAdapter {
105
123
  };
106
124
  return acc;
107
125
  }, {});
108
- const globalOptions = this.getGlobalOptions(command);
126
+ const globalOptions = YargsAdapter.getGlobalOptions(command);
109
127
  return _objectSpread(_objectSpread({}, option), globalOptions);
110
128
  }
111
129
 
112
- getGlobalOptions(command) {
130
+ static getGlobalOptions(command) {
113
131
  const globalOptions = {};
114
132
 
115
133
  if (command.remoteOp) {
@@ -1 +1 @@
1
- {"version":3,"names":["GLOBAL_GROUP","STANDARD_GROUP","YargsAdapter","constructor","commanderCommand","command","name","describe","description","aliases","alias","builder","optionsToBuilder","handler","argv","enteredArgs","getArgsFromCommandName","argsValues","map","a","flags","Object","keys","reduce","acc","current","val","_packageManagerArgs","commandRunner","CommandRunner","runCommand","option","options","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, CommandBuilder, CommandModule } 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 builder: CommandBuilder;\n constructor(private commanderCommand: Command) {\n this.command = commanderCommand.name;\n this.describe = commanderCommand.description;\n this.aliases = commanderCommand.alias;\n this.builder = this.optionsToBuilder(commanderCommand);\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 private optionsToBuilder(command: Command) {\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 };\n return acc;\n }, {});\n const globalOptions = this.getGlobalOptions(command);\n\n return { ...option, ...globalOptions };\n }\n\n 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":["GLOBAL_GROUP","STANDARD_GROUP","YargsAdapter","constructor","commanderCommand","command","name","describe","description","aliases","alias","builder","yargs","options","optionsToBuilder","option","arguments","forEach","arg","positional","examples","example","cmd","handler","argv","enteredArgs","getArgsFromCommandName","argsValues","map","a","flags","Object","keys","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 } 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) {\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 };\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.499",
3
+ "version": "0.0.502",
4
4
  "homepage": "https://bit.dev/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.499"
9
+ "version": "0.0.502"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -18,7 +18,7 @@
18
18
  "@babel/runtime": "7.12.18",
19
19
  "core-js": "^3.0.0",
20
20
  "@teambit/harmony": "0.3.3",
21
- "@teambit/community": "0.0.47",
21
+ "@teambit/community": "0.0.50",
22
22
  "@teambit/bit-error": "0.0.394"
23
23
  },
24
24
  "devDependencies": {
@@ -33,7 +33,7 @@
33
33
  "@types/node": "12.20.4"
34
34
  },
35
35
  "peerDependencies": {
36
- "@teambit/legacy": "1.0.279",
36
+ "@teambit/legacy": "1.0.282",
37
37
  "react-dom": "^16.8.0 || ^17.0.0",
38
38
  "react": "^16.8.0 || ^17.0.0"
39
39
  },
@@ -61,7 +61,7 @@
61
61
  "react": "-"
62
62
  },
63
63
  "peerDependencies": {
64
- "@teambit/legacy": "1.0.279",
64
+ "@teambit/legacy": "1.0.282",
65
65
  "react-dom": "^16.8.0 || ^17.0.0",
66
66
  "react": "^16.8.0 || ^17.0.0"
67
67
  }
@@ -1,2 +1,2 @@
1
- export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_cli@0.0.499/dist/cli.composition.js')]
2
- export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_cli@0.0.499/dist/cli.docs.mdx')]
1
+ export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_cli@0.0.502/dist/cli.composition.js')]
2
+ export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_cli@0.0.502/dist/cli.docs.mdx')]
Binary file