@teambit/cli 0.0.932 → 0.0.934

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.
@@ -2,13 +2,16 @@ import yargs from 'yargs';
2
2
  import { Command } from '@teambit/legacy/dist/cli/command';
3
3
  import { GroupsType } from '@teambit/legacy/dist/cli/command-groups';
4
4
  import { OnCommandStartSlot } from './cli.main.runtime';
5
+ import { CommandRunner } from './command-runner';
5
6
  export declare class CLIParser {
6
7
  private commands;
7
8
  private groups;
8
9
  private onCommandStartSlot;
9
10
  parser: yargs.Argv<{}>;
11
+ private yargsCommands;
10
12
  constructor(commands: Command[], groups: GroupsType, onCommandStartSlot: OnCommandStartSlot);
11
- parse(args?: string[]): Promise<void>;
13
+ parse(args?: string[]): Promise<CommandRunner>;
14
+ private addYargsCommand;
12
15
  private setHelpMiddleware;
13
16
  private handleCommandFailure;
14
17
  private configureCompletion;
@@ -92,6 +92,7 @@ class CLIParser {
92
92
  this.groups = groups;
93
93
  this.onCommandStartSlot = onCommandStartSlot;
94
94
  _defineProperty(this, "parser", _yargs().default);
95
+ _defineProperty(this, "yargsCommands", []);
95
96
  }
96
97
  async parse(args = process.argv.slice(2)) {
97
98
  this.throwForNonExistsCommand(args[0]);
@@ -105,7 +106,7 @@ class CLIParser {
105
106
  this.parseCommandWithSubCommands(command);
106
107
  } else {
107
108
  const yargsCommand = this.getYargsCommand(command);
108
- _yargs().default.command(yargsCommand);
109
+ this.addYargsCommand(yargsCommand);
109
110
  }
110
111
  });
111
112
  this.configureGlobalFlags();
@@ -118,6 +119,13 @@ class CLIParser {
118
119
  // .recommendCommands() // don't use it, it brings the global help of yargs, we have a custom one
119
120
  .wrap(null);
120
121
  await _yargs().default.parse();
122
+ const currentYargsCommand = this.yargsCommands.find(y => y.commandRunner);
123
+ if (!currentYargsCommand) throw new Error(`unable to find the matched yargs command`);
124
+ return currentYargsCommand.commandRunner;
125
+ }
126
+ addYargsCommand(yargsCommand) {
127
+ this.yargsCommands.push(yargsCommand);
128
+ _yargs().default.command(yargsCommand);
121
129
  }
122
130
  setHelpMiddleware() {
123
131
  _yargs().default.middleware(argv => {
@@ -183,20 +191,20 @@ class CLIParser {
183
191
  const builderFunc = () => {
184
192
  command.commands?.forEach(cmd => {
185
193
  const subCommand = this.getYargsCommand(cmd);
186
- _yargs().default.command(subCommand);
194
+ this.addYargsCommand(subCommand);
187
195
  });
188
196
  // since the "builder" method is overridden, the global flags of the main command are gone, this fixes it.
189
197
  _yargs().default.options(_yargsAdapter().YargsAdapter.getGlobalOptions(command));
190
198
  return _yargs().default;
191
199
  };
192
200
  yarnCommand.builder = builderFunc;
193
- _yargs().default.command(yarnCommand);
201
+ this.addYargsCommand(yarnCommand);
194
202
  }
195
203
  getYargsCommand(command) {
196
- const yarnCommand = new (_yargsAdapter().YargsAdapter)(command, this.onCommandStartSlot);
197
- yarnCommand.builder = yarnCommand.builder.bind(yarnCommand);
198
- yarnCommand.handler = yarnCommand.handler.bind(yarnCommand);
199
- return yarnCommand;
204
+ const yargsCommand = new (_yargsAdapter().YargsAdapter)(command, this.onCommandStartSlot);
205
+ yargsCommand.builder = yargsCommand.builder.bind(yargsCommand);
206
+ yargsCommand.handler = yargsCommand.handler.bind(yargsCommand);
207
+ return yargsCommand;
200
208
  }
201
209
  configureGlobalFlags() {
202
210
  _yargs().default.option('help', {
@@ -1 +1 @@
1
- {"version":3,"names":["_didyoumean","data","_interopRequireDefault","require","_yargs","_lodash","_consumer","_logger","_loader","_chalk","_getCommandId","_help","_yargsAdapter","_commandNotFound","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CLIParser","constructor","commands","groups","onCommandStartSlot","yargs","parse","args","process","argv","slice","throwForNonExistsCommand","logger","debug","join","writeCommandHistoryStart","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","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","currentLine","STANDARD_GROUP","push","optionsColored","opt","replace","argsColored","arg","argName","optionsStr","argumentsStr","examplesStr","subCommandsStr","descriptionColored","desc","bold","extendedDescription","helpUrl","underline","descriptionStr","globalOptionsStr","finalOutput","exports","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';\nimport { OnCommandStartSlot } from './cli.main.runtime';\n\nexport class CLIParser {\n public parser = yargs;\n constructor(\n private commands: Command[],\n private groups: GroupsType,\n private onCommandStartSlot: OnCommandStartSlot\n ) {}\n\n async parse(args = process.argv.slice(2)) {\n this.throwForNonExistsCommand(args[0]);\n logger.debug(`[+] CLI-INPUT: ${args.join(' ')}`);\n logger.writeCommandHistoryStart();\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, this.onCommandStartSlot);\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 = findCommandByArgv(this.commands);\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\nexport function findCommandByArgv(commands: Command[]): 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 = 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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_didyoumean","data","_interopRequireDefault","require","_yargs","_lodash","_consumer","_logger","_loader","_chalk","_getCommandId","_help","_yargsAdapter","_commandNotFound","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CLIParser","constructor","commands","groups","onCommandStartSlot","yargs","parse","args","process","argv","slice","throwForNonExistsCommand","logger","debug","join","writeCommandHistoryStart","help","configureParser","forEach","command","length","parseCommandWithSubCommands","yargsCommand","getYargsCommand","addYargsCommand","configureGlobalFlags","setHelpMiddleware","handleCommandFailure","configureCompletion","strict","wrap","currentYargsCommand","yargsCommands","find","y","commandRunner","Error","push","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","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","currentLine","STANDARD_GROUP","optionsColored","opt","replace","argsColored","arg","argName","optionsStr","argumentsStr","examplesStr","subCommandsStr","descriptionColored","desc","bold","extendedDescription","helpUrl","underline","descriptionStr","globalOptionsStr","finalOutput","exports","enteredCommand","enteredSubCommand","undefined","isCommandMatch","str"],"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';\nimport { OnCommandStartSlot } from './cli.main.runtime';\nimport { CommandRunner } from './command-runner';\n\nexport class CLIParser {\n public parser = yargs;\n private yargsCommands: YargsAdapter[] = [];\n constructor(\n private commands: Command[],\n private groups: GroupsType,\n private onCommandStartSlot: OnCommandStartSlot\n ) {}\n\n async parse(args = process.argv.slice(2)): Promise<CommandRunner> {\n this.throwForNonExistsCommand(args[0]);\n logger.debug(`[+] CLI-INPUT: ${args.join(' ')}`);\n logger.writeCommandHistoryStart();\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 this.addYargsCommand(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 const currentYargsCommand = this.yargsCommands.find((y) => y.commandRunner);\n if (!currentYargsCommand) throw new Error(`unable to find the matched yargs command`);\n return currentYargsCommand.commandRunner as CommandRunner;\n }\n\n private addYargsCommand(yargsCommand: YargsAdapter) {\n this.yargsCommands.push(yargsCommand);\n yargs.command(yargsCommand);\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 this.addYargsCommand(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 this.addYargsCommand(yarnCommand);\n }\n\n private getYargsCommand(command: Command): YargsAdapter {\n const yargsCommand = new YargsAdapter(command, this.onCommandStartSlot);\n yargsCommand.builder = yargsCommand.builder.bind(yargsCommand);\n yargsCommand.handler = yargsCommand.handler.bind(yargsCommand);\n\n return yargsCommand;\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 = findCommandByArgv(this.commands);\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\nexport function findCommandByArgv(commands: Command[]): 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 = 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"],"mappings":"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","ignoreList":[]}
package/dist/cli.cmd.js CHANGED
@@ -113,7 +113,8 @@ class CliCmd {
113
113
  rl.on('line', async line => {
114
114
  const cmd = line.trim().split(' ');
115
115
  try {
116
- await cliParser.parse(cmd);
116
+ const commandRunner = await cliParser.parse(cmd);
117
+ await commandRunner.runCommand();
117
118
  } catch (err) {
118
119
  await (0, _handleErrors().handleErrorAndExit)(err, cmd[0]);
119
120
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_logger","data","_interopRequireDefault","require","_handleErrors","_consumer","_bit","_readline","_cliParser","_generateDocMd","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CliGenerateCmd","constructor","cliMain","report","args","metadata","docs","getBitVersion","GenerateCommandsDoc","commands","generate","json","generateJson","exports","CliCmd","legacyLogger","isDaemon","rl","readline","createInterface","input","process","stdin","output","stdout","prompt","completer","line","cb","cliParser","CLIParser","groups","onCommandStartSlot","Promise","resolve","on","cmd","trim","split","parse","err","handleErrorAndExit","lineSplit","values","length","completeCommand","loadConsumerIfExist","then","consumer","comps","bitmapIdsFromCurrentLane","map","id","toStringWithoutVersion","filter","c","includes","catch","name","startsWith"],"sources":["cli.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport type { Command, CommandOptions } from '@teambit/legacy/dist/cli/command';\nimport legacyLogger from '@teambit/legacy/dist/logger/logger';\nimport { handleErrorAndExit } from './handle-errors';\nimport { loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\nimport { getBitVersion } from '@teambit/bit.get-bit-version';\nimport readline from 'readline';\nimport { CLIParser } from './cli-parser';\nimport { CLIMain } from './cli.main.runtime';\nimport { GenerateCommandsDoc, GenerateOpts } from './generate-doc-md';\n\nexport class CliGenerateCmd implements Command {\n name = 'generate';\n description = 'generate an .md file with all commands details';\n alias = '';\n loader = false;\n group = 'general';\n options = [\n [\n '',\n 'metadata',\n 'metadata/front-matter to place at the top of the .md file, enter as an object e.g. --metadata.id=cli --metadata.title=commands',\n ],\n ['', 'docs', 'generate the cli-reference.docs.mdx file'],\n ['j', 'json', 'output the commands info as JSON'],\n ] as CommandOptions;\n\n constructor(private cliMain: CLIMain) {}\n\n async report(args, { metadata, docs }: GenerateOpts & { docs?: boolean }): Promise<string> {\n if (docs) {\n return `---\ndescription: 'Bit command synopses. Bit version: ${getBitVersion()}'\nlabels: ['cli', 'mdx', 'docs']\n---\n `;\n }\n return new GenerateCommandsDoc(this.cliMain.commands, { metadata }).generate();\n }\n\n async json() {\n return new GenerateCommandsDoc(this.cliMain.commands, {}).generateJson();\n }\n}\n\nexport class CliCmd implements Command {\n name = 'cli';\n description = 'EXPERIMENTAL. enters bit cli program and generates commands list';\n alias = '';\n commands: Command[] = [];\n loader = false;\n group = 'general';\n options = [] as CommandOptions;\n\n constructor(private cliMain: CLIMain) {}\n\n async report(): Promise<string> {\n legacyLogger.isDaemon = true;\n const rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout,\n prompt: 'bit > ',\n completer: (line, cb) => completer(line, cb, this.cliMain),\n });\n\n const cliParser = new CLIParser(this.cliMain.commands, this.cliMain.groups, this.cliMain.onCommandStartSlot);\n\n rl.prompt();\n\n return new Promise((resolve) => {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n rl.on('line', async (line) => {\n const cmd = line.trim().split(' ');\n try {\n await cliParser.parse(cmd);\n } catch (err: any) {\n await handleErrorAndExit(err, cmd[0]);\n }\n rl.prompt();\n }).on('close', () => {\n resolve('Have a great day!');\n });\n });\n }\n}\n\nfunction completer(line: string, cb: Function, cliMain: CLIMain) {\n const lineSplit = line.split(' ');\n let values: string[] = [];\n if (lineSplit.length <= 1) {\n values = completeCommand(line, cliMain);\n cb(null, [values, line]);\n }\n loadConsumerIfExist()\n .then((consumer) => {\n const comps = consumer?.bitmapIdsFromCurrentLane.map((id) => id.toStringWithoutVersion()) || [];\n values = comps.filter((c) => c.includes(lineSplit[1]));\n // eslint-disable-next-line promise/no-callback-in-promise\n cb(null, [values, line]);\n })\n .catch((err) => {\n // eslint-disable-next-line promise/no-callback-in-promise\n cb(err, [[], line]);\n });\n}\n\nfunction completeCommand(line: string, cliMain: CLIMain): string[] {\n const commands = cliMain.commands.filter((cmd) => cmd.name.startsWith(line));\n return commands.map((c) => c.name).map((name) => name.split(' ')[0]);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_logger","data","_interopRequireDefault","require","_handleErrors","_consumer","_bit","_readline","_cliParser","_generateDocMd","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CliGenerateCmd","constructor","cliMain","report","args","metadata","docs","getBitVersion","GenerateCommandsDoc","commands","generate","json","generateJson","exports","CliCmd","legacyLogger","isDaemon","rl","readline","createInterface","input","process","stdin","output","stdout","prompt","completer","line","cb","cliParser","CLIParser","groups","onCommandStartSlot","Promise","resolve","on","cmd","trim","split","commandRunner","parse","runCommand","err","handleErrorAndExit","lineSplit","values","length","completeCommand","loadConsumerIfExist","then","consumer","comps","bitmapIdsFromCurrentLane","map","id","toStringWithoutVersion","filter","c","includes","catch","name","startsWith"],"sources":["cli.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport type { Command, CommandOptions } from '@teambit/legacy/dist/cli/command';\nimport legacyLogger from '@teambit/legacy/dist/logger/logger';\nimport { handleErrorAndExit } from './handle-errors';\nimport { loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\nimport { getBitVersion } from '@teambit/bit.get-bit-version';\nimport readline from 'readline';\nimport { CLIParser } from './cli-parser';\nimport { CLIMain } from './cli.main.runtime';\nimport { GenerateCommandsDoc, GenerateOpts } from './generate-doc-md';\n\nexport class CliGenerateCmd implements Command {\n name = 'generate';\n description = 'generate an .md file with all commands details';\n alias = '';\n loader = false;\n group = 'general';\n options = [\n [\n '',\n 'metadata',\n 'metadata/front-matter to place at the top of the .md file, enter as an object e.g. --metadata.id=cli --metadata.title=commands',\n ],\n ['', 'docs', 'generate the cli-reference.docs.mdx file'],\n ['j', 'json', 'output the commands info as JSON'],\n ] as CommandOptions;\n\n constructor(private cliMain: CLIMain) {}\n\n async report(args, { metadata, docs }: GenerateOpts & { docs?: boolean }): Promise<string> {\n if (docs) {\n return `---\ndescription: 'Bit command synopses. Bit version: ${getBitVersion()}'\nlabels: ['cli', 'mdx', 'docs']\n---\n `;\n }\n return new GenerateCommandsDoc(this.cliMain.commands, { metadata }).generate();\n }\n\n async json() {\n return new GenerateCommandsDoc(this.cliMain.commands, {}).generateJson();\n }\n}\n\nexport class CliCmd implements Command {\n name = 'cli';\n description = 'EXPERIMENTAL. enters bit cli program and generates commands list';\n alias = '';\n commands: Command[] = [];\n loader = false;\n group = 'general';\n options = [] as CommandOptions;\n\n constructor(private cliMain: CLIMain) {}\n\n async report(): Promise<string> {\n legacyLogger.isDaemon = true;\n const rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout,\n prompt: 'bit > ',\n completer: (line, cb) => completer(line, cb, this.cliMain),\n });\n\n const cliParser = new CLIParser(this.cliMain.commands, this.cliMain.groups, this.cliMain.onCommandStartSlot);\n\n rl.prompt();\n\n return new Promise((resolve) => {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n rl.on('line', async (line) => {\n const cmd = line.trim().split(' ');\n try {\n const commandRunner = await cliParser.parse(cmd);\n await commandRunner.runCommand();\n } catch (err: any) {\n await handleErrorAndExit(err, cmd[0]);\n }\n rl.prompt();\n }).on('close', () => {\n resolve('Have a great day!');\n });\n });\n }\n}\n\nfunction completer(line: string, cb: Function, cliMain: CLIMain) {\n const lineSplit = line.split(' ');\n let values: string[] = [];\n if (lineSplit.length <= 1) {\n values = completeCommand(line, cliMain);\n cb(null, [values, line]);\n }\n loadConsumerIfExist()\n .then((consumer) => {\n const comps = consumer?.bitmapIdsFromCurrentLane.map((id) => id.toStringWithoutVersion()) || [];\n values = comps.filter((c) => c.includes(lineSplit[1]));\n // eslint-disable-next-line promise/no-callback-in-promise\n cb(null, [values, line]);\n })\n .catch((err) => {\n // eslint-disable-next-line promise/no-callback-in-promise\n cb(err, [[], line]);\n });\n}\n\nfunction completeCommand(line: string, cliMain: CLIMain): string[] {\n const commands = cliMain.commands.filter((cmd) => cmd.name.startsWith(line));\n return commands.map((c) => c.name).map((name) => name.split(' ')[0]);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -35,6 +35,7 @@ export declare class CLIMain {
35
35
  * get an instance of a registered command. (useful for aspects to modify and extend existing commands)
36
36
  */
37
37
  getCommand(name: string): Command | undefined;
38
+ getCommandByNameOrAlias(name: string): Command | undefined;
38
39
  /**
39
40
  * when running `bit help`, commands are grouped by categories.
40
41
  * this method helps registering a new group by providing its name and a description.
@@ -162,6 +162,11 @@ class CLIMain {
162
162
  getCommand(name) {
163
163
  return this.commands.find(command => (0, _getCommandId().getCommandId)(command.name) === name);
164
164
  }
165
+ getCommandByNameOrAlias(name) {
166
+ const command = this.getCommand(name);
167
+ if (command) return command;
168
+ return this.commands.find(cmd => cmd.alias === name);
169
+ }
165
170
 
166
171
  /**
167
172
  * when running `bit help`, commands are grouped by categories.
@@ -221,7 +226,8 @@ class CLIMain {
221
226
  async run(hasWorkspace) {
222
227
  await this.invokeOnStart(hasWorkspace);
223
228
  const CliParser = new (_cliParser().CLIParser)(this.commands, this.groups, this.onCommandStartSlot);
224
- await CliParser.parse();
229
+ const commandRunner = await CliParser.parse();
230
+ await commandRunner.runCommand();
225
231
  }
226
232
  async invokeOnStart(hasWorkspace) {
227
233
  const onStartFns = this.onStartSlot.values();
@@ -1 +1 @@
1
- {"version":3,"names":["_harmony","data","require","_logger","_interopRequireDefault","_pMapSeries","_commandGroups","_hostInitializer","_consumer","_logger2","_lodash","_cli","_getCommandId","_cliParser","_completion","_cli2","_help","_version","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CLIMain","constructor","commandsSlot","onStartSlot","onCommandStartSlot","onBeforeExitSlot","logger","clone","groups","register","commands","forEach","command","setDefaults","cmd","unregister","commandName","toArray","aspectId","filteredCommands","filter","getCommandId","name","map","set","values","flat","getCommand","find","registerGroup","description","consoleWarning","registerOnStart","onStartFn","registerOnCommandStart","onCommandStartFn","registerOnBeforeExit","onBeforeExitFn","legacyLogger","registerOnBeforeExitFn","run","hasWorkspace","invokeOnStart","CliParser","CLIParser","parse","onStartFns","foundCmd","findCommandByArgv","currentCommandName","process","argv","pMapSeries","onStart","alias","extendedDescription","group","options","private","trim","loader","undefined","loadAspects","helpUrl","isFullUrl","provider","loggerMain","config","createLogger","CLIAspect","id","cliMain","ensureWorkspaceAndScope","cliGenerateCmd","CliGenerateCmd","cliCmd","CliCmd","helpCmd","HelpCmd","push","CompletionCmd","VersionCmd","exports","LoggerAspect","MainRuntime","Slot","withType","addRuntime","loadConsumerIfExist","err","potentialWsPath","cwd","consumerInfo","getConsumerInfo","hasScope","hasBitMap","hasConsumerConfig","HostInitializerMain","init","url","startsWith"],"sources":["cli.main.runtime.ts"],"sourcesContent":["import { Slot, SlotRegistry } from '@teambit/harmony';\nimport legacyLogger from '@teambit/legacy/dist/logger/logger';\nimport { CLIArgs, Flags, Command } from '@teambit/legacy/dist/cli/command';\nimport pMapSeries from 'p-map-series';\nimport { groups, GroupsType } from '@teambit/legacy/dist/cli/command-groups';\nimport { HostInitializerMain } from '@teambit/host-initializer';\nimport { loadConsumerIfExist, getConsumerInfo } from '@teambit/legacy/dist/consumer';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { clone } from 'lodash';\nimport { CLIAspect, MainRuntime } from './cli.aspect';\nimport { getCommandId } from './get-command-id';\nimport { CLIParser, findCommandByArgv } from './cli-parser';\nimport { CompletionCmd } from './completion.cmd';\nimport { CliCmd, CliGenerateCmd } from './cli.cmd';\nimport { HelpCmd } from './help.cmd';\nimport { VersionCmd } from './version.cmd';\n\nexport type CommandList = Array<Command>;\nexport type OnStart = (hasWorkspace: boolean, currentCommand: string, commandObject?: Command) => Promise<void>;\nexport type OnCommandStart = (commandName: string, args: CLIArgs, flags: Flags) => Promise<void>;\nexport type OnBeforeExitFn = () => Promise<void>;\n\nexport type OnStartSlot = SlotRegistry<OnStart>;\nexport type OnCommandStartSlot = SlotRegistry<OnCommandStart>;\nexport type CommandsSlot = SlotRegistry<CommandList>;\nexport type OnBeforeExitSlot = SlotRegistry<OnBeforeExitFn>;\n\nexport class CLIMain {\n public groups: GroupsType = clone(groups); // if it's not cloned, it is cached across loadBit() instances\n constructor(\n private commandsSlot: CommandsSlot,\n private onStartSlot: OnStartSlot,\n readonly onCommandStartSlot: OnCommandStartSlot,\n private onBeforeExitSlot: OnBeforeExitSlot,\n private logger: Logger\n ) {}\n\n /**\n * registers a new command in to the CLI.\n */\n register(...commands: CommandList) {\n commands.forEach((command) => {\n this.setDefaults(command);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n command.commands!.forEach((cmd) => this.setDefaults(cmd));\n });\n this.commandsSlot.register(commands);\n }\n\n /**\n * helpful for having the same command name in different environments (e.g. legacy and non-legacy).\n * for example `cli.unregister('tag');` removes the \"bit tag\" command.\n */\n unregister(commandName: string) {\n this.commandsSlot.toArray().forEach(([aspectId, commands]) => {\n const filteredCommands = commands.filter((command) => {\n return getCommandId(command.name) !== commandName;\n });\n this.commandsSlot.map.set(aspectId, filteredCommands);\n });\n }\n\n /**\n * list of all registered commands. (legacy and new).\n */\n get commands(): CommandList {\n return this.commandsSlot.values().flat();\n }\n\n /**\n * get an instance of a registered command. (useful for aspects to modify and extend existing commands)\n */\n getCommand(name: string): Command | undefined {\n return this.commands.find((command) => getCommandId(command.name) === name);\n }\n\n /**\n * when running `bit help`, commands are grouped by categories.\n * this method helps registering a new group by providing its name and a description.\n * the name is what needs to be assigned to the `group` property of the Command interface.\n * the description is what shown in the `bit help` output.\n */\n registerGroup(name: string, description: string) {\n if (this.groups[name]) {\n this.logger.consoleWarning(`CLI group \"${name}\" is already registered`);\n } else {\n this.groups[name] = description;\n }\n }\n\n /**\n * onStart is when bootstrapping the CLI. (it happens before onCommandStart)\n */\n registerOnStart(onStartFn: OnStart) {\n this.onStartSlot.register(onStartFn);\n return this;\n }\n\n /**\n * onCommandStart is when a command is about to start and we have the command object and the parsed args and flags\n * already. (it happens after onStart)\n */\n registerOnCommandStart(onCommandStartFn: OnCommandStart) {\n this.onCommandStartSlot.register(onCommandStartFn);\n return this;\n }\n\n /**\n * This will register a function to be called before the process exits.\n * This will run only for \"regular\" exits\n * e.g.\n * yes - command run and finished successfully\n * yes - command run and failed gracefully (code 1)\n * not SIGKILL (kill -9)\n * not SIGINT (Ctrl+C)\n * not SIGTERM (kill)\n * not uncaughtException\n * not unhandledRejection\n *\n * @param onBeforeExitFn\n * @returns\n */\n registerOnBeforeExit(onBeforeExitFn: OnBeforeExitFn) {\n this.onBeforeExitSlot.register(onBeforeExitFn);\n legacyLogger.registerOnBeforeExitFn(onBeforeExitFn);\n return this;\n }\n\n /**\n * execute commands registered to this aspect.\n */\n async run(hasWorkspace: boolean) {\n await this.invokeOnStart(hasWorkspace);\n const CliParser = new CLIParser(this.commands, this.groups, this.onCommandStartSlot);\n await CliParser.parse();\n }\n\n private async invokeOnStart(hasWorkspace: boolean) {\n const onStartFns = this.onStartSlot.values();\n const foundCmd = findCommandByArgv(this.commands);\n const currentCommandName = process.argv[2];\n await pMapSeries(onStartFns, (onStart) => onStart(hasWorkspace, currentCommandName, foundCmd));\n }\n\n private setDefaults(command: Command) {\n command.alias = command.alias || '';\n command.description = command.description || '';\n command.extendedDescription = command.extendedDescription || '';\n command.group = command.group || 'ungrouped';\n command.options = command.options || [];\n command.private = command.private || false;\n command.commands = command.commands || [];\n command.name = command.name.trim();\n if (command.loader === undefined) {\n command.loader = true;\n }\n if (command.loadAspects === undefined) {\n command.loadAspects = true;\n }\n if (command.helpUrl && !isFullUrl(command.helpUrl)) {\n command.helpUrl = `https://bit.dev/${command.helpUrl}`;\n }\n }\n\n static dependencies = [LoggerAspect];\n static runtime = MainRuntime;\n static slots = [\n Slot.withType<CommandList>(),\n Slot.withType<OnStart>(),\n Slot.withType<OnCommandStart>(),\n Slot.withType<OnBeforeExitFn>(),\n ];\n\n static async provider(\n [loggerMain]: [LoggerMain],\n config,\n [commandsSlot, onStartSlot, onCommandStartSlot, onBeforeExitSlot]: [\n CommandsSlot,\n OnStartSlot,\n OnCommandStartSlot,\n OnBeforeExitSlot\n ]\n ) {\n const logger = loggerMain.createLogger(CLIAspect.id);\n const cliMain = new CLIMain(commandsSlot, onStartSlot, onCommandStartSlot, onBeforeExitSlot, logger);\n await ensureWorkspaceAndScope();\n const cliGenerateCmd = new CliGenerateCmd(cliMain);\n const cliCmd = new CliCmd(cliMain);\n const helpCmd = new HelpCmd(cliMain);\n cliCmd.commands.push(cliGenerateCmd);\n cliMain.register(new CompletionCmd(), cliCmd, helpCmd, new VersionCmd());\n return cliMain;\n }\n}\n\nCLIAspect.addRuntime(CLIMain);\n\n/**\n * kind of a hack.\n * in the legacy, this is running at the beginning and it take care of issues when Bit files are missing,\n * such as \".bit\".\n * (to make this process better, you can easily remove it and run the e2e-tests. you'll see some failing)\n */\nasync function ensureWorkspaceAndScope() {\n try {\n await loadConsumerIfExist();\n } catch (err) {\n const potentialWsPath = process.cwd();\n const consumerInfo = await getConsumerInfo(potentialWsPath);\n if (consumerInfo && !consumerInfo.hasScope && consumerInfo.hasBitMap && consumerInfo.hasConsumerConfig) {\n await HostInitializerMain.init(potentialWsPath);\n }\n // do nothing. it could fail for example with ScopeNotFound error, which is taken care of in \"bit init\".\n }\n}\n\nfunction isFullUrl(url: string) {\n return url.startsWith('http://') || url.startsWith('https://');\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_harmony","data","require","_logger","_interopRequireDefault","_pMapSeries","_commandGroups","_hostInitializer","_consumer","_logger2","_lodash","_cli","_getCommandId","_cliParser","_completion","_cli2","_help","_version","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CLIMain","constructor","commandsSlot","onStartSlot","onCommandStartSlot","onBeforeExitSlot","logger","clone","groups","register","commands","forEach","command","setDefaults","cmd","unregister","commandName","toArray","aspectId","filteredCommands","filter","getCommandId","name","map","set","values","flat","getCommand","find","getCommandByNameOrAlias","alias","registerGroup","description","consoleWarning","registerOnStart","onStartFn","registerOnCommandStart","onCommandStartFn","registerOnBeforeExit","onBeforeExitFn","legacyLogger","registerOnBeforeExitFn","run","hasWorkspace","invokeOnStart","CliParser","CLIParser","commandRunner","parse","runCommand","onStartFns","foundCmd","findCommandByArgv","currentCommandName","process","argv","pMapSeries","onStart","extendedDescription","group","options","private","trim","loader","undefined","loadAspects","helpUrl","isFullUrl","provider","loggerMain","config","createLogger","CLIAspect","id","cliMain","ensureWorkspaceAndScope","cliGenerateCmd","CliGenerateCmd","cliCmd","CliCmd","helpCmd","HelpCmd","push","CompletionCmd","VersionCmd","exports","LoggerAspect","MainRuntime","Slot","withType","addRuntime","loadConsumerIfExist","err","potentialWsPath","cwd","consumerInfo","getConsumerInfo","hasScope","hasBitMap","hasConsumerConfig","HostInitializerMain","init","url","startsWith"],"sources":["cli.main.runtime.ts"],"sourcesContent":["import { Slot, SlotRegistry } from '@teambit/harmony';\nimport legacyLogger from '@teambit/legacy/dist/logger/logger';\nimport { CLIArgs, Flags, Command } from '@teambit/legacy/dist/cli/command';\nimport pMapSeries from 'p-map-series';\nimport { groups, GroupsType } from '@teambit/legacy/dist/cli/command-groups';\nimport { HostInitializerMain } from '@teambit/host-initializer';\nimport { loadConsumerIfExist, getConsumerInfo } from '@teambit/legacy/dist/consumer';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { clone } from 'lodash';\nimport { CLIAspect, MainRuntime } from './cli.aspect';\nimport { getCommandId } from './get-command-id';\nimport { CLIParser, findCommandByArgv } from './cli-parser';\nimport { CompletionCmd } from './completion.cmd';\nimport { CliCmd, CliGenerateCmd } from './cli.cmd';\nimport { HelpCmd } from './help.cmd';\nimport { VersionCmd } from './version.cmd';\n\nexport type CommandList = Array<Command>;\nexport type OnStart = (hasWorkspace: boolean, currentCommand: string, commandObject?: Command) => Promise<void>;\nexport type OnCommandStart = (commandName: string, args: CLIArgs, flags: Flags) => Promise<void>;\nexport type OnBeforeExitFn = () => Promise<void>;\n\nexport type OnStartSlot = SlotRegistry<OnStart>;\nexport type OnCommandStartSlot = SlotRegistry<OnCommandStart>;\nexport type CommandsSlot = SlotRegistry<CommandList>;\nexport type OnBeforeExitSlot = SlotRegistry<OnBeforeExitFn>;\n\nexport class CLIMain {\n public groups: GroupsType = clone(groups); // if it's not cloned, it is cached across loadBit() instances\n constructor(\n private commandsSlot: CommandsSlot,\n private onStartSlot: OnStartSlot,\n readonly onCommandStartSlot: OnCommandStartSlot,\n private onBeforeExitSlot: OnBeforeExitSlot,\n private logger: Logger\n ) {}\n\n /**\n * registers a new command in to the CLI.\n */\n register(...commands: CommandList) {\n commands.forEach((command) => {\n this.setDefaults(command);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n command.commands!.forEach((cmd) => this.setDefaults(cmd));\n });\n this.commandsSlot.register(commands);\n }\n\n /**\n * helpful for having the same command name in different environments (e.g. legacy and non-legacy).\n * for example `cli.unregister('tag');` removes the \"bit tag\" command.\n */\n unregister(commandName: string) {\n this.commandsSlot.toArray().forEach(([aspectId, commands]) => {\n const filteredCommands = commands.filter((command) => {\n return getCommandId(command.name) !== commandName;\n });\n this.commandsSlot.map.set(aspectId, filteredCommands);\n });\n }\n\n /**\n * list of all registered commands. (legacy and new).\n */\n get commands(): CommandList {\n return this.commandsSlot.values().flat();\n }\n\n /**\n * get an instance of a registered command. (useful for aspects to modify and extend existing commands)\n */\n getCommand(name: string): Command | undefined {\n return this.commands.find((command) => getCommandId(command.name) === name);\n }\n\n getCommandByNameOrAlias(name: string): Command | undefined {\n const command = this.getCommand(name);\n if (command) return command;\n return this.commands.find((cmd) => cmd.alias === name);\n }\n\n /**\n * when running `bit help`, commands are grouped by categories.\n * this method helps registering a new group by providing its name and a description.\n * the name is what needs to be assigned to the `group` property of the Command interface.\n * the description is what shown in the `bit help` output.\n */\n registerGroup(name: string, description: string) {\n if (this.groups[name]) {\n this.logger.consoleWarning(`CLI group \"${name}\" is already registered`);\n } else {\n this.groups[name] = description;\n }\n }\n\n /**\n * onStart is when bootstrapping the CLI. (it happens before onCommandStart)\n */\n registerOnStart(onStartFn: OnStart) {\n this.onStartSlot.register(onStartFn);\n return this;\n }\n\n /**\n * onCommandStart is when a command is about to start and we have the command object and the parsed args and flags\n * already. (it happens after onStart)\n */\n registerOnCommandStart(onCommandStartFn: OnCommandStart) {\n this.onCommandStartSlot.register(onCommandStartFn);\n return this;\n }\n\n /**\n * This will register a function to be called before the process exits.\n * This will run only for \"regular\" exits\n * e.g.\n * yes - command run and finished successfully\n * yes - command run and failed gracefully (code 1)\n * not SIGKILL (kill -9)\n * not SIGINT (Ctrl+C)\n * not SIGTERM (kill)\n * not uncaughtException\n * not unhandledRejection\n *\n * @param onBeforeExitFn\n * @returns\n */\n registerOnBeforeExit(onBeforeExitFn: OnBeforeExitFn) {\n this.onBeforeExitSlot.register(onBeforeExitFn);\n legacyLogger.registerOnBeforeExitFn(onBeforeExitFn);\n return this;\n }\n\n /**\n * execute commands registered to this aspect.\n */\n async run(hasWorkspace: boolean) {\n await this.invokeOnStart(hasWorkspace);\n const CliParser = new CLIParser(this.commands, this.groups, this.onCommandStartSlot);\n const commandRunner = await CliParser.parse();\n await commandRunner.runCommand();\n }\n\n private async invokeOnStart(hasWorkspace: boolean) {\n const onStartFns = this.onStartSlot.values();\n const foundCmd = findCommandByArgv(this.commands);\n const currentCommandName = process.argv[2];\n await pMapSeries(onStartFns, (onStart) => onStart(hasWorkspace, currentCommandName, foundCmd));\n }\n\n private setDefaults(command: Command) {\n command.alias = command.alias || '';\n command.description = command.description || '';\n command.extendedDescription = command.extendedDescription || '';\n command.group = command.group || 'ungrouped';\n command.options = command.options || [];\n command.private = command.private || false;\n command.commands = command.commands || [];\n command.name = command.name.trim();\n if (command.loader === undefined) {\n command.loader = true;\n }\n if (command.loadAspects === undefined) {\n command.loadAspects = true;\n }\n if (command.helpUrl && !isFullUrl(command.helpUrl)) {\n command.helpUrl = `https://bit.dev/${command.helpUrl}`;\n }\n }\n\n static dependencies = [LoggerAspect];\n static runtime = MainRuntime;\n static slots = [\n Slot.withType<CommandList>(),\n Slot.withType<OnStart>(),\n Slot.withType<OnCommandStart>(),\n Slot.withType<OnBeforeExitFn>(),\n ];\n\n static async provider(\n [loggerMain]: [LoggerMain],\n config,\n [commandsSlot, onStartSlot, onCommandStartSlot, onBeforeExitSlot]: [\n CommandsSlot,\n OnStartSlot,\n OnCommandStartSlot,\n OnBeforeExitSlot\n ]\n ) {\n const logger = loggerMain.createLogger(CLIAspect.id);\n const cliMain = new CLIMain(commandsSlot, onStartSlot, onCommandStartSlot, onBeforeExitSlot, logger);\n await ensureWorkspaceAndScope();\n const cliGenerateCmd = new CliGenerateCmd(cliMain);\n const cliCmd = new CliCmd(cliMain);\n const helpCmd = new HelpCmd(cliMain);\n cliCmd.commands.push(cliGenerateCmd);\n cliMain.register(new CompletionCmd(), cliCmd, helpCmd, new VersionCmd());\n return cliMain;\n }\n}\n\nCLIAspect.addRuntime(CLIMain);\n\n/**\n * kind of a hack.\n * in the legacy, this is running at the beginning and it take care of issues when Bit files are missing,\n * such as \".bit\".\n * (to make this process better, you can easily remove it and run the e2e-tests. you'll see some failing)\n */\nasync function ensureWorkspaceAndScope() {\n try {\n await loadConsumerIfExist();\n } catch (err) {\n const potentialWsPath = process.cwd();\n const consumerInfo = await getConsumerInfo(potentialWsPath);\n if (consumerInfo && !consumerInfo.hasScope && consumerInfo.hasBitMap && consumerInfo.hasConsumerConfig) {\n await HostInitializerMain.init(potentialWsPath);\n }\n // do nothing. it could fail for example with ScopeNotFound error, which is taken care of in \"bit init\".\n }\n}\n\nfunction isFullUrl(url: string) {\n return url.startsWith('http://') || url.startsWith('https://');\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,9 @@
1
1
  import { CLIArgs, Command, Flags } from '@teambit/legacy/dist/cli/command';
2
2
  import { OnCommandStartSlot } from './cli.main.runtime';
3
+ type CommandResult = {
4
+ data: any;
5
+ exitCode: number;
6
+ };
3
7
  export declare class CommandRunner {
4
8
  private command;
5
9
  private args;
@@ -10,7 +14,7 @@ export declare class CommandRunner {
10
14
  /**
11
15
  * run command using one of the handler, "json"/"report"/"render". once done, exit the process.
12
16
  */
13
- runCommand(): Promise<boolean | void | null>;
17
+ runCommand(shouldReturnResult?: boolean): Promise<void | CommandResult>;
14
18
  private bootstrapCommand;
15
19
  private invokeOnCommandStart;
16
20
  /**
@@ -28,3 +32,4 @@ export declare class CommandRunner {
28
32
  private writeAndExit;
29
33
  }
30
34
  export declare function parseCommandName(commandName: string): string;
35
+ export {};
@@ -73,21 +73,22 @@ class CommandRunner {
73
73
  /**
74
74
  * run command using one of the handler, "json"/"report"/"render". once done, exit the process.
75
75
  */
76
- async runCommand() {
76
+ async runCommand(shouldReturnResult = false) {
77
77
  try {
78
78
  this.bootstrapCommand();
79
79
  await this.invokeOnCommandStart();
80
80
  this.determineConsoleWritingDuringCommand();
81
81
  if (this.flags.json) {
82
- return await this.runJsonHandler();
82
+ return await this.runJsonHandler(shouldReturnResult);
83
83
  }
84
84
  if (this.command.report) {
85
- return await this.runReportHandler();
85
+ return await this.runReportHandler(shouldReturnResult);
86
86
  }
87
87
  if (this.command.wait) {
88
88
  return await this.runWaitHandler();
89
89
  }
90
90
  } catch (err) {
91
+ if (shouldReturnResult) throw err;
91
92
  return (0, _handleErrors().handleErrorAndExit)(err, this.commandName);
92
93
  }
93
94
  throw new Error(`command "${this.commandName}" doesn't implement "render" nor "report" nor "wait" methods`);
@@ -112,21 +113,29 @@ class CommandRunner {
112
113
  * this works for both, Harmony commands and Legacy commands (the legacy-command-adapter
113
114
  * implements json() method)
114
115
  */
115
- async runJsonHandler() {
116
- if (!this.flags.json) return null;
116
+ async runJsonHandler(shouldReturnResult = false) {
117
+ if (!this.flags.json) return undefined;
117
118
  if (!this.command.json) throw new Error(`command "${this.commandName}" doesn't implement "json" method`);
118
119
  const result = await this.command.json(this.args, this.flags);
119
120
  const code = result.code || 0;
120
121
  const data = result.data || result;
121
- return this.writeAndExit(JSON.stringify(data, null, 2), code);
122
+ if (shouldReturnResult) return {
123
+ data,
124
+ exitCode: code
125
+ };
126
+ await this.writeAndExit(JSON.stringify(data, null, 2), code);
122
127
  }
123
- async runReportHandler() {
128
+ async runReportHandler(shouldReturnResult = false) {
124
129
  if (!this.command.report) throw new Error('runReportHandler expects command.report to be implemented');
125
130
  const result = await this.command.report(this.args, this.flags);
126
131
  _loader().default.off();
127
132
  const data = typeof result === 'string' ? result : result.data;
128
133
  const exitCode = typeof result === 'string' ? 0 : result.code;
129
- return this.writeAndExit(`${data}\n`, exitCode);
134
+ if (shouldReturnResult) return {
135
+ data,
136
+ exitCode
137
+ };
138
+ await this.writeAndExit(`${data}\n`, exitCode);
130
139
  }
131
140
  async runWaitHandler() {
132
141
  if (!this.command.wait) throw new Error('runReportHandler expects command.wait to be implemented');
@@ -1 +1 @@
1
- {"version":3,"names":["_logger","data","_interopRequireWildcard","require","_loader","_interopRequireDefault","_handleErrors","_constants","_globalFlags","_legacy","_pMapSeries","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","CommandRunner","constructor","command","args","flags","onCommandStartSlot","commandName","parseCommandName","name","runCommand","bootstrapCommand","invokeOnCommandStart","determineConsoleWritingDuringCommand","json","runJsonHandler","report","runReportHandler","wait","runWaitHandler","err","handleErrorAndExit","Error","Analytics","init","logger","info","token","TOKEN_FLAG_NAME","globalFlags","toString","funcs","values","pMapSeries","onCommandStart","result","code","writeAndExit","JSON","stringify","loader","off","exitCode","shouldDisableLoader","on","start","shouldWriteToConsole","process","stdout","write","exitAfterFlush","exports","split"],"sources":["command-runner.ts"],"sourcesContent":["import logger, { shouldDisableLoader } from '@teambit/legacy/dist/logger/logger';\nimport { CLIArgs, Command, Flags } from '@teambit/legacy/dist/cli/command';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport { handleErrorAndExit } from './handle-errors';\nimport { TOKEN_FLAG_NAME } from '@teambit/legacy/dist/constants';\nimport globalFlags from '@teambit/legacy/dist/cli/global-flags';\nimport { Analytics } from '@teambit/legacy.analytics';\nimport { OnCommandStartSlot } from './cli.main.runtime';\nimport pMapSeries from 'p-map-series';\n\nexport class CommandRunner {\n private commandName: string;\n constructor(\n private command: Command,\n private args: CLIArgs,\n private flags: Flags,\n private onCommandStartSlot: OnCommandStartSlot\n ) {\n this.commandName = parseCommandName(this.command.name);\n }\n\n /**\n * run command using one of the handler, \"json\"/\"report\"/\"render\". once done, exit the process.\n */\n async runCommand() {\n try {\n this.bootstrapCommand();\n await this.invokeOnCommandStart();\n this.determineConsoleWritingDuringCommand();\n if (this.flags.json) {\n return await this.runJsonHandler();\n }\n if (this.command.report) {\n return await this.runReportHandler();\n }\n if (this.command.wait) {\n return await this.runWaitHandler();\n }\n } catch (err: any) {\n return handleErrorAndExit(err, this.commandName);\n }\n\n throw new Error(`command \"${this.commandName}\" doesn't implement \"render\" nor \"report\" nor \"wait\" methods`);\n }\n\n private bootstrapCommand() {\n Analytics.init(this.commandName, this.flags, this.args);\n logger.info(`[*] started a new command: \"${this.commandName}\" with the following data:`, {\n args: this.args,\n flags: this.flags,\n });\n const token = this.flags[TOKEN_FLAG_NAME];\n if (token) {\n globalFlags.token = token.toString();\n }\n }\n\n private async invokeOnCommandStart() {\n const funcs = this.onCommandStartSlot.values();\n await pMapSeries(funcs, (onCommandStart) => onCommandStart(this.commandName, this.args, this.flags));\n }\n\n /**\n * this works for both, Harmony commands and Legacy commands (the legacy-command-adapter\n * implements json() method)\n */\n private async runJsonHandler() {\n if (!this.flags.json) return null;\n if (!this.command.json) throw new Error(`command \"${this.commandName}\" doesn't implement \"json\" method`);\n const result = await this.command.json(this.args, this.flags);\n const code = result.code || 0;\n const data = result.data || result;\n return this.writeAndExit(JSON.stringify(data, null, 2), code);\n }\n\n private async runReportHandler() {\n if (!this.command.report) throw new Error('runReportHandler expects command.report to be implemented');\n const result = await this.command.report(this.args, this.flags);\n loader.off();\n const data = typeof result === 'string' ? result : result.data;\n const exitCode = typeof result === 'string' ? 0 : result.code;\n return this.writeAndExit(`${data}\\n`, exitCode);\n }\n\n private async runWaitHandler() {\n if (!this.command.wait) throw new Error('runReportHandler expects command.wait to be implemented');\n await this.command.wait(this.args, this.flags);\n }\n\n /**\n * the loader and logger.console write output to the console during the command execution.\n * for internals commands, such as, _put, _fetch, the command.loader = false.\n */\n private determineConsoleWritingDuringCommand() {\n if (this.command.loader && !this.flags.json && !this.flags['get-yargs-completions'] && !shouldDisableLoader) {\n loader.on();\n loader.start(`running command \"${this.commandName}\"...`);\n logger.shouldWriteToConsole = true;\n } else {\n loader.off();\n logger.shouldWriteToConsole = false;\n }\n }\n\n private async writeAndExit(data: string, exitCode: number) {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n return process.stdout.write(data, async () => logger.exitAfterFlush(exitCode, this.commandName, data));\n }\n}\n\nexport function parseCommandName(commandName: string): string {\n if (!commandName) return '';\n return commandName.split(' ')[0];\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_logger","data","_interopRequireWildcard","require","_loader","_interopRequireDefault","_handleErrors","_constants","_globalFlags","_legacy","_pMapSeries","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","CommandRunner","constructor","command","args","flags","onCommandStartSlot","commandName","parseCommandName","name","runCommand","shouldReturnResult","bootstrapCommand","invokeOnCommandStart","determineConsoleWritingDuringCommand","json","runJsonHandler","report","runReportHandler","wait","runWaitHandler","err","handleErrorAndExit","Error","Analytics","init","logger","info","token","TOKEN_FLAG_NAME","globalFlags","toString","funcs","values","pMapSeries","onCommandStart","undefined","result","code","exitCode","writeAndExit","JSON","stringify","loader","off","shouldDisableLoader","on","start","shouldWriteToConsole","process","stdout","write","exitAfterFlush","exports","split"],"sources":["command-runner.ts"],"sourcesContent":["import logger, { shouldDisableLoader } from '@teambit/legacy/dist/logger/logger';\nimport { CLIArgs, Command, Flags } from '@teambit/legacy/dist/cli/command';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport { handleErrorAndExit } from './handle-errors';\nimport { TOKEN_FLAG_NAME } from '@teambit/legacy/dist/constants';\nimport globalFlags from '@teambit/legacy/dist/cli/global-flags';\nimport { Analytics } from '@teambit/legacy.analytics';\nimport { OnCommandStartSlot } from './cli.main.runtime';\nimport pMapSeries from 'p-map-series';\n\ntype CommandResult = { data: any; exitCode: number };\n\nexport class CommandRunner {\n private commandName: string;\n constructor(\n private command: Command,\n private args: CLIArgs,\n private flags: Flags,\n private onCommandStartSlot: OnCommandStartSlot\n ) {\n this.commandName = parseCommandName(this.command.name);\n }\n\n /**\n * run command using one of the handler, \"json\"/\"report\"/\"render\". once done, exit the process.\n */\n async runCommand(shouldReturnResult = false): Promise<void | CommandResult> {\n try {\n this.bootstrapCommand();\n await this.invokeOnCommandStart();\n this.determineConsoleWritingDuringCommand();\n if (this.flags.json) {\n return await this.runJsonHandler(shouldReturnResult);\n }\n if (this.command.report) {\n return await this.runReportHandler(shouldReturnResult);\n }\n if (this.command.wait) {\n return await this.runWaitHandler();\n }\n } catch (err: any) {\n if (shouldReturnResult) throw err;\n return handleErrorAndExit(err, this.commandName);\n }\n\n throw new Error(`command \"${this.commandName}\" doesn't implement \"render\" nor \"report\" nor \"wait\" methods`);\n }\n\n private bootstrapCommand() {\n Analytics.init(this.commandName, this.flags, this.args);\n logger.info(`[*] started a new command: \"${this.commandName}\" with the following data:`, {\n args: this.args,\n flags: this.flags,\n });\n const token = this.flags[TOKEN_FLAG_NAME];\n if (token) {\n globalFlags.token = token.toString();\n }\n }\n\n private async invokeOnCommandStart() {\n const funcs = this.onCommandStartSlot.values();\n await pMapSeries(funcs, (onCommandStart) => onCommandStart(this.commandName, this.args, this.flags));\n }\n\n /**\n * this works for both, Harmony commands and Legacy commands (the legacy-command-adapter\n * implements json() method)\n */\n private async runJsonHandler(shouldReturnResult = false): Promise<CommandResult | undefined> {\n if (!this.flags.json) return undefined;\n if (!this.command.json) throw new Error(`command \"${this.commandName}\" doesn't implement \"json\" method`);\n const result = await this.command.json(this.args, this.flags);\n const code = result.code || 0;\n const data = result.data || result;\n if (shouldReturnResult) return { data, exitCode: code };\n await this.writeAndExit(JSON.stringify(data, null, 2), code);\n }\n\n private async runReportHandler(shouldReturnResult = false): Promise<CommandResult | undefined> {\n if (!this.command.report) throw new Error('runReportHandler expects command.report to be implemented');\n const result = await this.command.report(this.args, this.flags);\n loader.off();\n const data = typeof result === 'string' ? result : result.data;\n const exitCode = typeof result === 'string' ? 0 : result.code;\n if (shouldReturnResult) return { data, exitCode };\n await this.writeAndExit(`${data}\\n`, exitCode);\n }\n\n private async runWaitHandler() {\n if (!this.command.wait) throw new Error('runReportHandler expects command.wait to be implemented');\n await this.command.wait(this.args, this.flags);\n }\n\n /**\n * the loader and logger.console write output to the console during the command execution.\n * for internals commands, such as, _put, _fetch, the command.loader = false.\n */\n private determineConsoleWritingDuringCommand() {\n if (this.command.loader && !this.flags.json && !this.flags['get-yargs-completions'] && !shouldDisableLoader) {\n loader.on();\n loader.start(`running command \"${this.commandName}\"...`);\n logger.shouldWriteToConsole = true;\n } else {\n loader.off();\n logger.shouldWriteToConsole = false;\n }\n }\n\n private async writeAndExit(data: string, exitCode: number) {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n return process.stdout.write(data, async () => logger.exitAfterFlush(exitCode, this.commandName, data));\n }\n}\n\nexport function parseCommandName(commandName: string): string {\n if (!commandName) return '';\n return commandName.split(' ')[0];\n}\n"],"mappings":"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","ignoreList":[]}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { CLIAspect, MainRuntime } from './cli.aspect';
2
+ export { CLIParser } from './cli-parser';
2
3
  export type { CLIMain, CommandList, CommandsSlot } from './cli.main.runtime';
3
4
  export { handleUnhandledRejection, handleErrorAndExit } from './handle-errors';
4
5
  export type { Command, CLIArgs, Flags, GenericObject, CommandOptions } from '@teambit/legacy/dist/cli/command';
package/dist/index.js CHANGED
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  var _exportNames = {
7
7
  CLIAspect: true,
8
8
  MainRuntime: true,
9
+ CLIParser: true,
9
10
  handleUnhandledRejection: true,
10
11
  handleErrorAndExit: true
11
12
  };
@@ -15,6 +16,12 @@ Object.defineProperty(exports, "CLIAspect", {
15
16
  return _cli().CLIAspect;
16
17
  }
17
18
  });
19
+ Object.defineProperty(exports, "CLIParser", {
20
+ enumerable: true,
21
+ get: function () {
22
+ return _cliParser().CLIParser;
23
+ }
24
+ });
18
25
  Object.defineProperty(exports, "MainRuntime", {
19
26
  enumerable: true,
20
27
  get: function () {
@@ -46,6 +53,13 @@ function _cli() {
46
53
  };
47
54
  return data;
48
55
  }
56
+ function _cliParser() {
57
+ const data = require("./cli-parser");
58
+ _cliParser = function () {
59
+ return data;
60
+ };
61
+ return data;
62
+ }
49
63
  function _handleErrors() {
50
64
  const data = require("./handle-errors");
51
65
  _handleErrors = function () {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_handleErrors","_exceptions","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["import { CLIAspect, MainRuntime } from './cli.aspect';\n\nexport type { CLIMain, CommandList, CommandsSlot } from './cli.main.runtime';\nexport { handleUnhandledRejection, handleErrorAndExit } from './handle-errors';\nexport type { Command, CLIArgs, Flags, GenericObject, CommandOptions } from '@teambit/legacy/dist/cli/command';\nexport * from './exceptions';\n\nexport { CLIAspect as default, MainRuntime, CLIAspect };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAAA,KAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAE,cAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,aAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAG,WAAA,GAAAF,OAAA;AAAAG,MAAA,CAAAC,IAAA,CAAAF,WAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,WAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,WAAA,CAAAI,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_cli","data","require","_cliParser","_handleErrors","_exceptions","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["import { CLIAspect, MainRuntime } from './cli.aspect';\nexport { CLIParser } from './cli-parser';\nexport type { CLIMain, CommandList, CommandsSlot } from './cli.main.runtime';\nexport { handleUnhandledRejection, handleErrorAndExit } from './handle-errors';\nexport type { Command, CLIArgs, Flags, GenericObject, CommandOptions } from '@teambit/legacy/dist/cli/command';\nexport * from './exceptions';\n\nexport { CLIAspect as default, MainRuntime, CLIAspect };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAAA,KAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,WAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,UAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,cAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,aAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAI,WAAA,GAAAH,OAAA;AAAAI,MAAA,CAAAC,IAAA,CAAAF,WAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,WAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,WAAA,CAAAI,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_cli@0.0.932/dist/cli.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_cli@0.0.932/dist/cli.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_cli@0.0.934/dist/cli.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_cli@0.0.934/dist/cli.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];