@teambit/cli 0.0.765 → 0.0.767

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.
@@ -4,9 +4,8 @@ import { GroupsType } from '@teambit/legacy/dist/cli/command-groups';
4
4
  export declare class CLIParser {
5
5
  private commands;
6
6
  private groups;
7
- private docsDomain;
8
7
  parser: yargs.Argv<{}>;
9
- constructor(commands: Command[], groups: GroupsType, docsDomain: string);
8
+ constructor(commands: Command[], groups: GroupsType);
10
9
  parse(args?: string[]): Promise<void>;
11
10
  private setHelpMiddleware;
12
11
  private handleCommandFailure;
@@ -94,10 +94,9 @@ function _commandNotFound() {
94
94
  return data;
95
95
  }
96
96
  class CLIParser {
97
- constructor(commands, groups, docsDomain) {
97
+ constructor(commands, groups) {
98
98
  this.commands = commands;
99
99
  this.groups = groups;
100
- this.docsDomain = docsDomain;
101
100
  (0, _defineProperty2().default)(this, "parser", _yargs().default);
102
101
  }
103
102
  async parse(args = process.argv.slice(2)) {
@@ -172,7 +171,7 @@ class CLIParser {
172
171
  });
173
172
  }
174
173
  printHelp(shouldShowInternalCommands = false) {
175
- const help = (0, _help().formatHelp)(this.commands, this.groups, this.docsDomain, shouldShowInternalCommands);
174
+ const help = (0, _help().formatHelp)(this.commands, this.groups, shouldShowInternalCommands);
176
175
  // eslint-disable-next-line no-console
177
176
  console.log(help);
178
177
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_didyoumean","data","_interopRequireDefault","require","_yargs","_lodash","_consumer","_logger","_loader","_chalk","_getCommandId","_help","_yargsAdapter","_commandNotFound","CLIParser","constructor","commands","groups","docsDomain","_defineProperty2","default","yargs","parse","args","process","argv","slice","throwForNonExistsCommand","logger","debug","join","help","configureParser","forEach","command","length","parseCommandWithSubCommands","yargsCommand","getYargsCommand","configureGlobalFlags","setHelpMiddleware","handleCommandFailure","configureCompletion","strict","wrap","middleware","_","shouldShowInternalCommands","Boolean","internal","printHelp","exit","loader","off","showHelp","logCommandHelp","bind","isDaemon","fail","msg","err","stop","isHelpFlagEntered","includes","isMsgAboutMissingArgs","startsWith","console","log","chalk","yellow","commandsToShowComponentIdsForCompletion","completion","current","completionFilter","done","consumer","loadConsumerIfExist","bitmapIdsFromCurrentLane","map","id","toStringWithoutVersion","formatHelp","parserConfiguration","yarnCommand","builderFunc","_command$commands","cmd","subCommand","options","YargsAdapter","getGlobalOptions","builder","handler","option","alias","describe","group","GLOBAL_GROUP","global","commandName","commandsNames","c","getCommandId","name","aliases","filter","a","existingGlobalFlags","validCommands","commandExist","didYouMean","returnFirstMatch","suggestions","private","suggestion","Array","isArray","CommandNotFound","findCommandByArgv","replacer","p1","p2","green","lines","split","linesWithoutEmpty","compact","cmdLine","description","globalOptions","subCommands","examples","optionsStarted","globalStarted","subCommandsStarted","positionalsStarted","examplesStarted","i","currentLine","STANDARD_GROUP","push","optionsColored","opt","replace","argsColored","arg","argName","optionsStr","argumentsStr","examplesStr","subCommandsStr","descriptionColored","desc","bold","extendedDescription","helpUrl","underline","descriptionStr","globalOptionsStr","finalOutput","enteredCommand","enteredSubCommand","undefined","isCommandMatch","str","find","exports"],"sources":["cli-parser.ts"],"sourcesContent":["import didYouMean from 'didyoumean';\nimport yargs from 'yargs';\nimport { Command } from '@teambit/legacy/dist/cli/command';\nimport { GroupsType } from '@teambit/legacy/dist/cli/command-groups';\nimport { compact } from 'lodash';\nimport { loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport chalk from 'chalk';\nimport { getCommandId } from './get-command-id';\nimport { formatHelp } from './help';\nimport { GLOBAL_GROUP, STANDARD_GROUP, YargsAdapter } from './yargs-adapter';\nimport { CommandNotFound } from './exceptions/command-not-found';\n\nexport class CLIParser {\n public parser = yargs;\n constructor(private commands: Command[], private groups: GroupsType, private docsDomain: string) {}\n\n async parse(args = process.argv.slice(2)) {\n this.throwForNonExistsCommand(args[0]);\n logger.debug(`[+] CLI-INPUT: ${args.join(' ')}`);\n yargs(args);\n yargs.help(false);\n this.configureParser();\n this.commands.forEach((command: Command) => {\n if (command.commands && command.commands.length) {\n this.parseCommandWithSubCommands(command);\n } else {\n const yargsCommand = this.getYargsCommand(command);\n yargs.command(yargsCommand);\n }\n });\n this.configureGlobalFlags();\n this.setHelpMiddleware();\n this.handleCommandFailure();\n this.configureCompletion();\n yargs.strict(); // don't allow non-exist flags and non-exist commands\n\n yargs\n // .recommendCommands() // don't use it, it brings the global help of yargs, we have a custom one\n .wrap(null);\n\n await yargs.parse();\n }\n\n private setHelpMiddleware() {\n yargs.middleware((argv) => {\n if (argv._.length === 0 && argv.help) {\n const shouldShowInternalCommands = Boolean(argv.internal);\n // this is the main help page\n this.printHelp(shouldShowInternalCommands);\n process.exit(0);\n }\n if (argv.help) {\n loader.off(); // stop the \"loading bit...\" before showing help if needed\n // this is a command help page\n yargs.showHelp(this.logCommandHelp.bind(this));\n if (!logger.isDaemon) process.exit(0);\n }\n }, true);\n }\n\n private handleCommandFailure() {\n yargs.fail((msg, err) => {\n loader.stop();\n if (err) {\n throw err;\n }\n yargs.showHelp(this.logCommandHelp.bind(this));\n const args = process.argv.slice(2);\n const isHelpFlagEntered = args.includes('--help') || args.includes('-h');\n const isMsgAboutMissingArgs = msg.startsWith('Not enough non-option arguments');\n // avoid showing the \"Not enough non-option arguments\" message when the user is trying to get the command help\n if (!isMsgAboutMissingArgs || !isHelpFlagEntered) {\n // eslint-disable-next-line no-console\n console.log(`\\n${chalk.yellow(msg)}`);\n }\n if (!logger.isDaemon) process.exit(1);\n });\n }\n\n private configureCompletion() {\n const commandsToShowComponentIdsForCompletion = [\n 'show',\n 'diff',\n 'tag',\n 'export',\n 'env',\n 'envs',\n 'compile',\n 'build',\n 'test',\n 'lint',\n 'log',\n 'dependents',\n 'dependencies',\n ];\n // @ts-ignore\n yargs.completion('completion', async function (current, argv, completionFilter, done) {\n if (!current.startsWith('-') && commandsToShowComponentIdsForCompletion.includes(argv._[1])) {\n const consumer = await loadConsumerIfExist();\n done(consumer?.bitmapIdsFromCurrentLane.map((id) => id.toStringWithoutVersion()));\n } else {\n completionFilter();\n }\n });\n }\n\n private printHelp(shouldShowInternalCommands = false) {\n const help = formatHelp(this.commands, this.groups, this.docsDomain, shouldShowInternalCommands);\n // eslint-disable-next-line no-console\n console.log(help);\n }\n\n private configureParser() {\n yargs.parserConfiguration({\n // 'strip-dashed': true, // we can't enable it, otherwise, the completion doesn't work\n 'strip-aliased': true,\n 'boolean-negation': false,\n 'populate--': true,\n });\n }\n\n private parseCommandWithSubCommands(command: Command) {\n const yarnCommand = this.getYargsCommand(command);\n const builderFunc = () => {\n command.commands?.forEach((cmd) => {\n const subCommand = this.getYargsCommand(cmd);\n yargs.command(subCommand);\n });\n // since the \"builder\" method is overridden, the global flags of the main command are gone, this fixes it.\n yargs.options(YargsAdapter.getGlobalOptions(command));\n return yargs;\n };\n yarnCommand.builder = builderFunc;\n yargs.command(yarnCommand);\n }\n\n private getYargsCommand(command: Command): YargsAdapter {\n const yarnCommand = new YargsAdapter(command);\n yarnCommand.builder = yarnCommand.builder.bind(yarnCommand);\n yarnCommand.handler = yarnCommand.handler.bind(yarnCommand);\n\n return yarnCommand;\n }\n\n private configureGlobalFlags() {\n yargs\n .option('help', {\n alias: 'h',\n describe: 'show help',\n group: GLOBAL_GROUP,\n })\n .option('version', {\n global: false,\n alias: 'v',\n describe: 'show version',\n group: GLOBAL_GROUP,\n });\n }\n\n private throwForNonExistsCommand(commandName: string) {\n if (!commandName || commandName.startsWith('-')) {\n return;\n }\n const commandsNames = this.commands.map((c) => getCommandId(c.name));\n const aliases = this.commands.map((c) => c.alias).filter((a) => a);\n const existingGlobalFlags = ['-V', '--version'];\n const validCommands = [...commandsNames, ...aliases, ...existingGlobalFlags];\n const commandExist = validCommands.includes(commandName);\n\n if (!commandExist) {\n didYouMean.returnFirstMatch = true;\n const suggestions = didYouMean(\n commandName,\n this.commands.filter((c) => !c.private).map((c) => getCommandId(c.name))\n );\n const suggestion = suggestions && Array.isArray(suggestions) ? suggestions[0] : suggestions;\n\n throw new CommandNotFound(commandName, suggestion as string);\n }\n }\n\n /**\n * manipulate the command help output. there is no API from Yarn to do any of this, so it needs to be done manually.\n * see https://github.com/yargs/yargs/issues/1956\n *\n * the original order of the output:\n * description\n * Options\n * Commands\n * Global\n * Positionals\n * Examples\n */\n private logCommandHelp(help: string) {\n const command = this.findCommandByArgv();\n\n const replacer = (_, p1, p2) => `${p1}${chalk.green(p2)}`;\n const lines = help.split('\\n');\n const linesWithoutEmpty = compact(lines);\n const cmdLine = linesWithoutEmpty[0];\n const description: string[] = [];\n const options: string[] = [];\n const globalOptions: string[] = [];\n const subCommands: string[] = [];\n const args: string[] = [];\n const examples: string[] = [];\n\n let optionsStarted = false;\n let globalStarted = false;\n let subCommandsStarted = false;\n let positionalsStarted = false;\n let examplesStarted = false;\n for (let i = 1; i < linesWithoutEmpty.length; i += 1) {\n const currentLine = linesWithoutEmpty[i];\n if (currentLine === STANDARD_GROUP) {\n optionsStarted = true;\n } else if (currentLine === GLOBAL_GROUP) {\n globalStarted = true;\n } else if (currentLine === 'Commands:') {\n subCommandsStarted = true;\n } else if (currentLine === 'Positionals:') {\n positionalsStarted = true;\n } else if (currentLine === 'Examples:') {\n examplesStarted = true;\n } else if (examplesStarted) {\n examples.push(currentLine);\n } else if (positionalsStarted) {\n args.push(currentLine);\n } else if (globalStarted) {\n globalOptions.push(currentLine);\n } else if (optionsStarted) {\n options.push(currentLine);\n } else if (subCommandsStarted) {\n subCommands.push(currentLine);\n } else {\n description.push(currentLine);\n }\n }\n\n // show the flags in green\n const optionsColored = options.map((opt) => opt.replace(/(--)([\\w-]+)/, replacer).replace(/(-)([\\w-]+)/, replacer));\n const argsColored = args.map((arg) => arg.replace(/^ {2}\\S+/, (argName) => chalk.green(argName))); // regex: two spaces then the first word until a white space\n const optionsStr = options.length ? `\\n${STANDARD_GROUP}\\n${optionsColored.join('\\n')}\\n` : '';\n const argumentsStr = args.length ? `\\nArguments:\\n${argsColored.join('\\n')}\\n` : '';\n const examplesStr = examples.length ? `\\nExamples:\\n${examples.join('\\n')}\\n` : '';\n const subCommandsStr = subCommands.length ? `\\n${'Commands:'}\\n${subCommands.join('\\n')}\\n` : '';\n // show the description in bold\n const descriptionColored = description.map((desc) => chalk.bold(desc));\n if (command?.extendedDescription) {\n descriptionColored.push(command?.extendedDescription);\n }\n if (command?.helpUrl) {\n descriptionColored.push(`for more info, visit: ${chalk.underline(command.helpUrl)}`);\n }\n const descriptionStr = descriptionColored.join('\\n');\n const globalOptionsStr = globalOptions.join('\\n');\n\n const finalOutput = `${cmdLine}\n\n${descriptionStr}\n${argumentsStr}${subCommandsStr}${optionsStr}${examplesStr}\n${GLOBAL_GROUP}\n${globalOptionsStr}`;\n\n // eslint-disable-next-line no-console\n console.log(finalOutput);\n }\n\n private findCommandByArgv(): Command | undefined {\n const args = process.argv.slice(2);\n const enteredCommand = args[0];\n const enteredSubCommand = args[1];\n if (!enteredCommand) {\n return undefined;\n }\n const isCommandMatch = (cmd: Command, str: string) => {\n return (\n cmd.name.startsWith(`${str} `) || // e.g. \"tag <id>\".startsWith(\"tag \")\n cmd.name === str || // e.g. \"globals\" === \"globals\"\n cmd.alias === str\n ); // e.g. \"t\" === \"t\"\n };\n const command = this.commands.find((cmd) => isCommandMatch(cmd, enteredCommand));\n if (!command) {\n return undefined;\n }\n if (!command.commands || !enteredSubCommand) {\n return command; // no sub-commands.\n }\n const subCommand = command.commands.find((cmd) => isCommandMatch(cmd, enteredSubCommand));\n return subCommand || command;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_didyoumean","data","_interopRequireDefault","require","_yargs","_lodash","_consumer","_logger","_loader","_chalk","_getCommandId","_help","_yargsAdapter","_commandNotFound","CLIParser","constructor","commands","groups","_defineProperty2","default","yargs","parse","args","process","argv","slice","throwForNonExistsCommand","logger","debug","join","help","configureParser","forEach","command","length","parseCommandWithSubCommands","yargsCommand","getYargsCommand","configureGlobalFlags","setHelpMiddleware","handleCommandFailure","configureCompletion","strict","wrap","middleware","_","shouldShowInternalCommands","Boolean","internal","printHelp","exit","loader","off","showHelp","logCommandHelp","bind","isDaemon","fail","msg","err","stop","isHelpFlagEntered","includes","isMsgAboutMissingArgs","startsWith","console","log","chalk","yellow","commandsToShowComponentIdsForCompletion","completion","current","completionFilter","done","consumer","loadConsumerIfExist","bitmapIdsFromCurrentLane","map","id","toStringWithoutVersion","formatHelp","parserConfiguration","yarnCommand","builderFunc","_command$commands","cmd","subCommand","options","YargsAdapter","getGlobalOptions","builder","handler","option","alias","describe","group","GLOBAL_GROUP","global","commandName","commandsNames","c","getCommandId","name","aliases","filter","a","existingGlobalFlags","validCommands","commandExist","didYouMean","returnFirstMatch","suggestions","private","suggestion","Array","isArray","CommandNotFound","findCommandByArgv","replacer","p1","p2","green","lines","split","linesWithoutEmpty","compact","cmdLine","description","globalOptions","subCommands","examples","optionsStarted","globalStarted","subCommandsStarted","positionalsStarted","examplesStarted","i","currentLine","STANDARD_GROUP","push","optionsColored","opt","replace","argsColored","arg","argName","optionsStr","argumentsStr","examplesStr","subCommandsStr","descriptionColored","desc","bold","extendedDescription","helpUrl","underline","descriptionStr","globalOptionsStr","finalOutput","enteredCommand","enteredSubCommand","undefined","isCommandMatch","str","find","exports"],"sources":["cli-parser.ts"],"sourcesContent":["import didYouMean from 'didyoumean';\nimport yargs from 'yargs';\nimport { Command } from '@teambit/legacy/dist/cli/command';\nimport { GroupsType } from '@teambit/legacy/dist/cli/command-groups';\nimport { compact } from 'lodash';\nimport { loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport chalk from 'chalk';\nimport { getCommandId } from './get-command-id';\nimport { formatHelp } from './help';\nimport { GLOBAL_GROUP, STANDARD_GROUP, YargsAdapter } from './yargs-adapter';\nimport { CommandNotFound } from './exceptions/command-not-found';\n\nexport class CLIParser {\n public parser = yargs;\n constructor(private commands: Command[], private groups: GroupsType) {}\n\n async parse(args = process.argv.slice(2)) {\n this.throwForNonExistsCommand(args[0]);\n logger.debug(`[+] CLI-INPUT: ${args.join(' ')}`);\n yargs(args);\n yargs.help(false);\n this.configureParser();\n this.commands.forEach((command: Command) => {\n if (command.commands && command.commands.length) {\n this.parseCommandWithSubCommands(command);\n } else {\n const yargsCommand = this.getYargsCommand(command);\n yargs.command(yargsCommand);\n }\n });\n this.configureGlobalFlags();\n this.setHelpMiddleware();\n this.handleCommandFailure();\n this.configureCompletion();\n yargs.strict(); // don't allow non-exist flags and non-exist commands\n\n yargs\n // .recommendCommands() // don't use it, it brings the global help of yargs, we have a custom one\n .wrap(null);\n\n await yargs.parse();\n }\n\n private setHelpMiddleware() {\n yargs.middleware((argv) => {\n if (argv._.length === 0 && argv.help) {\n const shouldShowInternalCommands = Boolean(argv.internal);\n // this is the main help page\n this.printHelp(shouldShowInternalCommands);\n process.exit(0);\n }\n if (argv.help) {\n loader.off(); // stop the \"loading bit...\" before showing help if needed\n // this is a command help page\n yargs.showHelp(this.logCommandHelp.bind(this));\n if (!logger.isDaemon) process.exit(0);\n }\n }, true);\n }\n\n private handleCommandFailure() {\n yargs.fail((msg, err) => {\n loader.stop();\n if (err) {\n throw err;\n }\n yargs.showHelp(this.logCommandHelp.bind(this));\n const args = process.argv.slice(2);\n const isHelpFlagEntered = args.includes('--help') || args.includes('-h');\n const isMsgAboutMissingArgs = msg.startsWith('Not enough non-option arguments');\n // avoid showing the \"Not enough non-option arguments\" message when the user is trying to get the command help\n if (!isMsgAboutMissingArgs || !isHelpFlagEntered) {\n // eslint-disable-next-line no-console\n console.log(`\\n${chalk.yellow(msg)}`);\n }\n if (!logger.isDaemon) process.exit(1);\n });\n }\n\n private configureCompletion() {\n const commandsToShowComponentIdsForCompletion = [\n 'show',\n 'diff',\n 'tag',\n 'export',\n 'env',\n 'envs',\n 'compile',\n 'build',\n 'test',\n 'lint',\n 'log',\n 'dependents',\n 'dependencies',\n ];\n // @ts-ignore\n yargs.completion('completion', async function (current, argv, completionFilter, done) {\n if (!current.startsWith('-') && commandsToShowComponentIdsForCompletion.includes(argv._[1])) {\n const consumer = await loadConsumerIfExist();\n done(consumer?.bitmapIdsFromCurrentLane.map((id) => id.toStringWithoutVersion()));\n } else {\n completionFilter();\n }\n });\n }\n\n private printHelp(shouldShowInternalCommands = false) {\n const help = formatHelp(this.commands, this.groups, shouldShowInternalCommands);\n // eslint-disable-next-line no-console\n console.log(help);\n }\n\n private configureParser() {\n yargs.parserConfiguration({\n // 'strip-dashed': true, // we can't enable it, otherwise, the completion doesn't work\n 'strip-aliased': true,\n 'boolean-negation': false,\n 'populate--': true,\n });\n }\n\n private parseCommandWithSubCommands(command: Command) {\n const yarnCommand = this.getYargsCommand(command);\n const builderFunc = () => {\n command.commands?.forEach((cmd) => {\n const subCommand = this.getYargsCommand(cmd);\n yargs.command(subCommand);\n });\n // since the \"builder\" method is overridden, the global flags of the main command are gone, this fixes it.\n yargs.options(YargsAdapter.getGlobalOptions(command));\n return yargs;\n };\n yarnCommand.builder = builderFunc;\n yargs.command(yarnCommand);\n }\n\n private getYargsCommand(command: Command): YargsAdapter {\n const yarnCommand = new YargsAdapter(command);\n yarnCommand.builder = yarnCommand.builder.bind(yarnCommand);\n yarnCommand.handler = yarnCommand.handler.bind(yarnCommand);\n\n return yarnCommand;\n }\n\n private configureGlobalFlags() {\n yargs\n .option('help', {\n alias: 'h',\n describe: 'show help',\n group: GLOBAL_GROUP,\n })\n .option('version', {\n global: false,\n alias: 'v',\n describe: 'show version',\n group: GLOBAL_GROUP,\n });\n }\n\n private throwForNonExistsCommand(commandName: string) {\n if (!commandName || commandName.startsWith('-')) {\n return;\n }\n const commandsNames = this.commands.map((c) => getCommandId(c.name));\n const aliases = this.commands.map((c) => c.alias).filter((a) => a);\n const existingGlobalFlags = ['-V', '--version'];\n const validCommands = [...commandsNames, ...aliases, ...existingGlobalFlags];\n const commandExist = validCommands.includes(commandName);\n\n if (!commandExist) {\n didYouMean.returnFirstMatch = true;\n const suggestions = didYouMean(\n commandName,\n this.commands.filter((c) => !c.private).map((c) => getCommandId(c.name))\n );\n const suggestion = suggestions && Array.isArray(suggestions) ? suggestions[0] : suggestions;\n\n throw new CommandNotFound(commandName, suggestion as string);\n }\n }\n\n /**\n * manipulate the command help output. there is no API from Yarn to do any of this, so it needs to be done manually.\n * see https://github.com/yargs/yargs/issues/1956\n *\n * the original order of the output:\n * description\n * Options\n * Commands\n * Global\n * Positionals\n * Examples\n */\n private logCommandHelp(help: string) {\n const command = this.findCommandByArgv();\n\n const replacer = (_, p1, p2) => `${p1}${chalk.green(p2)}`;\n const lines = help.split('\\n');\n const linesWithoutEmpty = compact(lines);\n const cmdLine = linesWithoutEmpty[0];\n const description: string[] = [];\n const options: string[] = [];\n const globalOptions: string[] = [];\n const subCommands: string[] = [];\n const args: string[] = [];\n const examples: string[] = [];\n\n let optionsStarted = false;\n let globalStarted = false;\n let subCommandsStarted = false;\n let positionalsStarted = false;\n let examplesStarted = false;\n for (let i = 1; i < linesWithoutEmpty.length; i += 1) {\n const currentLine = linesWithoutEmpty[i];\n if (currentLine === STANDARD_GROUP) {\n optionsStarted = true;\n } else if (currentLine === GLOBAL_GROUP) {\n globalStarted = true;\n } else if (currentLine === 'Commands:') {\n subCommandsStarted = true;\n } else if (currentLine === 'Positionals:') {\n positionalsStarted = true;\n } else if (currentLine === 'Examples:') {\n examplesStarted = true;\n } else if (examplesStarted) {\n examples.push(currentLine);\n } else if (positionalsStarted) {\n args.push(currentLine);\n } else if (globalStarted) {\n globalOptions.push(currentLine);\n } else if (optionsStarted) {\n options.push(currentLine);\n } else if (subCommandsStarted) {\n subCommands.push(currentLine);\n } else {\n description.push(currentLine);\n }\n }\n\n // show the flags in green\n const optionsColored = options.map((opt) => opt.replace(/(--)([\\w-]+)/, replacer).replace(/(-)([\\w-]+)/, replacer));\n const argsColored = args.map((arg) => arg.replace(/^ {2}\\S+/, (argName) => chalk.green(argName))); // regex: two spaces then the first word until a white space\n const optionsStr = options.length ? `\\n${STANDARD_GROUP}\\n${optionsColored.join('\\n')}\\n` : '';\n const argumentsStr = args.length ? `\\nArguments:\\n${argsColored.join('\\n')}\\n` : '';\n const examplesStr = examples.length ? `\\nExamples:\\n${examples.join('\\n')}\\n` : '';\n const subCommandsStr = subCommands.length ? `\\n${'Commands:'}\\n${subCommands.join('\\n')}\\n` : '';\n // show the description in bold\n const descriptionColored = description.map((desc) => chalk.bold(desc));\n if (command?.extendedDescription) {\n descriptionColored.push(command?.extendedDescription);\n }\n if (command?.helpUrl) {\n descriptionColored.push(`for more info, visit: ${chalk.underline(command.helpUrl)}`);\n }\n const descriptionStr = descriptionColored.join('\\n');\n const globalOptionsStr = globalOptions.join('\\n');\n\n const finalOutput = `${cmdLine}\n\n${descriptionStr}\n${argumentsStr}${subCommandsStr}${optionsStr}${examplesStr}\n${GLOBAL_GROUP}\n${globalOptionsStr}`;\n\n // eslint-disable-next-line no-console\n console.log(finalOutput);\n }\n\n private findCommandByArgv(): Command | undefined {\n const args = process.argv.slice(2);\n const enteredCommand = args[0];\n const enteredSubCommand = args[1];\n if (!enteredCommand) {\n return undefined;\n }\n const isCommandMatch = (cmd: Command, str: string) => {\n return (\n cmd.name.startsWith(`${str} `) || // e.g. \"tag <id>\".startsWith(\"tag \")\n cmd.name === str || // e.g. \"globals\" === \"globals\"\n cmd.alias === str\n ); // e.g. \"t\" === \"t\"\n };\n const command = this.commands.find((cmd) => isCommandMatch(cmd, enteredCommand));\n if (!command) {\n return undefined;\n }\n if (!command.commands || !enteredSubCommand) {\n return command; // no sub-commands.\n }\n const subCommand = command.commands.find((cmd) => isCommandMatch(cmd, enteredSubCommand));\n return subCommand || command;\n }\n}\n"],"mappings":"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"}
package/dist/cli.cmd.d.ts CHANGED
@@ -19,7 +19,6 @@ export declare class CliGenerateCmd implements Command {
19
19
  }
20
20
  export declare class CliCmd implements Command {
21
21
  private cliMain;
22
- private docsDomain;
23
22
  name: string;
24
23
  description: string;
25
24
  alias: string;
@@ -27,6 +26,6 @@ export declare class CliCmd implements Command {
27
26
  loader: boolean;
28
27
  group: string;
29
28
  options: CommandOptions;
30
- constructor(cliMain: CLIMain, docsDomain: string);
29
+ constructor(cliMain: CLIMain);
31
30
  report(): Promise<string>;
32
31
  }
package/dist/cli.cmd.js CHANGED
@@ -97,9 +97,8 @@ labels: ['cli', 'mdx', 'docs']
97
97
  }
98
98
  exports.CliGenerateCmd = CliGenerateCmd;
99
99
  class CliCmd {
100
- constructor(cliMain, docsDomain) {
100
+ constructor(cliMain) {
101
101
  this.cliMain = cliMain;
102
- this.docsDomain = docsDomain;
103
102
  (0, _defineProperty2().default)(this, "name", 'cli');
104
103
  (0, _defineProperty2().default)(this, "description", 'EXPERIMENTAL. enters bit cli program and generates commands list');
105
104
  (0, _defineProperty2().default)(this, "alias", '');
@@ -116,7 +115,7 @@ class CliCmd {
116
115
  prompt: 'bit > ',
117
116
  completer: (line, cb) => completer(line, cb, this.cliMain)
118
117
  });
119
- const cliParser = new (_cliParser().CLIParser)(this.cliMain.commands, this.cliMain.groups, this.docsDomain);
118
+ const cliParser = new (_cliParser().CLIParser)(this.cliMain.commands, this.cliMain.groups);
120
119
  rl.prompt();
121
120
  return new Promise(resolve => {
122
121
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
@@ -1 +1 @@
1
- {"version":3,"names":["_logger","data","_interopRequireDefault","require","_handleErrors","_consumer","_bootstrap","_readline","_cliParser","_generateDocMd","CliGenerateCmd","constructor","cliMain","_defineProperty2","default","report","args","metadata","docs","getHarmonyVersion","GenerateCommandsDoc","commands","generate","json","generateJson","exports","CliCmd","docsDomain","legacyLogger","isDaemon","rl","readline","createInterface","input","process","stdin","output","stdout","prompt","completer","line","cb","cliParser","CLIParser","groups","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 { Command, CommandOptions } from '@teambit/cli';\nimport legacyLogger from '@teambit/legacy/dist/logger/logger';\nimport { handleErrorAndExit } from '@teambit/legacy/dist/cli/handle-errors';\nimport { loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\nimport { getHarmonyVersion } from '@teambit/legacy/dist/bootstrap';\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: ${getHarmonyVersion()}'\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, private docsDomain: string) {}\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.docsDomain);\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":";;;;;;;;;;;;;;;;;AAEA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,cAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,aAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,UAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,SAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,WAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,UAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,UAAA;EAAA,MAAAN,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAI,SAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,WAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,UAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAQ,eAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,cAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AATA;;AAWO,MAAMS,cAAc,CAAoB;EAgB7CC,WAAWA,CAASC,OAAgB,EAAE;IAAA,KAAlBA,OAAgB,GAAhBA,OAAgB;IAAA,IAAAC,gBAAA,GAAAC,OAAA,gBAf7B,UAAU;IAAA,IAAAD,gBAAA,GAAAC,OAAA,uBACH,gDAAgD;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBACtD,EAAE;IAAA,IAAAD,gBAAA,GAAAC,OAAA,kBACD,KAAK;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBACN,SAAS;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBACP,CACR,CACE,EAAE,EACF,UAAU,EACV,gIAAgI,CACjI,EACD,CAAC,EAAE,EAAE,MAAM,EAAE,0CAA0C,CAAC,EACxD,CAAC,GAAG,EAAE,MAAM,EAAE,kCAAkC,CAAC,CAClD;EAEsC;EAEvC,MAAMC,MAAMA,CAACC,IAAI,EAAE;IAAEC,QAAQ;IAAEC;EAAwC,CAAC,EAAmB;IACzF,IAAIA,IAAI,EAAE;MACR,OAAQ;AACd,mDAAmD,IAAAC,8BAAiB,EAAC,CAAE;AACvE;AACA;AACA,OAAO;IACH;IACA,OAAO,KAAIC,oCAAmB,EAAC,IAAI,CAACR,OAAO,CAACS,QAAQ,EAAE;MAAEJ;IAAS,CAAC,CAAC,CAACK,QAAQ,CAAC,CAAC;EAChF;EAEA,MAAMC,IAAIA,CAAA,EAAG;IACX,OAAO,KAAIH,oCAAmB,EAAC,IAAI,CAACR,OAAO,CAACS,QAAQ,EAAE,CAAC,CAAC,CAAC,CAACG,YAAY,CAAC,CAAC;EAC1E;AACF;AAACC,OAAA,CAAAf,cAAA,GAAAA,cAAA;AAEM,MAAMgB,MAAM,CAAoB;EASrCf,WAAWA,CAASC,OAAgB,EAAUe,UAAkB,EAAE;IAAA,KAA9Cf,OAAgB,GAAhBA,OAAgB;IAAA,KAAUe,UAAkB,GAAlBA,UAAkB;IAAA,IAAAd,gBAAA,GAAAC,OAAA,gBARzD,KAAK;IAAA,IAAAD,gBAAA,GAAAC,OAAA,uBACE,kEAAkE;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBACxE,EAAE;IAAA,IAAAD,gBAAA,GAAAC,OAAA,oBACY,EAAE;IAAA,IAAAD,gBAAA,GAAAC,OAAA,kBACf,KAAK;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBACN,SAAS;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBACP,EAAE;EAEuD;EAEnE,MAAMC,MAAMA,CAAA,EAAoB;IAC9Ba,iBAAY,CAACC,QAAQ,GAAG,IAAI;IAC5B,MAAMC,EAAE,GAAGC,mBAAQ,CAACC,eAAe,CAAC;MAClCC,KAAK,EAAEC,OAAO,CAACC,KAAK;MACpBC,MAAM,EAAEF,OAAO,CAACG,MAAM;MACtBC,MAAM,EAAE,QAAQ;MAChBC,SAAS,EAAEA,CAACC,IAAI,EAAEC,EAAE,KAAKF,SAAS,CAACC,IAAI,EAAEC,EAAE,EAAE,IAAI,CAAC7B,OAAO;IAC3D,CAAC,CAAC;IAEF,MAAM8B,SAAS,GAAG,KAAIC,sBAAS,EAAC,IAAI,CAAC/B,OAAO,CAACS,QAAQ,EAAE,IAAI,CAACT,OAAO,CAACgC,MAAM,EAAE,IAAI,CAACjB,UAAU,CAAC;IAE5FG,EAAE,CAACQ,MAAM,CAAC,CAAC;IAEX,OAAO,IAAIO,OAAO,CAAEC,OAAO,IAAK;MAC9B;MACAhB,EAAE,CAACiB,EAAE,CAAC,MAAM,EAAE,MAAOP,IAAI,IAAK;QAC5B,MAAMQ,GAAG,GAAGR,IAAI,CAACS,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC;QAClC,IAAI;UACF,MAAMR,SAAS,CAACS,KAAK,CAACH,GAAG,CAAC;QAC5B,CAAC,CAAC,OAAOI,GAAQ,EAAE;UACjB,MAAM,IAAAC,kCAAkB,EAACD,GAAG,EAAEJ,GAAG,CAAC,CAAC,CAAC,CAAC;QACvC;QACAlB,EAAE,CAACQ,MAAM,CAAC,CAAC;MACb,CAAC,CAAC,CAACS,EAAE,CAAC,OAAO,EAAE,MAAM;QACnBD,OAAO,CAAC,mBAAmB,CAAC;MAC9B,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;AACF;AAACrB,OAAA,CAAAC,MAAA,GAAAA,MAAA;AAED,SAASa,SAASA,CAACC,IAAY,EAAEC,EAAY,EAAE7B,OAAgB,EAAE;EAC/D,MAAM0C,SAAS,GAAGd,IAAI,CAACU,KAAK,CAAC,GAAG,CAAC;EACjC,IAAIK,MAAgB,GAAG,EAAE;EACzB,IAAID,SAAS,CAACE,MAAM,IAAI,CAAC,EAAE;IACzBD,MAAM,GAAGE,eAAe,CAACjB,IAAI,EAAE5B,OAAO,CAAC;IACvC6B,EAAE,CAAC,IAAI,EAAE,CAACc,MAAM,EAAEf,IAAI,CAAC,CAAC;EAC1B;EACA,IAAAkB,+BAAmB,EAAC,CAAC,CAClBC,IAAI,CAAEC,QAAQ,IAAK;IAClB,MAAMC,KAAK,GAAG,CAAAD,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEE,wBAAwB,CAACC,GAAG,CAAEC,EAAE,IAAKA,EAAE,CAACC,sBAAsB,CAAC,CAAC,CAAC,KAAI,EAAE;IAC/FV,MAAM,GAAGM,KAAK,CAACK,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAACC,QAAQ,CAACd,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD;IACAb,EAAE,CAAC,IAAI,EAAE,CAACc,MAAM,EAAEf,IAAI,CAAC,CAAC;EAC1B,CAAC,CAAC,CACD6B,KAAK,CAAEjB,GAAG,IAAK;IACd;IACAX,EAAE,CAACW,GAAG,EAAE,CAAC,EAAE,EAAEZ,IAAI,CAAC,CAAC;EACrB,CAAC,CAAC;AACN;AAEA,SAASiB,eAAeA,CAACjB,IAAY,EAAE5B,OAAgB,EAAY;EACjE,MAAMS,QAAQ,GAAGT,OAAO,CAACS,QAAQ,CAAC6C,MAAM,CAAElB,GAAG,IAAKA,GAAG,CAACsB,IAAI,CAACC,UAAU,CAAC/B,IAAI,CAAC,CAAC;EAC5E,OAAOnB,QAAQ,CAAC0C,GAAG,CAAEI,CAAC,IAAKA,CAAC,CAACG,IAAI,CAAC,CAACP,GAAG,CAAEO,IAAI,IAAKA,IAAI,CAACpB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE"}
1
+ {"version":3,"names":["_logger","data","_interopRequireDefault","require","_handleErrors","_consumer","_bootstrap","_readline","_cliParser","_generateDocMd","CliGenerateCmd","constructor","cliMain","_defineProperty2","default","report","args","metadata","docs","getHarmonyVersion","GenerateCommandsDoc","commands","generate","json","generateJson","exports","CliCmd","legacyLogger","isDaemon","rl","readline","createInterface","input","process","stdin","output","stdout","prompt","completer","line","cb","cliParser","CLIParser","groups","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 { Command, CommandOptions } from '@teambit/cli';\nimport legacyLogger from '@teambit/legacy/dist/logger/logger';\nimport { handleErrorAndExit } from '@teambit/legacy/dist/cli/handle-errors';\nimport { loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\nimport { getHarmonyVersion } from '@teambit/legacy/dist/bootstrap';\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: ${getHarmonyVersion()}'\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);\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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"}
@@ -1,6 +1,5 @@
1
1
  import { SlotRegistry } from '@teambit/harmony';
2
2
  import { Command } from '@teambit/legacy/dist/cli/command';
3
- import type { CommunityMain } from '@teambit/community';
4
3
  import { GroupsType } from '@teambit/legacy/dist/cli/command-groups';
5
4
  import { Logger, LoggerMain } from '@teambit/logger';
6
5
  export declare type CommandList = Array<Command>;
@@ -13,10 +12,9 @@ export declare class CLIMain {
13
12
  private commandsSlot;
14
13
  private onStartSlot;
15
14
  private onBeforeExitSlot;
16
- private community;
17
15
  private logger;
18
16
  groups: GroupsType;
19
- constructor(commandsSlot: CommandsSlot, onStartSlot: OnStartSlot, onBeforeExitSlot: OnBeforeExitSlot, community: CommunityMain, logger: Logger);
17
+ constructor(commandsSlot: CommandsSlot, onStartSlot: OnStartSlot, onBeforeExitSlot: OnBeforeExitSlot, logger: Logger);
20
18
  /**
21
19
  * registers a new command in to the CLI.
22
20
  */
@@ -67,5 +65,5 @@ export declare class CLIMain {
67
65
  static dependencies: import("@teambit/harmony").Aspect[];
68
66
  static runtime: import("@teambit/harmony").RuntimeDefinition;
69
67
  static slots: (((registerFn: () => string) => SlotRegistry<CommandList>) | ((registerFn: () => string) => SlotRegistry<OnStart>))[];
70
- static provider([community, loggerMain]: [CommunityMain, LoggerMain], config: any, [commandsSlot, onStartSlot, onBeforeExitSlot]: [CommandsSlot, OnStartSlot, OnBeforeExitSlot]): Promise<CLIMain>;
68
+ static provider([loggerMain]: [LoggerMain], config: any, [commandsSlot, onStartSlot, onBeforeExitSlot]: [CommandsSlot, OnStartSlot, OnBeforeExitSlot]): Promise<CLIMain>;
71
69
  }
@@ -39,13 +39,6 @@ function _logger() {
39
39
  };
40
40
  return data;
41
41
  }
42
- function _community() {
43
- const data = require("@teambit/community");
44
- _community = function () {
45
- return data;
46
- };
47
- return data;
48
- }
49
42
  function _pMapSeries() {
50
43
  const data = _interopRequireDefault(require("p-map-series"));
51
44
  _pMapSeries = function () {
@@ -132,11 +125,10 @@ function _help() {
132
125
  }
133
126
  class CLIMain {
134
127
  // if it's not cloned, it is cached across loadBit() instances
135
- constructor(commandsSlot, onStartSlot, onBeforeExitSlot, community, logger) {
128
+ constructor(commandsSlot, onStartSlot, onBeforeExitSlot, logger) {
136
129
  this.commandsSlot = commandsSlot;
137
130
  this.onStartSlot = onStartSlot;
138
131
  this.onBeforeExitSlot = onBeforeExitSlot;
139
- this.community = community;
140
132
  this.logger = logger;
141
133
  (0, _defineProperty2().default)(this, "groups", (0, _lodash().clone)(_commandGroups().groups));
142
134
  }
@@ -224,7 +216,7 @@ class CLIMain {
224
216
  */
225
217
  async run(hasWorkspace) {
226
218
  await this.invokeOnStart(hasWorkspace);
227
- const CliParser = new (_cliParser().CLIParser)(this.commands, this.groups, this.community.getBaseDomain());
219
+ const CliParser = new (_cliParser().CLIParser)(this.commands, this.groups);
228
220
  await CliParser.parse();
229
221
  }
230
222
  async invokeOnStart(hasWorkspace) {
@@ -248,31 +240,27 @@ class CLIMain {
248
240
  command.loader = true;
249
241
  }
250
242
  }
251
- if (command.helpUrl && !isFullUrl(command.helpUrl) && this.community) {
252
- command.helpUrl = `https://${this.community.getBaseDomain()}/${command.helpUrl}`;
243
+ if (command.helpUrl && !isFullUrl(command.helpUrl)) {
244
+ command.helpUrl = `https://bit.dev/${command.helpUrl}`;
253
245
  }
254
246
  }
255
- static async provider([community, loggerMain], config, [commandsSlot, onStartSlot, onBeforeExitSlot]) {
247
+ static async provider([loggerMain], config, [commandsSlot, onStartSlot, onBeforeExitSlot]) {
256
248
  const logger = loggerMain.createLogger(_cli2().CLIAspect.id);
257
- const cliMain = new CLIMain(commandsSlot, onStartSlot, onBeforeExitSlot, community, logger);
249
+ const cliMain = new CLIMain(commandsSlot, onStartSlot, onBeforeExitSlot, logger);
258
250
  const legacyRegistry = (0, _cli().buildRegistry)();
259
251
  await ensureWorkspaceAndScope();
260
252
  const legacyCommands = legacyRegistry.commands;
261
253
  const legacyCommandsAdapters = legacyCommands.map(command => new (_legacyCommandAdapter().LegacyCommandAdapter)(command, cliMain));
262
254
  const cliGenerateCmd = new (_cli3().CliGenerateCmd)(cliMain);
263
- if (!community) {
264
- cliMain.register(...legacyCommandsAdapters, new (_completion().CompletionCmd)());
265
- return cliMain;
266
- }
267
- const cliCmd = new (_cli3().CliCmd)(cliMain, community.getDocsDomain());
268
- const helpCmd = new (_help().HelpCmd)(cliMain, community.getDocsDomain());
255
+ const cliCmd = new (_cli3().CliCmd)(cliMain);
256
+ const helpCmd = new (_help().HelpCmd)(cliMain);
269
257
  cliCmd.commands.push(cliGenerateCmd);
270
258
  cliMain.register(...legacyCommandsAdapters, new (_completion().CompletionCmd)(), cliCmd, helpCmd);
271
259
  return cliMain;
272
260
  }
273
261
  }
274
262
  exports.CLIMain = CLIMain;
275
- (0, _defineProperty2().default)(CLIMain, "dependencies", [_community().CommunityAspect, _logger2().LoggerAspect]);
263
+ (0, _defineProperty2().default)(CLIMain, "dependencies", [_logger2().LoggerAspect]);
276
264
  (0, _defineProperty2().default)(CLIMain, "runtime", _cli2().MainRuntime);
277
265
  (0, _defineProperty2().default)(CLIMain, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType()]);
278
266
  _cli2().CLIAspect.addRuntime(CLIMain);
@@ -1 +1 @@
1
- {"version":3,"names":["_harmony","data","require","_cli","_logger","_interopRequireDefault","_community","_pMapSeries","_commandGroups","_consumer","_logger2","_lodash","_cli2","_getCommandId","_legacyCommandAdapter","_cliParser","_completion","_cli3","_help","CLIMain","constructor","commandsSlot","onStartSlot","onBeforeExitSlot","community","logger","_defineProperty2","default","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","registerOnBeforeExit","onBeforeExitFn","legacyLogger","registerOnBeforeExitFn","run","hasWorkspace","invokeOnStart","CliParser","CLIParser","getBaseDomain","parse","onStartFns","currentCommand","process","argv","pMapSeries","onStart","alias","extendedDescription","group","options","private","trim","loader","undefined","internal","helpUrl","isFullUrl","provider","loggerMain","config","createLogger","CLIAspect","id","cliMain","legacyRegistry","buildRegistry","ensureWorkspaceAndScope","legacyCommands","legacyCommandsAdapters","LegacyCommandAdapter","cliGenerateCmd","CliGenerateCmd","CompletionCmd","cliCmd","CliCmd","getDocsDomain","helpCmd","HelpCmd","push","exports","CommunityAspect","LoggerAspect","MainRuntime","Slot","withType","addRuntime","loadConsumerIfExist","err","url","startsWith"],"sources":["cli.main.runtime.ts"],"sourcesContent":["import { Slot, SlotRegistry } from '@teambit/harmony';\nimport { buildRegistry } from '@teambit/legacy/dist/cli';\nimport legacyLogger from '@teambit/legacy/dist/logger/logger';\nimport { Command } from '@teambit/legacy/dist/cli/command';\nimport { CommunityAspect } from '@teambit/community';\nimport type { CommunityMain } from '@teambit/community';\nimport pMapSeries from 'p-map-series';\nimport { groups, GroupsType } from '@teambit/legacy/dist/cli/command-groups';\nimport { loadConsumerIfExist } 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 { LegacyCommandAdapter } from './legacy-command-adapter';\nimport { CLIParser } from './cli-parser';\nimport { CompletionCmd } from './completion.cmd';\nimport { CliCmd, CliGenerateCmd } from './cli.cmd';\nimport { HelpCmd } from './help.cmd';\n\nexport type CommandList = Array<Command>;\nexport type OnStart = (hasWorkspace: boolean, currentCommand: string) => Promise<void>;\nexport type OnBeforeExitFn = () => Promise<void>;\n\nexport type OnStartSlot = SlotRegistry<OnStart>;\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 private onBeforeExitSlot: OnBeforeExitSlot,\n private community: CommunityMain,\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 registerOnStart(onStartFn: OnStart) {\n this.onStartSlot.register(onStartFn);\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.community.getBaseDomain());\n await CliParser.parse();\n }\n\n private async invokeOnStart(hasWorkspace: boolean) {\n const onStartFns = this.onStartSlot.values();\n const currentCommand = process.argv[2];\n await pMapSeries(onStartFns, (onStart) => onStart(hasWorkspace, currentCommand));\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 if (command.internal) {\n command.loader = false;\n } else {\n command.loader = true;\n }\n }\n if (command.helpUrl && !isFullUrl(command.helpUrl) && this.community) {\n command.helpUrl = `https://${this.community.getBaseDomain()}/${command.helpUrl}`;\n }\n }\n\n static dependencies = [CommunityAspect, LoggerAspect];\n static runtime = MainRuntime;\n static slots = [Slot.withType<CommandList>(), Slot.withType<OnStart>(), Slot.withType<OnBeforeExitFn>()];\n\n static async provider(\n [community, loggerMain]: [CommunityMain, LoggerMain],\n config,\n [commandsSlot, onStartSlot, onBeforeExitSlot]: [CommandsSlot, OnStartSlot, OnBeforeExitSlot]\n ) {\n const logger = loggerMain.createLogger(CLIAspect.id);\n const cliMain = new CLIMain(commandsSlot, onStartSlot, onBeforeExitSlot, community, logger);\n const legacyRegistry = buildRegistry();\n await ensureWorkspaceAndScope();\n const legacyCommands = legacyRegistry.commands;\n const legacyCommandsAdapters = legacyCommands.map((command) => new LegacyCommandAdapter(command, cliMain));\n const cliGenerateCmd = new CliGenerateCmd(cliMain);\n if (!community) {\n cliMain.register(...legacyCommandsAdapters, new CompletionCmd());\n return cliMain;\n }\n const cliCmd = new CliCmd(cliMain, community.getDocsDomain());\n const helpCmd = new HelpCmd(cliMain, community.getDocsDomain());\n cliCmd.commands.push(cliGenerateCmd);\n cliMain.register(...legacyCommandsAdapters, new CompletionCmd(), cliCmd, helpCmd);\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 // 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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"}
1
+ {"version":3,"names":["_harmony","data","require","_cli","_logger","_interopRequireDefault","_pMapSeries","_commandGroups","_consumer","_logger2","_lodash","_cli2","_getCommandId","_legacyCommandAdapter","_cliParser","_completion","_cli3","_help","CLIMain","constructor","commandsSlot","onStartSlot","onBeforeExitSlot","logger","_defineProperty2","default","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","registerOnBeforeExit","onBeforeExitFn","legacyLogger","registerOnBeforeExitFn","run","hasWorkspace","invokeOnStart","CliParser","CLIParser","parse","onStartFns","currentCommand","process","argv","pMapSeries","onStart","alias","extendedDescription","group","options","private","trim","loader","undefined","internal","helpUrl","isFullUrl","provider","loggerMain","config","createLogger","CLIAspect","id","cliMain","legacyRegistry","buildRegistry","ensureWorkspaceAndScope","legacyCommands","legacyCommandsAdapters","LegacyCommandAdapter","cliGenerateCmd","CliGenerateCmd","cliCmd","CliCmd","helpCmd","HelpCmd","push","CompletionCmd","exports","LoggerAspect","MainRuntime","Slot","withType","addRuntime","loadConsumerIfExist","err","url","startsWith"],"sources":["cli.main.runtime.ts"],"sourcesContent":["import { Slot, SlotRegistry } from '@teambit/harmony';\nimport { buildRegistry } from '@teambit/legacy/dist/cli';\nimport legacyLogger from '@teambit/legacy/dist/logger/logger';\nimport { Command } from '@teambit/legacy/dist/cli/command';\nimport pMapSeries from 'p-map-series';\nimport { groups, GroupsType } from '@teambit/legacy/dist/cli/command-groups';\nimport { loadConsumerIfExist } 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 { LegacyCommandAdapter } from './legacy-command-adapter';\nimport { CLIParser } from './cli-parser';\nimport { CompletionCmd } from './completion.cmd';\nimport { CliCmd, CliGenerateCmd } from './cli.cmd';\nimport { HelpCmd } from './help.cmd';\n\nexport type CommandList = Array<Command>;\nexport type OnStart = (hasWorkspace: boolean, currentCommand: string) => Promise<void>;\nexport type OnBeforeExitFn = () => Promise<void>;\n\nexport type OnStartSlot = SlotRegistry<OnStart>;\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 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 registerOnStart(onStartFn: OnStart) {\n this.onStartSlot.register(onStartFn);\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);\n await CliParser.parse();\n }\n\n private async invokeOnStart(hasWorkspace: boolean) {\n const onStartFns = this.onStartSlot.values();\n const currentCommand = process.argv[2];\n await pMapSeries(onStartFns, (onStart) => onStart(hasWorkspace, currentCommand));\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 if (command.internal) {\n command.loader = false;\n } else {\n command.loader = true;\n }\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 = [Slot.withType<CommandList>(), Slot.withType<OnStart>(), Slot.withType<OnBeforeExitFn>()];\n\n static async provider(\n [loggerMain]: [LoggerMain],\n config,\n [commandsSlot, onStartSlot, onBeforeExitSlot]: [CommandsSlot, OnStartSlot, OnBeforeExitSlot]\n ) {\n const logger = loggerMain.createLogger(CLIAspect.id);\n const cliMain = new CLIMain(commandsSlot, onStartSlot, onBeforeExitSlot, logger);\n const legacyRegistry = buildRegistry();\n await ensureWorkspaceAndScope();\n const legacyCommands = legacyRegistry.commands;\n const legacyCommandsAdapters = legacyCommands.map((command) => new LegacyCommandAdapter(command, cliMain));\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(...legacyCommandsAdapters, new CompletionCmd(), cliCmd, helpCmd);\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 // 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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"}
@@ -2,14 +2,13 @@ import { Command, CommandOptions } from '@teambit/cli';
2
2
  import { CLIMain } from './cli.main.runtime';
3
3
  export declare class HelpCmd implements Command {
4
4
  private cliMain;
5
- private docsDomain;
6
5
  name: string;
7
6
  description: string;
8
7
  alias: string;
9
8
  loader: boolean;
10
9
  group: string;
11
10
  options: CommandOptions;
12
- constructor(cliMain: CLIMain, docsDomain: string);
11
+ constructor(cliMain: CLIMain);
13
12
  report(_: any, { internal }: {
14
13
  internal: boolean;
15
14
  }): Promise<string>;
package/dist/help.cmd.js CHANGED
@@ -21,9 +21,8 @@ function _help() {
21
21
  return data;
22
22
  }
23
23
  class HelpCmd {
24
- constructor(cliMain, docsDomain) {
24
+ constructor(cliMain) {
25
25
  this.cliMain = cliMain;
26
- this.docsDomain = docsDomain;
27
26
  (0, _defineProperty2().default)(this, "name", 'help');
28
27
  (0, _defineProperty2().default)(this, "description", 'shows help');
29
28
  (0, _defineProperty2().default)(this, "alias", '$0');
@@ -35,7 +34,7 @@ class HelpCmd {
35
34
  async report(_, {
36
35
  internal
37
36
  }) {
38
- return (0, _help().formatHelp)(this.cliMain.commands, this.cliMain.groups, this.docsDomain, internal);
37
+ return (0, _help().formatHelp)(this.cliMain.commands, this.cliMain.groups, internal);
39
38
  }
40
39
  }
41
40
  exports.HelpCmd = HelpCmd;
@@ -1 +1 @@
1
- {"version":3,"names":["_help","data","require","HelpCmd","constructor","cliMain","docsDomain","_defineProperty2","default","report","_","internal","formatHelp","commands","groups","exports"],"sources":["help.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport { CLIMain } from './cli.main.runtime';\nimport { formatHelp } from './help';\n\nexport class HelpCmd implements Command {\n name = 'help';\n description = 'shows help';\n alias = '$0'; // default command (meaning, if no args are provided, this will be used), see https://github.com/yargs/yargs/blob/master/docs/advanced.md#default-commands\n loader = false;\n group = 'general';\n options = [['', 'internal', 'show internal commands']] as CommandOptions;\n\n constructor(private cliMain: CLIMain, private docsDomain: string) {}\n\n async report(_, { internal }: { internal: boolean }) {\n return formatHelp(this.cliMain.commands, this.cliMain.groups, this.docsDomain, internal);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAEA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,OAAO,CAAoB;EAQtCC,WAAWA,CAASC,OAAgB,EAAUC,UAAkB,EAAE;IAAA,KAA9CD,OAAgB,GAAhBA,OAAgB;IAAA,KAAUC,UAAkB,GAAlBA,UAAkB;IAAA,IAAAC,gBAAA,GAAAC,OAAA,gBAPzD,MAAM;IAAA,IAAAD,gBAAA,GAAAC,OAAA,uBACC,YAAY;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBAClB,IAAI;IAAE;IAAA,IAAAD,gBAAA,GAAAC,OAAA,kBACL,KAAK;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBACN,SAAS;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBACP,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,wBAAwB,CAAC,CAAC;EAEa;EAEnE,MAAMC,MAAMA,CAACC,CAAC,EAAE;IAAEC;EAAgC,CAAC,EAAE;IACnD,OAAO,IAAAC,kBAAU,EAAC,IAAI,CAACP,OAAO,CAACQ,QAAQ,EAAE,IAAI,CAACR,OAAO,CAACS,MAAM,EAAE,IAAI,CAACR,UAAU,EAAEK,QAAQ,CAAC;EAC1F;AACF;AAACI,OAAA,CAAAZ,OAAA,GAAAA,OAAA"}
1
+ {"version":3,"names":["_help","data","require","HelpCmd","constructor","cliMain","_defineProperty2","default","report","_","internal","formatHelp","commands","groups","exports"],"sources":["help.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport { CLIMain } from './cli.main.runtime';\nimport { formatHelp } from './help';\n\nexport class HelpCmd implements Command {\n name = 'help';\n description = 'shows help';\n alias = '$0'; // default command (meaning, if no args are provided, this will be used), see https://github.com/yargs/yargs/blob/master/docs/advanced.md#default-commands\n loader = false;\n group = 'general';\n options = [['', 'internal', 'show internal commands']] as CommandOptions;\n\n constructor(private cliMain: CLIMain) {}\n\n async report(_, { internal }: { internal: boolean }) {\n return formatHelp(this.cliMain.commands, this.cliMain.groups, internal);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAEA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,OAAO,CAAoB;EAQtCC,WAAWA,CAASC,OAAgB,EAAE;IAAA,KAAlBA,OAAgB,GAAhBA,OAAgB;IAAA,IAAAC,gBAAA,GAAAC,OAAA,gBAP7B,MAAM;IAAA,IAAAD,gBAAA,GAAAC,OAAA,uBACC,YAAY;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBAClB,IAAI;IAAE;IAAA,IAAAD,gBAAA,GAAAC,OAAA,kBACL,KAAK;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBACN,SAAS;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBACP,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,wBAAwB,CAAC,CAAC;EAEf;EAEvC,MAAMC,MAAMA,CAACC,CAAC,EAAE;IAAEC;EAAgC,CAAC,EAAE;IACnD,OAAO,IAAAC,kBAAU,EAAC,IAAI,CAACN,OAAO,CAACO,QAAQ,EAAE,IAAI,CAACP,OAAO,CAACQ,MAAM,EAAEH,QAAQ,CAAC;EACzE;AACF;AAACI,OAAA,CAAAX,OAAA,GAAAA,OAAA"}
package/dist/help.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { GroupsType } from '@teambit/legacy/dist/cli/command-groups';
2
2
  import { CommandList } from './cli.main.runtime';
3
- export declare function formatHelp(commands: CommandList, groups: GroupsType, docsDomain: string, showPrivateCommands?: boolean): string;
3
+ export declare function formatHelp(commands: CommandList, groups: GroupsType, showPrivateCommands?: boolean): string;
package/dist/help.js CHANGED
@@ -38,10 +38,10 @@ const SPACE = ' ';
38
38
  const TITLE_LEFT_SPACES_NUMBER = 2;
39
39
  const COMMAND_LEFT_SPACES_NUMBER = 4;
40
40
  const NAME_WITH_SPACES_LENGTH = 15;
41
- function formatHelp(commands, groups, docsDomain, showPrivateCommands = false) {
41
+ function formatHelp(commands, groups, showPrivateCommands = false) {
42
42
  const helpProps = groupCommands(commands, groups, showPrivateCommands);
43
43
  const commandsStr = formatCommandsHelp(helpProps);
44
- return `${getHeader(docsDomain)}
44
+ return `${getHeader()}
45
45
 
46
46
  ${commandsStr}
47
47
 
@@ -76,10 +76,10 @@ function commandTemplate(name, description) {
76
76
  const res = `${nameSpace}${_chalk().default.green(nameWithRightSpace)}${description}`;
77
77
  return res;
78
78
  }
79
- function getHeader(docsDomain) {
79
+ function getHeader() {
80
80
  return `${_chalk().default.bold('usage: bit [--version] [--help] <command> [<args>]')}
81
81
 
82
- ${_chalk().default.yellow(`bit documentation: https://${docsDomain}`)}`;
82
+ ${_chalk().default.yellow(`bit documentation: https://bit.dev/`)}`;
83
83
  }
84
84
  function getFooter() {
85
85
  return `${_chalk().default.yellow("please use 'bit <command> --help' for more information and guides on specific commands.")}`;
package/dist/help.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_padRight","_lodash","_getCommandId","SPACE","TITLE_LEFT_SPACES_NUMBER","COMMAND_LEFT_SPACES_NUMBER","NAME_WITH_SPACES_LENGTH","formatHelp","commands","groups","docsDomain","showPrivateCommands","helpProps","groupCommands","commandsStr","formatCommandsHelp","getHeader","getFooter","help","filter","command","private","description","reduce","partialHelp","groupName","group","capitalize","cmdId","getCommandId","name","Object","keys","map","commandsSectionTemplate","join","section","titleSpace","repeat","title","chalk","underline","bold","blue","cmdName","commandTemplate","res","nameSpace","nameWithRightSpace","rightpad","green","yellow"],"sources":["help.ts"],"sourcesContent":["import chalk from 'chalk';\nimport rightpad from 'pad-right';\nimport { capitalize } from 'lodash';\nimport { GroupsType } from '@teambit/legacy/dist/cli/command-groups';\nimport { CommandList } from './cli.main.runtime';\nimport { getCommandId } from './get-command-id';\n\nconst SPACE = ' ';\nconst TITLE_LEFT_SPACES_NUMBER = 2;\nconst COMMAND_LEFT_SPACES_NUMBER = 4;\nconst NAME_WITH_SPACES_LENGTH = 15;\n\ntype HelpProps = {\n [groupName: string]: GroupContent;\n};\n\ntype GroupContent = {\n commands: { [cmdName: string]: string };\n description: string;\n};\n\nexport function formatHelp(commands: CommandList, groups: GroupsType, docsDomain: string, showPrivateCommands = false) {\n const helpProps = groupCommands(commands, groups, showPrivateCommands);\n const commandsStr = formatCommandsHelp(helpProps);\n\n return `${getHeader(docsDomain)}\n\n${commandsStr}\n\n${getFooter()}`;\n}\n\nfunction groupCommands(commands: CommandList, groups: GroupsType, showPrivateCommands = false): HelpProps {\n const help: HelpProps = commands\n .filter((command) => (showPrivateCommands ? true : !command.private && command.description))\n .reduce(function (partialHelp, command) {\n const groupName = command.group as string; // at this stage, it must be set\n partialHelp[groupName] = partialHelp[groupName] || {\n commands: {},\n description: groups[groupName] || capitalize(command.group),\n };\n const cmdId = getCommandId(command.name);\n partialHelp[groupName].commands[cmdId] = command.description;\n return partialHelp;\n }, {});\n return help;\n}\n\nfunction formatCommandsHelp(helpProps: HelpProps): string {\n return Object.keys(helpProps)\n .map((groupName) => commandsSectionTemplate(helpProps[groupName]))\n .join('\\n\\n');\n}\n\nfunction commandsSectionTemplate(section: GroupContent): string {\n const titleSpace = SPACE.repeat(TITLE_LEFT_SPACES_NUMBER);\n const title = `${titleSpace}${chalk.underline.bold.blue(section.description)}`;\n const commands = Object.keys(section.commands)\n .map((cmdName) => commandTemplate(cmdName, section.commands[cmdName]))\n .join('\\n');\n const res = `${title}\\n${commands}`;\n return res;\n}\n\nfunction commandTemplate(name: string, description: string): string {\n const nameSpace = SPACE.repeat(COMMAND_LEFT_SPACES_NUMBER);\n const nameWithRightSpace = rightpad(name, NAME_WITH_SPACES_LENGTH, SPACE);\n const res = `${nameSpace}${chalk.green(nameWithRightSpace)}${description}`;\n return res;\n}\n\nfunction getHeader(docsDomain: string): string {\n return `${chalk.bold('usage: bit [--version] [--help] <command> [<args>]')}\n\n${chalk.yellow(`bit documentation: https://${docsDomain}`)}`;\n}\n\nfunction getFooter(): string {\n return `${chalk.yellow(\"please use 'bit <command> --help' for more information and guides on specific commands.\")}`;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_padRight","_lodash","_getCommandId","SPACE","TITLE_LEFT_SPACES_NUMBER","COMMAND_LEFT_SPACES_NUMBER","NAME_WITH_SPACES_LENGTH","formatHelp","commands","groups","showPrivateCommands","helpProps","groupCommands","commandsStr","formatCommandsHelp","getHeader","getFooter","help","filter","command","private","description","reduce","partialHelp","groupName","group","capitalize","cmdId","getCommandId","name","Object","keys","map","commandsSectionTemplate","join","section","titleSpace","repeat","title","chalk","underline","bold","blue","cmdName","commandTemplate","res","nameSpace","nameWithRightSpace","rightpad","green","yellow"],"sources":["help.ts"],"sourcesContent":["import chalk from 'chalk';\nimport rightpad from 'pad-right';\nimport { capitalize } from 'lodash';\nimport { GroupsType } from '@teambit/legacy/dist/cli/command-groups';\nimport { CommandList } from './cli.main.runtime';\nimport { getCommandId } from './get-command-id';\n\nconst SPACE = ' ';\nconst TITLE_LEFT_SPACES_NUMBER = 2;\nconst COMMAND_LEFT_SPACES_NUMBER = 4;\nconst NAME_WITH_SPACES_LENGTH = 15;\n\ntype HelpProps = {\n [groupName: string]: GroupContent;\n};\n\ntype GroupContent = {\n commands: { [cmdName: string]: string };\n description: string;\n};\n\nexport function formatHelp(commands: CommandList, groups: GroupsType, showPrivateCommands = false) {\n const helpProps = groupCommands(commands, groups, showPrivateCommands);\n const commandsStr = formatCommandsHelp(helpProps);\n\n return `${getHeader()}\n\n${commandsStr}\n\n${getFooter()}`;\n}\n\nfunction groupCommands(commands: CommandList, groups: GroupsType, showPrivateCommands = false): HelpProps {\n const help: HelpProps = commands\n .filter((command) => (showPrivateCommands ? true : !command.private && command.description))\n .reduce(function (partialHelp, command) {\n const groupName = command.group as string; // at this stage, it must be set\n partialHelp[groupName] = partialHelp[groupName] || {\n commands: {},\n description: groups[groupName] || capitalize(command.group),\n };\n const cmdId = getCommandId(command.name);\n partialHelp[groupName].commands[cmdId] = command.description;\n return partialHelp;\n }, {});\n return help;\n}\n\nfunction formatCommandsHelp(helpProps: HelpProps): string {\n return Object.keys(helpProps)\n .map((groupName) => commandsSectionTemplate(helpProps[groupName]))\n .join('\\n\\n');\n}\n\nfunction commandsSectionTemplate(section: GroupContent): string {\n const titleSpace = SPACE.repeat(TITLE_LEFT_SPACES_NUMBER);\n const title = `${titleSpace}${chalk.underline.bold.blue(section.description)}`;\n const commands = Object.keys(section.commands)\n .map((cmdName) => commandTemplate(cmdName, section.commands[cmdName]))\n .join('\\n');\n const res = `${title}\\n${commands}`;\n return res;\n}\n\nfunction commandTemplate(name: string, description: string): string {\n const nameSpace = SPACE.repeat(COMMAND_LEFT_SPACES_NUMBER);\n const nameWithRightSpace = rightpad(name, NAME_WITH_SPACES_LENGTH, SPACE);\n const res = `${nameSpace}${chalk.green(nameWithRightSpace)}${description}`;\n return res;\n}\n\nfunction getHeader(): string {\n return `${chalk.bold('usage: bit [--version] [--help] <command> [<args>]')}\n\n${chalk.yellow(`bit documentation: https://bit.dev/`)}`;\n}\n\nfunction getFooter(): string {\n return `${chalk.yellow(\"please use 'bit <command> --help' for more information and guides on specific commands.\")}`;\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_cli@0.0.765/dist/cli.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_cli@0.0.765/dist/cli.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_cli@0.0.767/dist/cli.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_cli@0.0.767/dist/cli.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/cli",
3
- "version": "0.0.765",
3
+ "version": "0.0.767",
4
4
  "homepage": "https://bit.cloud/teambit/harmony/cli",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.harmony",
8
8
  "name": "cli",
9
- "version": "0.0.765"
9
+ "version": "0.0.767"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -19,8 +19,7 @@
19
19
  "core-js": "^3.0.0",
20
20
  "@babel/runtime": "7.20.0",
21
21
  "@teambit/harmony": "0.4.6",
22
- "@teambit/community": "0.0.313",
23
- "@teambit/logger": "0.0.858",
22
+ "@teambit/logger": "0.0.860",
24
23
  "@teambit/bit-error": "0.0.402"
25
24
  },
26
25
  "devDependencies": {
@@ -35,7 +34,7 @@
35
34
  "@types/testing-library__jest-dom": "5.9.5"
36
35
  },
37
36
  "peerDependencies": {
38
- "@teambit/legacy": "1.0.549",
37
+ "@teambit/legacy": "1.0.552",
39
38
  "react": "^16.8.0 || ^17.0.0",
40
39
  "react-dom": "^16.8.0 || ^17.0.0"
41
40
  },