@teambit/cli 0.0.1244 → 0.0.1245
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli-parser.d.ts +4 -4
- package/dist/cli-parser.js.map +1 -1
- package/dist/cli.cmd.d.ts +2 -2
- package/dist/cli.cmd.js.map +1 -1
- package/dist/cli.main.runtime.d.ts +4 -4
- package/dist/cli.main.runtime.js.map +1 -1
- package/dist/command-helper.d.ts +1 -1
- package/dist/command-helper.js.map +1 -1
- package/dist/command-runner.d.ts +2 -2
- package/dist/command-runner.js.map +1 -1
- package/dist/command.d.ts +1 -1
- package/dist/command.js.map +1 -1
- package/dist/completion.cmd.d.ts +1 -1
- package/dist/completion.cmd.js.map +1 -1
- package/dist/generate-doc-md.d.ts +1 -1
- package/dist/generate-doc-md.js.map +1 -1
- package/dist/help.cmd.d.ts +1 -1
- package/dist/help.cmd.js.map +1 -1
- package/dist/help.d.ts +2 -2
- package/dist/help.js.map +1 -1
- package/dist/{preview-1753809186996.js → preview-1753833698619.js} +2 -2
- package/dist/yargs-adapter.d.ts +3 -3
- package/dist/yargs-adapter.js.map +1 -1
- package/package.json +5 -5
package/dist/cli-parser.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import yargs from 'yargs';
|
|
2
|
-
import { Command } from './command';
|
|
3
|
-
import { GroupsType } from './command-groups';
|
|
4
|
-
import { OnCommandStartSlot } from './cli.main.runtime';
|
|
5
|
-
import { CommandRunner } from './command-runner';
|
|
2
|
+
import type { Command } from './command';
|
|
3
|
+
import type { GroupsType } from './command-groups';
|
|
4
|
+
import type { OnCommandStartSlot } from './cli.main.runtime';
|
|
5
|
+
import type { CommandRunner } from './command-runner';
|
|
6
6
|
export declare class CLIParser {
|
|
7
7
|
private commands;
|
|
8
8
|
private groups;
|
package/dist/cli-parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_didyoumean","data","_interopRequireDefault","require","_yargs","_lodash","_legacy","_legacy2","_legacy3","_chalk","_getCommandId","_help","_yargsAdapter","_commandNotFound","_yargsExitWorkaround","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","fail","msg","err","stop","isHelpFlagEntered","includes","msgForDaemon","error","YargsExitWorkaround","helpMsg","isMsgAboutMissingArgs","startsWith","console","log","chalk","yellow","isDaemon","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","lines","split","linesWithoutEmpty","compact","cmdLine","description","globalOptions","subCommands","examples","optionsStarted","globalStarted","subCommandsStarted","positionalsStarted","examplesStarted","currentLine","STANDARD_GROUP","optionsColored","optLine","match","leadingSpaces","optionPart","rest","coloredOptionPart","replace","m","p1","p2","green","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 './command';\nimport { GroupsType } from './command-groups';\nimport { compact } from 'lodash';\nimport { loadConsumerIfExist } from '@teambit/legacy.consumer';\nimport { logger } from '@teambit/legacy.logger';\nimport { loader } from '@teambit/legacy.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';\nimport { YargsExitWorkaround } from './exceptions/yargs-exit-workaround';\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.showHelpOnFail(false); // doesn't help. it still shows the help on failure.\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) {\n // this happens when the args/flags are wrong. in this case, it prints the help of the command and in most cases\n // exits the process before reaching this line. however, in case logger.isDaemon is true, which is for bit-cli-server,\n // it doesn't exits the process, so we need to return undefined here.\n throw new Error(`yargs failed to parse the command \"${args.join(' ')}\" and also failed to catch it properly`);\n }\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 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 const args = process.argv.slice(2);\n const isHelpFlagEntered = args.includes('--help') || args.includes('-h');\n let msgForDaemon = '';\n try {\n yargs.showHelp(this.logCommandHelp.bind(this));\n } catch (error: any) {\n if (error instanceof YargsExitWorkaround) {\n msgForDaemon = error.helpMsg;\n } else {\n throw error;\n }\n }\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 msgForDaemon += `\\n${chalk.yellow(msg)}`;\n }\n if (logger.isDaemon) throw new YargsExitWorkaround(1, msgForDaemon);\n 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 if (logger.isDaemon) throw new YargsExitWorkaround(0, help);\n else console.log(help); // eslint-disable-line no-console\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 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((optLine) => {\n const match = optLine.match(/^(\\s*)(.+?)(\\s{2,}.*)/);\n if (match) {\n const leadingSpaces = match[1];\n const optionPart = match[2];\n const rest = match[3];\n const coloredOptionPart = optionPart.replace(\n /(^|[^a-zA-Z0-9])(--?[a-zA-Z][a-zA-Z-]*)/g,\n (m, p1, p2) => p1 + chalk.green(p2)\n );\n return leadingSpaces + coloredOptionPart + rest;\n } else {\n return optLine;\n }\n });\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 if (logger.isDaemon) throw new YargsExitWorkaround(0, finalOutput);\n else console.log(finalOutput); // eslint-disable-line no-console\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","_legacy","_legacy2","_legacy3","_chalk","_getCommandId","_help","_yargsAdapter","_commandNotFound","_yargsExitWorkaround","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","fail","msg","err","stop","isHelpFlagEntered","includes","msgForDaemon","error","YargsExitWorkaround","helpMsg","isMsgAboutMissingArgs","startsWith","console","log","chalk","yellow","isDaemon","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","lines","split","linesWithoutEmpty","compact","cmdLine","description","globalOptions","subCommands","examples","optionsStarted","globalStarted","subCommandsStarted","positionalsStarted","examplesStarted","currentLine","STANDARD_GROUP","optionsColored","optLine","match","leadingSpaces","optionPart","rest","coloredOptionPart","replace","m","p1","p2","green","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 type { Command } from './command';\nimport type { GroupsType } from './command-groups';\nimport { compact } from 'lodash';\nimport { loadConsumerIfExist } from '@teambit/legacy.consumer';\nimport { logger } from '@teambit/legacy.logger';\nimport { loader } from '@teambit/legacy.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 type { OnCommandStartSlot } from './cli.main.runtime';\nimport type { CommandRunner } from './command-runner';\nimport { YargsExitWorkaround } from './exceptions/yargs-exit-workaround';\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.showHelpOnFail(false); // doesn't help. it still shows the help on failure.\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) {\n // this happens when the args/flags are wrong. in this case, it prints the help of the command and in most cases\n // exits the process before reaching this line. however, in case logger.isDaemon is true, which is for bit-cli-server,\n // it doesn't exits the process, so we need to return undefined here.\n throw new Error(`yargs failed to parse the command \"${args.join(' ')}\" and also failed to catch it properly`);\n }\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 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 const args = process.argv.slice(2);\n const isHelpFlagEntered = args.includes('--help') || args.includes('-h');\n let msgForDaemon = '';\n try {\n yargs.showHelp(this.logCommandHelp.bind(this));\n } catch (error: any) {\n if (error instanceof YargsExitWorkaround) {\n msgForDaemon = error.helpMsg;\n } else {\n throw error;\n }\n }\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 msgForDaemon += `\\n${chalk.yellow(msg)}`;\n }\n if (logger.isDaemon) throw new YargsExitWorkaround(1, msgForDaemon);\n 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 if (logger.isDaemon) throw new YargsExitWorkaround(0, help);\n else console.log(help); // eslint-disable-line no-console\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 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((optLine) => {\n const match = optLine.match(/^(\\s*)(.+?)(\\s{2,}.*)/);\n if (match) {\n const leadingSpaces = match[1];\n const optionPart = match[2];\n const rest = match[3];\n const coloredOptionPart = optionPart.replace(\n /(^|[^a-zA-Z0-9])(--?[a-zA-Z][a-zA-Z-]*)/g,\n (m, p1, p2) => p1 + chalk.green(p2)\n );\n return leadingSpaces + coloredOptionPart + rest;\n } else {\n return optLine;\n }\n });\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 if (logger.isDaemon) throw new YargsExitWorkaround(0, finalOutput);\n else console.log(finalOutput); // eslint-disable-line no-console\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.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Command, CommandOptions } from './command';
|
|
2
|
-
import { CLIMain } from './cli.main.runtime';
|
|
3
|
-
import { GenerateOpts } from './generate-doc-md';
|
|
2
|
+
import type { CLIMain } from './cli.main.runtime';
|
|
3
|
+
import type { GenerateOpts } from './generate-doc-md';
|
|
4
4
|
export declare class CliGenerateCmd implements Command {
|
|
5
5
|
private cliMain;
|
|
6
6
|
name: string;
|
package/dist/cli.cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_legacy","data","require","_handleErrors","_legacy2","_bit","_readline","_interopRequireDefault","_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 './command';\nimport { logger as legacyLogger } from '@teambit/legacy.logger';\nimport { handleErrorAndExit } from './handle-errors';\nimport { loadConsumerIfExist } from '@teambit/legacy.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 {
|
|
1
|
+
{"version":3,"names":["_legacy","data","require","_handleErrors","_legacy2","_bit","_readline","_interopRequireDefault","_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 './command';\nimport { logger as legacyLogger } from '@teambit/legacy.logger';\nimport { handleErrorAndExit } from './handle-errors';\nimport { loadConsumerIfExist } from '@teambit/legacy.consumer';\nimport { getBitVersion } from '@teambit/bit.get-bit-version';\nimport readline from 'readline';\nimport { CLIParser } from './cli-parser';\nimport type { CLIMain } from './cli.main.runtime';\nimport type { GenerateOpts } from './generate-doc-md';\nimport { GenerateCommandsDoc } 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 private = true;\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 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 = 'system';\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":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { SlotRegistry } from '@teambit/harmony';
|
|
2
|
-
import { CLIArgs, Flags, Command } from './command';
|
|
3
|
-
import { GroupsType } from './command-groups';
|
|
4
|
-
import { Logger, LoggerMain } from '@teambit/logger';
|
|
1
|
+
import type { SlotRegistry } from '@teambit/harmony';
|
|
2
|
+
import type { CLIArgs, Flags, Command } from './command';
|
|
3
|
+
import type { GroupsType } from './command-groups';
|
|
4
|
+
import type { Logger, LoggerMain } from '@teambit/logger';
|
|
5
5
|
export type CommandList = Array<Command>;
|
|
6
6
|
export type OnStart = (hasWorkspace: boolean, currentCommand: string, commandObject?: Command) => Promise<void>;
|
|
7
7
|
export type OnCommandStart = (commandName: string, args: CLIArgs, flags: Flags) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_harmony","data","require","_legacy","_pMapSeries","_interopRequireDefault","_commandGroups","_hostInitializer","_legacy2","_workspaceModules","_logger","_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","potentialWsPath","cwd","consumerInfo","getWorkspaceInfo","hasScope","hasBitMap","hasWorkspaceConfig","HostInitializerMain","init","url","startsWith"],"sources":["cli.main.runtime.ts"],"sourcesContent":["import { Slot, SlotRegistry } from '@teambit/harmony';\nimport { logger as legacyLogger } from '@teambit/legacy.logger';\nimport { CLIArgs, Flags, Command } from './command';\nimport pMapSeries from 'p-map-series';\nimport { groups, GroupsType } from './command-groups';\nimport { HostInitializerMain } from '@teambit/host-initializer';\nimport { loadConsumerIfExist } from '@teambit/legacy.consumer';\nimport { getWorkspaceInfo } from '@teambit/workspace.modules.workspace-locator';\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 {\n const potentialWsPath = process.cwd();\n const consumerInfo = await getWorkspaceInfo(potentialWsPath);\n if (consumerInfo && !consumerInfo.hasScope && consumerInfo.hasBitMap && consumerInfo.hasWorkspaceConfig) {\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","_legacy","_pMapSeries","_interopRequireDefault","_commandGroups","_hostInitializer","_legacy2","_workspaceModules","_logger","_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","potentialWsPath","cwd","consumerInfo","getWorkspaceInfo","hasScope","hasBitMap","hasWorkspaceConfig","HostInitializerMain","init","url","startsWith"],"sources":["cli.main.runtime.ts"],"sourcesContent":["import type { SlotRegistry } from '@teambit/harmony';\nimport { Slot } from '@teambit/harmony';\nimport { logger as legacyLogger } from '@teambit/legacy.logger';\nimport type { CLIArgs, Flags, Command } from './command';\nimport pMapSeries from 'p-map-series';\nimport type { GroupsType } from './command-groups';\nimport { groups } from './command-groups';\nimport { HostInitializerMain } from '@teambit/host-initializer';\nimport { loadConsumerIfExist } from '@teambit/legacy.consumer';\nimport { getWorkspaceInfo } from '@teambit/workspace.modules.workspace-locator';\nimport type { Logger, LoggerMain } from '@teambit/logger';\nimport { LoggerAspect } 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 {\n const potentialWsPath = process.cwd();\n const consumerInfo = await getWorkspaceInfo(potentialWsPath);\n if (consumerInfo && !consumerInfo.hasScope && consumerInfo.hasBitMap && consumerInfo.hasWorkspaceConfig) {\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":[]}
|
package/dist/command-helper.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","data","require","getArgsData","cmd","commandSplit","name","split","shift","map","existArg","trimmed","trim","startsWith","endsWith","Error","withoutBrackets","slice","foundInArguments","arguments","find","arg","nameRaw","nameCamelCase","camelCase","required","description","isArray","getFlagsData","options","opt","alias","flag","type","includes","requiresArg","getCommandName"],"sources":["command-helper.ts"],"sourcesContent":["import { Command } from './command';\nimport { camelCase } from 'lodash';\n\ntype ArgData = {\n /**\n * as it appears in the command name, e.g. \"component-pattern...\"\n */\n nameRaw: string;\n /**\n * to make it valid as a js variable name, e.g. \"componentPattern\"\n */\n nameCamelCase: string;\n required: boolean;\n description?: string;\n isArray?: boolean;\n};\n\nexport function getArgsData(cmd: Command): ArgData[] {\n const commandSplit = cmd.name.split(' ');\n commandSplit.shift(); // remove the first element, it's the command-name\n\n return commandSplit.map((existArg) => {\n const trimmed = existArg.trim();\n if ((!trimmed.startsWith('<') && !trimmed.startsWith('[')) || (!trimmed.endsWith('>') && !trimmed.endsWith(']'))) {\n throw new Error(`expect arg \"${trimmed}\" of \"${cmd.name}\" to be wrapped with \"[]\" or \"<>\"`);\n }\n // remove the opening and closing brackets\n const withoutBrackets = trimmed.slice(1, -1);\n const foundInArguments = cmd.arguments?.find((arg) => arg.name === withoutBrackets);\n\n return {\n nameRaw: withoutBrackets,\n nameCamelCase: camelCase(withoutBrackets), // it also removes the \"...\" if exists\n required: trimmed.startsWith('<'),\n description: foundInArguments?.description,\n isArray: withoutBrackets.endsWith('...'),\n };\n });\n}\n\ntype FlagData = {\n name: string;\n alias?: string;\n description: string;\n type: 'string' | 'boolean';\n requiresArg: boolean; // a value is required after the flag. e.g. 'message <message>'\n};\n\nexport function getFlagsData(cmd: Command): FlagData[] {\n const options = cmd.options;\n if (!options) return [];\n return options.map((opt) => {\n const [alias, flag, description] = opt;\n const name = flag.split(' ')[0];\n const type = flag.includes('<') || flag.includes('[') ? 'string' : 'boolean';\n const requiresArg = flag.includes('<');\n\n return {\n name,\n alias,\n description,\n type,\n requiresArg,\n };\n });\n}\n\nexport function getCommandName(cmd: Command): string {\n return cmd.name.split(' ')[0];\n}\n"],"mappings":";;;;;;;;AACA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAgBO,SAASE,WAAWA,CAACC,GAAY,EAAa;EACnD,MAAMC,YAAY,GAAGD,GAAG,CAACE,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC;EACxCF,YAAY,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;;EAEtB,OAAOH,YAAY,CAACI,GAAG,CAAEC,QAAQ,IAAK;IACpC,MAAMC,OAAO,GAAGD,QAAQ,CAACE,IAAI,CAAC,CAAC;IAC/B,IAAK,CAACD,OAAO,CAACE,UAAU,CAAC,GAAG,CAAC,IAAI,CAACF,OAAO,CAACE,UAAU,CAAC,GAAG,CAAC,IAAM,CAACF,OAAO,CAACG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAACH,OAAO,CAACG,QAAQ,CAAC,GAAG,CAAE,EAAE;MAChH,MAAM,IAAIC,KAAK,CAAC,eAAeJ,OAAO,SAASP,GAAG,CAACE,IAAI,mCAAmC,CAAC;IAC7F;IACA;IACA,MAAMU,eAAe,GAAGL,OAAO,CAACM,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAMC,gBAAgB,GAAGd,GAAG,CAACe,SAAS,EAAEC,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACf,IAAI,KAAKU,eAAe,CAAC;IAEnF,OAAO;MACLM,OAAO,EAAEN,eAAe;MACxBO,aAAa,EAAE,IAAAC,mBAAS,EAACR,eAAe,CAAC;MAAE;MAC3CS,QAAQ,EAAEd,OAAO,CAACE,UAAU,CAAC,GAAG,CAAC;MACjCa,WAAW,EAAER,gBAAgB,EAAEQ,WAAW;MAC1CC,OAAO,EAAEX,eAAe,CAACF,QAAQ,CAAC,KAAK;IACzC,CAAC;EACH,CAAC,CAAC;AACJ;AAUO,SAASc,YAAYA,CAACxB,GAAY,EAAc;EACrD,MAAMyB,OAAO,GAAGzB,GAAG,CAACyB,OAAO;EAC3B,IAAI,CAACA,OAAO,EAAE,OAAO,EAAE;EACvB,OAAOA,OAAO,CAACpB,GAAG,CAAEqB,GAAG,IAAK;IAC1B,MAAM,CAACC,KAAK,EAAEC,IAAI,EAAEN,WAAW,CAAC,GAAGI,GAAG;IACtC,MAAMxB,IAAI,GAAG0B,IAAI,CAACzB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM0B,IAAI,GAAGD,IAAI,CAACE,QAAQ,CAAC,GAAG,CAAC,IAAIF,IAAI,CAACE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,SAAS;IAC5E,MAAMC,WAAW,GAAGH,IAAI,CAACE,QAAQ,CAAC,GAAG,CAAC;IAEtC,OAAO;MACL5B,IAAI;MACJyB,KAAK;MACLL,WAAW;MACXO,IAAI;MACJE;IACF,CAAC;EACH,CAAC,CAAC;AACJ;AAEO,SAASC,cAAcA,CAAChC,GAAY,EAAU;EACnD,OAAOA,GAAG,CAACE,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/B","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_lodash","data","require","getArgsData","cmd","commandSplit","name","split","shift","map","existArg","trimmed","trim","startsWith","endsWith","Error","withoutBrackets","slice","foundInArguments","arguments","find","arg","nameRaw","nameCamelCase","camelCase","required","description","isArray","getFlagsData","options","opt","alias","flag","type","includes","requiresArg","getCommandName"],"sources":["command-helper.ts"],"sourcesContent":["import type { Command } from './command';\nimport { camelCase } from 'lodash';\n\ntype ArgData = {\n /**\n * as it appears in the command name, e.g. \"component-pattern...\"\n */\n nameRaw: string;\n /**\n * to make it valid as a js variable name, e.g. \"componentPattern\"\n */\n nameCamelCase: string;\n required: boolean;\n description?: string;\n isArray?: boolean;\n};\n\nexport function getArgsData(cmd: Command): ArgData[] {\n const commandSplit = cmd.name.split(' ');\n commandSplit.shift(); // remove the first element, it's the command-name\n\n return commandSplit.map((existArg) => {\n const trimmed = existArg.trim();\n if ((!trimmed.startsWith('<') && !trimmed.startsWith('[')) || (!trimmed.endsWith('>') && !trimmed.endsWith(']'))) {\n throw new Error(`expect arg \"${trimmed}\" of \"${cmd.name}\" to be wrapped with \"[]\" or \"<>\"`);\n }\n // remove the opening and closing brackets\n const withoutBrackets = trimmed.slice(1, -1);\n const foundInArguments = cmd.arguments?.find((arg) => arg.name === withoutBrackets);\n\n return {\n nameRaw: withoutBrackets,\n nameCamelCase: camelCase(withoutBrackets), // it also removes the \"...\" if exists\n required: trimmed.startsWith('<'),\n description: foundInArguments?.description,\n isArray: withoutBrackets.endsWith('...'),\n };\n });\n}\n\ntype FlagData = {\n name: string;\n alias?: string;\n description: string;\n type: 'string' | 'boolean';\n requiresArg: boolean; // a value is required after the flag. e.g. 'message <message>'\n};\n\nexport function getFlagsData(cmd: Command): FlagData[] {\n const options = cmd.options;\n if (!options) return [];\n return options.map((opt) => {\n const [alias, flag, description] = opt;\n const name = flag.split(' ')[0];\n const type = flag.includes('<') || flag.includes('[') ? 'string' : 'boolean';\n const requiresArg = flag.includes('<');\n\n return {\n name,\n alias,\n description,\n type,\n requiresArg,\n };\n });\n}\n\nexport function getCommandName(cmd: Command): string {\n return cmd.name.split(' ')[0];\n}\n"],"mappings":";;;;;;;;AACA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAgBO,SAASE,WAAWA,CAACC,GAAY,EAAa;EACnD,MAAMC,YAAY,GAAGD,GAAG,CAACE,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC;EACxCF,YAAY,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;;EAEtB,OAAOH,YAAY,CAACI,GAAG,CAAEC,QAAQ,IAAK;IACpC,MAAMC,OAAO,GAAGD,QAAQ,CAACE,IAAI,CAAC,CAAC;IAC/B,IAAK,CAACD,OAAO,CAACE,UAAU,CAAC,GAAG,CAAC,IAAI,CAACF,OAAO,CAACE,UAAU,CAAC,GAAG,CAAC,IAAM,CAACF,OAAO,CAACG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAACH,OAAO,CAACG,QAAQ,CAAC,GAAG,CAAE,EAAE;MAChH,MAAM,IAAIC,KAAK,CAAC,eAAeJ,OAAO,SAASP,GAAG,CAACE,IAAI,mCAAmC,CAAC;IAC7F;IACA;IACA,MAAMU,eAAe,GAAGL,OAAO,CAACM,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAMC,gBAAgB,GAAGd,GAAG,CAACe,SAAS,EAAEC,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACf,IAAI,KAAKU,eAAe,CAAC;IAEnF,OAAO;MACLM,OAAO,EAAEN,eAAe;MACxBO,aAAa,EAAE,IAAAC,mBAAS,EAACR,eAAe,CAAC;MAAE;MAC3CS,QAAQ,EAAEd,OAAO,CAACE,UAAU,CAAC,GAAG,CAAC;MACjCa,WAAW,EAAER,gBAAgB,EAAEQ,WAAW;MAC1CC,OAAO,EAAEX,eAAe,CAACF,QAAQ,CAAC,KAAK;IACzC,CAAC;EACH,CAAC,CAAC;AACJ;AAUO,SAASc,YAAYA,CAACxB,GAAY,EAAc;EACrD,MAAMyB,OAAO,GAAGzB,GAAG,CAACyB,OAAO;EAC3B,IAAI,CAACA,OAAO,EAAE,OAAO,EAAE;EACvB,OAAOA,OAAO,CAACpB,GAAG,CAAEqB,GAAG,IAAK;IAC1B,MAAM,CAACC,KAAK,EAAEC,IAAI,EAAEN,WAAW,CAAC,GAAGI,GAAG;IACtC,MAAMxB,IAAI,GAAG0B,IAAI,CAACzB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM0B,IAAI,GAAGD,IAAI,CAACE,QAAQ,CAAC,GAAG,CAAC,IAAIF,IAAI,CAACE,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,SAAS;IAC5E,MAAMC,WAAW,GAAGH,IAAI,CAACE,QAAQ,CAAC,GAAG,CAAC;IAEtC,OAAO;MACL5B,IAAI;MACJyB,KAAK;MACLL,WAAW;MACXO,IAAI;MACJE;IACF,CAAC;EACH,CAAC,CAAC;AACJ;AAEO,SAASC,cAAcA,CAAChC,GAAY,EAAU;EACnD,OAAOA,GAAG,CAACE,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/B","ignoreList":[]}
|
package/dist/command-runner.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CLIArgs, Command, Flags } from './command';
|
|
2
|
-
import { OnCommandStartSlot } from './cli.main.runtime';
|
|
1
|
+
import type { CLIArgs, Command, Flags } from './command';
|
|
2
|
+
import type { OnCommandStartSlot } from './cli.main.runtime';
|
|
3
3
|
type CommandResult = {
|
|
4
4
|
data: any;
|
|
5
5
|
exitCode: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_legacy","data","require","_legacy2","_handleErrors","_legacy3","_globalFlags","_interopRequireDefault","_legacy4","_pMapSeries","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","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","error","info","token","TOKEN_FLAG_NAME","globalFlags","toString","funcs","values","pMapSeries","onCommandStart","undefined","result","code","exitCode","isJsonStream","Boolean","stream","end","jsonStr","JSON","stringify","writeAndExit","loader","off","shouldDisableLoader","on","start","shouldWriteToConsole","process","stdout","write","exitAfterFlush","exports","split"],"sources":["command-runner.ts"],"sourcesContent":["import { logger, shouldDisableLoader } from '@teambit/legacy.logger';\nimport { CLIArgs, Command, Flags } from './command';\nimport { loader } from '@teambit/legacy.loader';\nimport { handleErrorAndExit } from './handle-errors';\nimport { TOKEN_FLAG_NAME } from '@teambit/legacy.constants';\nimport globalFlags from './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 try {\n Analytics.init(this.commandName, this.flags, this.args);\n } catch (err: any) {\n // ignoring the error, we don't want to fail the app if analytics failed.\n logger.error('failed to initialize analytics', err);\n }\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 const isJsonStream = Boolean(this.flags.stream);\n if (isJsonStream) data.end = true;\n const jsonStr = isJsonStream ? `${JSON.stringify(data)}\\n` : JSON.stringify(data, null, 2);\n await this.writeAndExit(jsonStr, 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":[]}
|
|
1
|
+
{"version":3,"names":["_legacy","data","require","_legacy2","_handleErrors","_legacy3","_globalFlags","_interopRequireDefault","_legacy4","_pMapSeries","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","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","error","info","token","TOKEN_FLAG_NAME","globalFlags","toString","funcs","values","pMapSeries","onCommandStart","undefined","result","code","exitCode","isJsonStream","Boolean","stream","end","jsonStr","JSON","stringify","writeAndExit","loader","off","shouldDisableLoader","on","start","shouldWriteToConsole","process","stdout","write","exitAfterFlush","exports","split"],"sources":["command-runner.ts"],"sourcesContent":["import { logger, shouldDisableLoader } from '@teambit/legacy.logger';\nimport type { CLIArgs, Command, Flags } from './command';\nimport { loader } from '@teambit/legacy.loader';\nimport { handleErrorAndExit } from './handle-errors';\nimport { TOKEN_FLAG_NAME } from '@teambit/legacy.constants';\nimport globalFlags from './global-flags';\nimport { Analytics } from '@teambit/legacy.analytics';\nimport type { 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 try {\n Analytics.init(this.commandName, this.flags, this.args);\n } catch (err: any) {\n // ignoring the error, we don't want to fail the app if analytics failed.\n logger.error('failed to initialize analytics', err);\n }\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 const isJsonStream = Boolean(this.flags.stream);\n if (isJsonStream) data.end = true;\n const jsonStr = isJsonStream ? `${JSON.stringify(data)}\\n` : JSON.stringify(data, null, 2);\n await this.writeAndExit(jsonStr, 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/command.d.ts
CHANGED
package/dist/command.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["command.ts"],"sourcesContent":["import { Group } from './command-groups';\n\ntype CommandOption = [string, string, string];\nexport type CommandOptions = Array<CommandOption>;\n\nexport interface Command {\n /**\n * Name of command with arguments:\n * <> for mandatory arguments.\n * [] for optional arguments.\n * e.g. 'add <path>'\n */\n name: string;\n\n /**\n * command alias (for example: 't' for 'tag')\n */\n alias?: string;\n\n /**\n * The description of the command. Being used in the commands summery (`bit --help`) and the help (e.g. `bit create --help`).\n * should be short and precise. not more than one line. (use extendedDescription for more info).\n */\n description: string;\n\n /**\n * The extended description of the command. Will be seen in only in the command help, just after the description.\n */\n extendedDescription?: string;\n\n /**\n * url to a doc page explaining the command. shown in the command help just after the extendedDescription.\n * if a relative url is entered, the base url will be retrieved from `teambit.community/community` aspect.\n */\n helpUrl?: string;\n\n /**\n * allow grouping of commands to hint summery renderer\n * Places in default automatic help\n */\n group?: Group | string;\n\n /**\n * should a command be exposed to the user (by bit help).\n * e.g. experimental or plumbing commands should be hidden.\n */\n private?: boolean;\n\n /**\n * should turn on Loader.\n * the default is false for internal-commands and true for others.\n * @see cliMain.setDefaults()\n */\n loader?: boolean;\n\n /**\n * Array of command options where each element is a tuple.\n * ['flag alias', 'flag name', 'flag description']\n * for example:\n * ['j', 'json', 'output json format']\n */\n options: CommandOptions;\n\n /**\n * arguments are defined in the \"name\" property, and that's where the source of truth is.\n * this prop is optional and provides a way to describe the args. later, it'll support more fields, such as defaultValue.\n * if this is set, it'll be shown in the command help under \"Arguments\" section.\n */\n arguments?: CommandArg[];\n\n /**\n * sub commands for example:\n * bit capsule list to list active capsules.\n */\n commands?: Command[];\n\n /**\n * interact with a remote, e.g. \"export\" push to a remote\n * for now, the only difference is that they get a \"token\" flag to authenticate anonymously.\n */\n remoteOp?: boolean;\n\n /**\n * if true, it indicates that it doesn't need the workspace to work and can be executed outside a\n * workspace\n */\n skipWorkspace?: boolean;\n\n /**\n * optionally, give some examples how to use the command.\n */\n examples?: Example[];\n\n /**\n * whether to load aspects set in workspace.jsonc before running the command.\n * default is true.\n */\n loadAspects?: boolean;\n\n /**\n * do not set this. it is being set once the command run.\n * the values are those followed `--` in the command line. (e.g. `bit import -- --no-optional`)\n */\n _packageManagerArgs?: string[];\n\n /**\n * Command handler which prints the return value to the console and exits.\n * If the command has both, `render` and `report`, this one will be called when process.isTTY is false.\n * @param args - arguments object as defined in name.\n * @param flags - command flags as described in options.\n * @return - Report object. The Report.data is printed to the stdout as is.\n */\n report?(args: CLIArgs, flags: Flags): Promise<string | Report>;\n\n /**\n * Command handler which never exits the process\n * @param args - arguments object as defined in name.\n * @param flags - command flags as described in options.\n */\n wait?(args: CLIArgs, flags: Flags): Promise<void>;\n\n /**\n * Optional handler to provide a raw result of the command.\n * Will be go called if '-j'/'--json' option is provided by user.\n * @param args - arguments object as defined in name.\n * @param flags - command flags as described in options.\n * @return a GenericObject to be rendered to string (by json.stringify) in the console.\n */\n json?(args: CLIArgs, flags: Flags): Promise<GenericObject>;\n}\nexport type Flags = { [flagName: string]: string | boolean | undefined | any };\nexport type CLIArgs = Array<string[] | string>;\nexport type GenericObject = { [k: string]: any };\nexport type Report = { data: string; code: number };\nexport type CommandArg = { name: string; description?: string };\nexport type Example = { cmd: string; description: string };\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["command.ts"],"sourcesContent":["import type { Group } from './command-groups';\n\ntype CommandOption = [string, string, string];\nexport type CommandOptions = Array<CommandOption>;\n\nexport interface Command {\n /**\n * Name of command with arguments:\n * <> for mandatory arguments.\n * [] for optional arguments.\n * e.g. 'add <path>'\n */\n name: string;\n\n /**\n * command alias (for example: 't' for 'tag')\n */\n alias?: string;\n\n /**\n * The description of the command. Being used in the commands summery (`bit --help`) and the help (e.g. `bit create --help`).\n * should be short and precise. not more than one line. (use extendedDescription for more info).\n */\n description: string;\n\n /**\n * The extended description of the command. Will be seen in only in the command help, just after the description.\n */\n extendedDescription?: string;\n\n /**\n * url to a doc page explaining the command. shown in the command help just after the extendedDescription.\n * if a relative url is entered, the base url will be retrieved from `teambit.community/community` aspect.\n */\n helpUrl?: string;\n\n /**\n * allow grouping of commands to hint summery renderer\n * Places in default automatic help\n */\n group?: Group | string;\n\n /**\n * should a command be exposed to the user (by bit help).\n * e.g. experimental or plumbing commands should be hidden.\n */\n private?: boolean;\n\n /**\n * should turn on Loader.\n * the default is false for internal-commands and true for others.\n * @see cliMain.setDefaults()\n */\n loader?: boolean;\n\n /**\n * Array of command options where each element is a tuple.\n * ['flag alias', 'flag name', 'flag description']\n * for example:\n * ['j', 'json', 'output json format']\n */\n options: CommandOptions;\n\n /**\n * arguments are defined in the \"name\" property, and that's where the source of truth is.\n * this prop is optional and provides a way to describe the args. later, it'll support more fields, such as defaultValue.\n * if this is set, it'll be shown in the command help under \"Arguments\" section.\n */\n arguments?: CommandArg[];\n\n /**\n * sub commands for example:\n * bit capsule list to list active capsules.\n */\n commands?: Command[];\n\n /**\n * interact with a remote, e.g. \"export\" push to a remote\n * for now, the only difference is that they get a \"token\" flag to authenticate anonymously.\n */\n remoteOp?: boolean;\n\n /**\n * if true, it indicates that it doesn't need the workspace to work and can be executed outside a\n * workspace\n */\n skipWorkspace?: boolean;\n\n /**\n * optionally, give some examples how to use the command.\n */\n examples?: Example[];\n\n /**\n * whether to load aspects set in workspace.jsonc before running the command.\n * default is true.\n */\n loadAspects?: boolean;\n\n /**\n * do not set this. it is being set once the command run.\n * the values are those followed `--` in the command line. (e.g. `bit import -- --no-optional`)\n */\n _packageManagerArgs?: string[];\n\n /**\n * Command handler which prints the return value to the console and exits.\n * If the command has both, `render` and `report`, this one will be called when process.isTTY is false.\n * @param args - arguments object as defined in name.\n * @param flags - command flags as described in options.\n * @return - Report object. The Report.data is printed to the stdout as is.\n */\n report?(args: CLIArgs, flags: Flags): Promise<string | Report>;\n\n /**\n * Command handler which never exits the process\n * @param args - arguments object as defined in name.\n * @param flags - command flags as described in options.\n */\n wait?(args: CLIArgs, flags: Flags): Promise<void>;\n\n /**\n * Optional handler to provide a raw result of the command.\n * Will be go called if '-j'/'--json' option is provided by user.\n * @param args - arguments object as defined in name.\n * @param flags - command flags as described in options.\n * @return a GenericObject to be rendered to string (by json.stringify) in the console.\n */\n json?(args: CLIArgs, flags: Flags): Promise<GenericObject>;\n}\nexport type Flags = { [flagName: string]: string | boolean | undefined | any };\nexport type CLIArgs = Array<string[] | string>;\nexport type GenericObject = { [k: string]: any };\nexport type Report = { data: string; code: number };\nexport type CommandArg = { name: string; description?: string };\nexport type Example = { cmd: string; description: string };\n"],"mappings":"","ignoreList":[]}
|
package/dist/completion.cmd.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CompletionCmd","constructor","_defineProperty","exports"],"sources":["completion.cmd.ts"],"sourcesContent":["import { Command } from './command';\n\nexport class CompletionCmd implements Command {\n name = 'completion';\n description = 'enable bash/zsh-completion shortcuts for commands and options';\n alias = '';\n group = 'system';\n options = [];\n private = true;\n}\n"],"mappings":";;;;;;;;;AAEO,MAAMA,aAAa,CAAoB;EAAAC,YAAA;IAAAC,eAAA,eACrC,YAAY;IAAAA,eAAA,sBACL,+DAA+D;IAAAA,eAAA,gBACrE,EAAE;IAAAA,eAAA,gBACF,QAAQ;IAAAA,eAAA,kBACN,EAAE;IAAAA,eAAA,kBACF,IAAI;EAAA;AAChB;AAACC,OAAA,CAAAH,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["CompletionCmd","constructor","_defineProperty","exports"],"sources":["completion.cmd.ts"],"sourcesContent":["import type { Command } from './command';\n\nexport class CompletionCmd implements Command {\n name = 'completion';\n description = 'enable bash/zsh-completion shortcuts for commands and options';\n alias = '';\n group = 'system';\n options = [];\n private = true;\n}\n"],"mappings":";;;;;;;;;AAEO,MAAMA,aAAa,CAAoB;EAAAC,YAAA;IAAAC,eAAA,eACrC,YAAY;IAAAA,eAAA,sBACL,+DAA+D;IAAAA,eAAA,gBACrE,EAAE;IAAAA,eAAA,gBACF,QAAQ;IAAAA,eAAA,kBACN,EAAE;IAAAA,eAAA,kBACF,IAAI;EAAA;AAChB;AAACC,OAAA,CAAAH,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","data","require","_getCommandId","GenerateCommandsDoc","constructor","commands","options","generate","getAllPublicCommandsSorted","output","getFrontmatter","map","cmd","generateCommand","join","generateJson","commandsToObjects","command","cmdObject","oneCommandToObject","length","metadata","metadataStr","Object","keys","key","publicCommands","filter","private","sort","a","b","name","localeCompare","commandName","getCommandId","result","alias","formatDescription","generateSubCommands","generateArguments","arguments","generateOptions","subCommands","ret","forEach","subCommand","subcommandName","usage","args","arg","description","replaceAll","opt","flag","aliasFormatted","flagFormatted","formatStringToMD","str","split","extendedDescription","exports","pick"],"sources":["generate-doc-md.ts"],"sourcesContent":["import { CommandOptions, Command, CommandArg } from './command';\nimport { pick } from 'lodash';\nimport { getCommandId } from './get-command-id';\n\nexport type GenerateOpts = {\n metadata?: Record<string, string>;\n};\n\ntype CommandObject = ReturnType<typeof oneCommandToObject> & { commands?: any };\n\nexport class GenerateCommandsDoc {\n constructor(\n private commands: Command[],\n private options: GenerateOpts\n ) {}\n\n generate(): string {\n const commands = this.getAllPublicCommandsSorted();\n let output = `${this.getFrontmatter()}\n# CLI Reference\n\nRun the following to list all available Bit commands (alternatively, use the \\`-h\\` alias, instead of \\`--help\\`):\n\n\\`\\`\\`sh\nbit --help\n\\`\\`\\`\n\nRun the following to get help on a specific command:\n\n\\`\\`\\`sh\nbit COMMAND --help\n\\`\\`\\`\n\nRun the following to get help on a specific sub-command:\n\n\\`\\`\\`sh\nbit COMMAND SUB_COMMAND --help\n\\`\\`\\`\n`;\n output += commands.map((cmd) => this.generateCommand(cmd)).join('\\n');\n\n return output;\n }\n\n generateJson() {\n return this.commandsToObjects();\n }\n\n private commandsToObjects(commands: Command[] = this.commands): CommandObject[] {\n return commands.map((command) => {\n const cmdObject: CommandObject = oneCommandToObject(command);\n if (command.commands?.length) {\n cmdObject.commands = this.commandsToObjects(command.commands);\n }\n return cmdObject;\n });\n }\n\n private getFrontmatter() {\n const metadata = this.options.metadata;\n if (!metadata) {\n return '';\n }\n const metadataStr = Object.keys(metadata)\n .map((key) => `${key}: ${metadata[key]}`)\n .join('\\n');\n\n return `---\n ${metadataStr}\n ---\n`;\n }\n\n private getAllPublicCommandsSorted() {\n const publicCommands = this.commands.filter((cmd) => !cmd.private);\n return publicCommands.sort((a, b) => a.name.localeCompare(b.name));\n }\n\n private generateCommand(cmd: Command) {\n const commandName = getCommandId(cmd.name);\n let result = `## ${commandName} \\n\\n`;\n if (cmd.alias && cmd.alias.length > 0) {\n result += `**Alias**: \\`${cmd.alias}\\` \\n`;\n }\n result += `**Description**: ${this.formatDescription(cmd)}`;\n result += `\\`bit ${cmd.name}\\` \\n\\n`;\n\n if (cmd.commands && cmd.commands.length > 0) {\n result += this.generateSubCommands(cmd.commands, cmd);\n }\n result += this.generateArguments(cmd.arguments);\n result += this.generateOptions(cmd.options);\n result += `--- \\n`;\n\n return result;\n }\n\n private generateSubCommands(subCommands: Command[], command: Command) {\n let ret = '';\n subCommands.forEach((subCommand) => {\n const commandName = getCommandId(command.name);\n const subcommandName = getCommandId(subCommand.name);\n const usage = `${commandName} ${subCommand.name}`;\n ret += `### ${commandName} ${subcommandName} \\n`;\n ret += `**Usage**: \\`${usage}\\` \\n\\n`;\n ret += `**Description**: ${this.formatDescription(subCommand)}`;\n\n ret += '\\n';\n ret += this.generateArguments(subCommand.arguments);\n ret += this.generateOptions(subCommand.options);\n });\n return ret;\n }\n\n private generateArguments(args?: CommandArg[]): string {\n if (!args || !args.length) return '';\n let output = `| **Arg** | **Description** | \\n`;\n output += `|---|:-----:|\\n`;\n args.forEach((arg) => {\n const { name, description } = arg;\n output += `|\\`${name}\\`|${(description || '').replaceAll('\\n', ' ')}|\\n`;\n });\n output += `\\n`;\n return output;\n }\n\n private generateOptions(options: CommandOptions): string {\n if (!options || options.length <= 0) return '';\n let output = `| **Option** | **Option alias** | **Description**| \\n`;\n output += `|---|:-----:|---|\\n`;\n options.forEach((opt) => {\n const [alias, flag, description] = opt;\n const aliasFormatted = alias ? `\\`-${alias}\\`` : ' ';\n const flagFormatted = `--${flag}`;\n output += `|\\`${flagFormatted}\\`|${aliasFormatted}|${description.replaceAll('\\n', ' ')}|\\n`;\n });\n output += `\\n`;\n return output;\n }\n\n private formatStringToMD(str: string): string {\n return str.split('\\n').join(' \\n');\n }\n\n private formatDescription(command: Command): string {\n const extendedDescription = command.extendedDescription\n ? ` \\n${this.formatStringToMD(command.extendedDescription)}`\n : '';\n const description = this.formatStringToMD(command.description as string);\n return `${description}${extendedDescription} \\n\\n`;\n }\n}\n\nfunction oneCommandToObject(command: Command) {\n return pick(command, [\n 'name',\n 'alias',\n 'options',\n 'description',\n 'extendedDescription',\n 'group',\n 'private',\n 'internal',\n 'remoteOp',\n 'skipWorkspace',\n 'arguments',\n 'examples',\n ]);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_lodash","data","require","_getCommandId","GenerateCommandsDoc","constructor","commands","options","generate","getAllPublicCommandsSorted","output","getFrontmatter","map","cmd","generateCommand","join","generateJson","commandsToObjects","command","cmdObject","oneCommandToObject","length","metadata","metadataStr","Object","keys","key","publicCommands","filter","private","sort","a","b","name","localeCompare","commandName","getCommandId","result","alias","formatDescription","generateSubCommands","generateArguments","arguments","generateOptions","subCommands","ret","forEach","subCommand","subcommandName","usage","args","arg","description","replaceAll","opt","flag","aliasFormatted","flagFormatted","formatStringToMD","str","split","extendedDescription","exports","pick"],"sources":["generate-doc-md.ts"],"sourcesContent":["import type { CommandOptions, Command, CommandArg } from './command';\nimport { pick } from 'lodash';\nimport { getCommandId } from './get-command-id';\n\nexport type GenerateOpts = {\n metadata?: Record<string, string>;\n};\n\ntype CommandObject = ReturnType<typeof oneCommandToObject> & { commands?: any };\n\nexport class GenerateCommandsDoc {\n constructor(\n private commands: Command[],\n private options: GenerateOpts\n ) {}\n\n generate(): string {\n const commands = this.getAllPublicCommandsSorted();\n let output = `${this.getFrontmatter()}\n# CLI Reference\n\nRun the following to list all available Bit commands (alternatively, use the \\`-h\\` alias, instead of \\`--help\\`):\n\n\\`\\`\\`sh\nbit --help\n\\`\\`\\`\n\nRun the following to get help on a specific command:\n\n\\`\\`\\`sh\nbit COMMAND --help\n\\`\\`\\`\n\nRun the following to get help on a specific sub-command:\n\n\\`\\`\\`sh\nbit COMMAND SUB_COMMAND --help\n\\`\\`\\`\n`;\n output += commands.map((cmd) => this.generateCommand(cmd)).join('\\n');\n\n return output;\n }\n\n generateJson() {\n return this.commandsToObjects();\n }\n\n private commandsToObjects(commands: Command[] = this.commands): CommandObject[] {\n return commands.map((command) => {\n const cmdObject: CommandObject = oneCommandToObject(command);\n if (command.commands?.length) {\n cmdObject.commands = this.commandsToObjects(command.commands);\n }\n return cmdObject;\n });\n }\n\n private getFrontmatter() {\n const metadata = this.options.metadata;\n if (!metadata) {\n return '';\n }\n const metadataStr = Object.keys(metadata)\n .map((key) => `${key}: ${metadata[key]}`)\n .join('\\n');\n\n return `---\n ${metadataStr}\n ---\n`;\n }\n\n private getAllPublicCommandsSorted() {\n const publicCommands = this.commands.filter((cmd) => !cmd.private);\n return publicCommands.sort((a, b) => a.name.localeCompare(b.name));\n }\n\n private generateCommand(cmd: Command) {\n const commandName = getCommandId(cmd.name);\n let result = `## ${commandName} \\n\\n`;\n if (cmd.alias && cmd.alias.length > 0) {\n result += `**Alias**: \\`${cmd.alias}\\` \\n`;\n }\n result += `**Description**: ${this.formatDescription(cmd)}`;\n result += `\\`bit ${cmd.name}\\` \\n\\n`;\n\n if (cmd.commands && cmd.commands.length > 0) {\n result += this.generateSubCommands(cmd.commands, cmd);\n }\n result += this.generateArguments(cmd.arguments);\n result += this.generateOptions(cmd.options);\n result += `--- \\n`;\n\n return result;\n }\n\n private generateSubCommands(subCommands: Command[], command: Command) {\n let ret = '';\n subCommands.forEach((subCommand) => {\n const commandName = getCommandId(command.name);\n const subcommandName = getCommandId(subCommand.name);\n const usage = `${commandName} ${subCommand.name}`;\n ret += `### ${commandName} ${subcommandName} \\n`;\n ret += `**Usage**: \\`${usage}\\` \\n\\n`;\n ret += `**Description**: ${this.formatDescription(subCommand)}`;\n\n ret += '\\n';\n ret += this.generateArguments(subCommand.arguments);\n ret += this.generateOptions(subCommand.options);\n });\n return ret;\n }\n\n private generateArguments(args?: CommandArg[]): string {\n if (!args || !args.length) return '';\n let output = `| **Arg** | **Description** | \\n`;\n output += `|---|:-----:|\\n`;\n args.forEach((arg) => {\n const { name, description } = arg;\n output += `|\\`${name}\\`|${(description || '').replaceAll('\\n', ' ')}|\\n`;\n });\n output += `\\n`;\n return output;\n }\n\n private generateOptions(options: CommandOptions): string {\n if (!options || options.length <= 0) return '';\n let output = `| **Option** | **Option alias** | **Description**| \\n`;\n output += `|---|:-----:|---|\\n`;\n options.forEach((opt) => {\n const [alias, flag, description] = opt;\n const aliasFormatted = alias ? `\\`-${alias}\\`` : ' ';\n const flagFormatted = `--${flag}`;\n output += `|\\`${flagFormatted}\\`|${aliasFormatted}|${description.replaceAll('\\n', ' ')}|\\n`;\n });\n output += `\\n`;\n return output;\n }\n\n private formatStringToMD(str: string): string {\n return str.split('\\n').join(' \\n');\n }\n\n private formatDescription(command: Command): string {\n const extendedDescription = command.extendedDescription\n ? ` \\n${this.formatStringToMD(command.extendedDescription)}`\n : '';\n const description = this.formatStringToMD(command.description as string);\n return `${description}${extendedDescription} \\n\\n`;\n }\n}\n\nfunction oneCommandToObject(command: Command) {\n return pick(command, [\n 'name',\n 'alias',\n 'options',\n 'description',\n 'extendedDescription',\n 'group',\n 'private',\n 'internal',\n 'remoteOp',\n 'skipWorkspace',\n 'arguments',\n 'examples',\n ]);\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/help.cmd.d.ts
CHANGED
package/dist/help.cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_help","data","require","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","HelpCmd","constructor","cliMain","report","_","internal","formatHelp","commands","groups","exports"],"sources":["help.cmd.ts"],"sourcesContent":["import type { Command, CommandOptions } from './command';\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 = 'system';\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;AAAoC,SAAAE,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAE7B,MAAMgB,OAAO,CAAoB;EAQtCC,WAAWA,CAASC,OAAgB,EAAE;IAAA,KAAlBA,OAAgB,GAAhBA,OAAgB;IAAArB,eAAA,eAP7B,MAAM;IAAAA,eAAA,sBACC,YAAY;IAAAA,eAAA,gBAClB,IAAI;IAAE;IAAAA,eAAA,iBACL,KAAK;IAAAA,eAAA,gBACN,QAAQ;IAAAA,eAAA,kBACN,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,wBAAwB,CAAC,CAAC;EAEf;EAEvC,MAAMsB,MAAMA,CAACC,CAAC,EAAE;IAAEC;EAAgC,CAAC,EAAE;IACnD,OAAO,IAAAC,kBAAU,EAAC,IAAI,CAACJ,OAAO,CAACK,QAAQ,EAAE,IAAI,CAACL,OAAO,CAACM,MAAM,EAAEH,QAAQ,CAAC;EACzE;AACF;AAACI,OAAA,CAAAT,OAAA,GAAAA,OAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_help","data","require","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","HelpCmd","constructor","cliMain","report","_","internal","formatHelp","commands","groups","exports"],"sources":["help.cmd.ts"],"sourcesContent":["import type { Command, CommandOptions } from './command';\nimport type { 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 = 'system';\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;AAAoC,SAAAE,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAE7B,MAAMgB,OAAO,CAAoB;EAQtCC,WAAWA,CAASC,OAAgB,EAAE;IAAA,KAAlBA,OAAgB,GAAhBA,OAAgB;IAAArB,eAAA,eAP7B,MAAM;IAAAA,eAAA,sBACC,YAAY;IAAAA,eAAA,gBAClB,IAAI;IAAE;IAAAA,eAAA,iBACL,KAAK;IAAAA,eAAA,gBACN,QAAQ;IAAAA,eAAA,kBACN,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,wBAAwB,CAAC,CAAC;EAEf;EAEvC,MAAMsB,MAAMA,CAACC,CAAC,EAAE;IAAEC;EAAgC,CAAC,EAAE;IACnD,OAAO,IAAAC,kBAAU,EAAC,IAAI,CAACJ,OAAO,CAACK,QAAQ,EAAE,IAAI,CAACL,OAAO,CAACM,MAAM,EAAEH,QAAQ,CAAC;EACzE;AACF;AAACI,OAAA,CAAAT,OAAA,GAAAA,OAAA","ignoreList":[]}
|
package/dist/help.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { GroupsType } from './command-groups';
|
|
2
|
-
import { CommandList } from './cli.main.runtime';
|
|
1
|
+
import type { GroupsType } from './command-groups';
|
|
2
|
+
import type { CommandList } from './cli.main.runtime';
|
|
3
3
|
export declare function formatHelp(commands: CommandList, groups: GroupsType, showPrivateCommands?: boolean): string;
|
package/dist/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_padRight","_lodash","_getCommandId","e","__esModule","default","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 './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 = 16;\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(`use 'bit <command> --help' for more information and guides on specific commands.\nuse 'bit --internal' to show advanced commands.`);\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,UAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,SAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAK,cAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,aAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAgD,SAAAC,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhD,MAAMG,KAAK,GAAG,GAAG;AACjB,MAAMC,wBAAwB,GAAG,CAAC;AAClC,MAAMC,0BAA0B,GAAG,CAAC;AACpC,MAAMC,uBAAuB,GAAG,EAAE;AAW3B,SAASC,UAAUA,CAACC,QAAqB,EAAEC,MAAkB,EAAEC,mBAAmB,GAAG,KAAK,EAAE;EACjG,MAAMC,SAAS,GAAGC,aAAa,CAACJ,QAAQ,EAAEC,MAAM,EAAEC,mBAAmB,CAAC;EACtE,MAAMG,WAAW,GAAGC,kBAAkB,CAACH,SAAS,CAAC;EAEjD,OAAO,GAAGI,SAAS,CAAC,CAAC;AACvB;AACA,EAAEF,WAAW;AACb;AACA,EAAEG,SAAS,CAAC,CAAC,EAAE;AACf;AAEA,SAASJ,aAAaA,CAACJ,QAAqB,EAAEC,MAAkB,EAAEC,mBAAmB,GAAG,KAAK,EAAa;EACxG,MAAMO,IAAe,GAAGT,QAAQ,CAC7BU,MAAM,CAAEC,OAAO,IAAMT,mBAAmB,GAAG,IAAI,GAAG,CAACS,OAAO,CAACC,OAAO,IAAID,OAAO,CAACE,WAAY,CAAC,CAC3FC,MAAM,CAAC,UAAUC,WAAW,EAAEJ,OAAO,EAAE;IACtC,MAAMK,SAAS,GAAGL,OAAO,CAACM,KAAe,CAAC,CAAC;IAC3CF,WAAW,CAACC,SAAS,CAAC,GAAGD,WAAW,CAACC,SAAS,CAAC,IAAI;MACjDhB,QAAQ,EAAE,CAAC,CAAC;MACZa,WAAW,EAAEZ,MAAM,CAACe,SAAS,CAAC,IAAI,IAAAE,oBAAU,EAACP,OAAO,CAACM,KAAK;IAC5D,CAAC;IACD,MAAME,KAAK,GAAG,IAAAC,4BAAY,EAACT,OAAO,CAACU,IAAI,CAAC;IACxCN,WAAW,CAACC,SAAS,CAAC,CAAChB,QAAQ,CAACmB,KAAK,CAAC,GAAGR,OAAO,CAACE,WAAW;IAC5D,OAAOE,WAAW;EACpB,CAAC,EAAE,CAAC,CAAC,CAAC;EACR,OAAON,IAAI;AACb;AAEA,SAASH,kBAAkBA,CAACH,SAAoB,EAAU;EACxD,OAAOmB,MAAM,CAACC,IAAI,CAACpB,SAAS,CAAC,CAC1BqB,GAAG,CAAER,SAAS,IAAKS,uBAAuB,CAACtB,SAAS,CAACa,SAAS,CAAC,CAAC,CAAC,CACjEU,IAAI,CAAC,MAAM,CAAC;AACjB;AAEA,SAASD,uBAAuBA,CAACE,OAAqB,EAAU;EAC9D,MAAMC,UAAU,GAAGjC,KAAK,CAACkC,MAAM,CAACjC,wBAAwB,CAAC;EACzD,MAAMkC,KAAK,GAAG,GAAGF,UAAU,GAAGG,gBAAK,CAACC,SAAS,CAACC,IAAI,CAACC,IAAI,CAACP,OAAO,CAACd,WAAW,CAAC,EAAE;EAC9E,MAAMb,QAAQ,GAAGsB,MAAM,CAACC,IAAI,CAACI,OAAO,CAAC3B,QAAQ,CAAC,CAC3CwB,GAAG,CAAEW,OAAO,IAAKC,eAAe,CAACD,OAAO,EAAER,OAAO,CAAC3B,QAAQ,CAACmC,OAAO,CAAC,CAAC,CAAC,CACrET,IAAI,CAAC,IAAI,CAAC;EACb,MAAMW,GAAG,GAAG,GAAGP,KAAK,KAAK9B,QAAQ,EAAE;EACnC,OAAOqC,GAAG;AACZ;AAEA,SAASD,eAAeA,CAACf,IAAY,EAAER,WAAmB,EAAU;EAClE,MAAMyB,SAAS,GAAG3C,KAAK,CAACkC,MAAM,CAAChC,0BAA0B,CAAC;EAC1D,MAAM0C,kBAAkB,GAAG,IAAAC,mBAAQ,EAACnB,IAAI,EAAEvB,uBAAuB,EAAEH,KAAK,CAAC;EACzE,MAAM0C,GAAG,GAAG,GAAGC,SAAS,GAAGP,gBAAK,CAACU,KAAK,CAACF,kBAAkB,CAAC,GAAG1B,WAAW,EAAE;EAC1E,OAAOwB,GAAG;AACZ;AAEA,SAAS9B,SAASA,CAAA,EAAW;EAC3B,OAAO,GAAGwB,gBAAK,CAACE,IAAI,CAAC,oDAAoD,CAAC;AAC5E;AACA,EAAEF,gBAAK,CAACW,MAAM,CAAC,qCAAqC,CAAC,EAAE;AACvD;AAEA,SAASlC,SAASA,CAAA,EAAW;EAC3B,OAAOuB,gBAAK,CAACW,MAAM,CAAC;AACtB,gDAAgD,CAAC;AACjD","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_padRight","_lodash","_getCommandId","e","__esModule","default","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 type { GroupsType } from './command-groups';\nimport type { 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 = 16;\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(`use 'bit <command> --help' for more information and guides on specific commands.\nuse 'bit --internal' to show advanced commands.`);\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,UAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,SAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAK,cAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,aAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAgD,SAAAC,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhD,MAAMG,KAAK,GAAG,GAAG;AACjB,MAAMC,wBAAwB,GAAG,CAAC;AAClC,MAAMC,0BAA0B,GAAG,CAAC;AACpC,MAAMC,uBAAuB,GAAG,EAAE;AAW3B,SAASC,UAAUA,CAACC,QAAqB,EAAEC,MAAkB,EAAEC,mBAAmB,GAAG,KAAK,EAAE;EACjG,MAAMC,SAAS,GAAGC,aAAa,CAACJ,QAAQ,EAAEC,MAAM,EAAEC,mBAAmB,CAAC;EACtE,MAAMG,WAAW,GAAGC,kBAAkB,CAACH,SAAS,CAAC;EAEjD,OAAO,GAAGI,SAAS,CAAC,CAAC;AACvB;AACA,EAAEF,WAAW;AACb;AACA,EAAEG,SAAS,CAAC,CAAC,EAAE;AACf;AAEA,SAASJ,aAAaA,CAACJ,QAAqB,EAAEC,MAAkB,EAAEC,mBAAmB,GAAG,KAAK,EAAa;EACxG,MAAMO,IAAe,GAAGT,QAAQ,CAC7BU,MAAM,CAAEC,OAAO,IAAMT,mBAAmB,GAAG,IAAI,GAAG,CAACS,OAAO,CAACC,OAAO,IAAID,OAAO,CAACE,WAAY,CAAC,CAC3FC,MAAM,CAAC,UAAUC,WAAW,EAAEJ,OAAO,EAAE;IACtC,MAAMK,SAAS,GAAGL,OAAO,CAACM,KAAe,CAAC,CAAC;IAC3CF,WAAW,CAACC,SAAS,CAAC,GAAGD,WAAW,CAACC,SAAS,CAAC,IAAI;MACjDhB,QAAQ,EAAE,CAAC,CAAC;MACZa,WAAW,EAAEZ,MAAM,CAACe,SAAS,CAAC,IAAI,IAAAE,oBAAU,EAACP,OAAO,CAACM,KAAK;IAC5D,CAAC;IACD,MAAME,KAAK,GAAG,IAAAC,4BAAY,EAACT,OAAO,CAACU,IAAI,CAAC;IACxCN,WAAW,CAACC,SAAS,CAAC,CAAChB,QAAQ,CAACmB,KAAK,CAAC,GAAGR,OAAO,CAACE,WAAW;IAC5D,OAAOE,WAAW;EACpB,CAAC,EAAE,CAAC,CAAC,CAAC;EACR,OAAON,IAAI;AACb;AAEA,SAASH,kBAAkBA,CAACH,SAAoB,EAAU;EACxD,OAAOmB,MAAM,CAACC,IAAI,CAACpB,SAAS,CAAC,CAC1BqB,GAAG,CAAER,SAAS,IAAKS,uBAAuB,CAACtB,SAAS,CAACa,SAAS,CAAC,CAAC,CAAC,CACjEU,IAAI,CAAC,MAAM,CAAC;AACjB;AAEA,SAASD,uBAAuBA,CAACE,OAAqB,EAAU;EAC9D,MAAMC,UAAU,GAAGjC,KAAK,CAACkC,MAAM,CAACjC,wBAAwB,CAAC;EACzD,MAAMkC,KAAK,GAAG,GAAGF,UAAU,GAAGG,gBAAK,CAACC,SAAS,CAACC,IAAI,CAACC,IAAI,CAACP,OAAO,CAACd,WAAW,CAAC,EAAE;EAC9E,MAAMb,QAAQ,GAAGsB,MAAM,CAACC,IAAI,CAACI,OAAO,CAAC3B,QAAQ,CAAC,CAC3CwB,GAAG,CAAEW,OAAO,IAAKC,eAAe,CAACD,OAAO,EAAER,OAAO,CAAC3B,QAAQ,CAACmC,OAAO,CAAC,CAAC,CAAC,CACrET,IAAI,CAAC,IAAI,CAAC;EACb,MAAMW,GAAG,GAAG,GAAGP,KAAK,KAAK9B,QAAQ,EAAE;EACnC,OAAOqC,GAAG;AACZ;AAEA,SAASD,eAAeA,CAACf,IAAY,EAAER,WAAmB,EAAU;EAClE,MAAMyB,SAAS,GAAG3C,KAAK,CAACkC,MAAM,CAAChC,0BAA0B,CAAC;EAC1D,MAAM0C,kBAAkB,GAAG,IAAAC,mBAAQ,EAACnB,IAAI,EAAEvB,uBAAuB,EAAEH,KAAK,CAAC;EACzE,MAAM0C,GAAG,GAAG,GAAGC,SAAS,GAAGP,gBAAK,CAACU,KAAK,CAACF,kBAAkB,CAAC,GAAG1B,WAAW,EAAE;EAC1E,OAAOwB,GAAG;AACZ;AAEA,SAAS9B,SAASA,CAAA,EAAW;EAC3B,OAAO,GAAGwB,gBAAK,CAACE,IAAI,CAAC,oDAAoD,CAAC;AAC5E;AACA,EAAEF,gBAAK,CAACW,MAAM,CAAC,qCAAqC,CAAC,EAAE;AACvD;AAEA,SAASlC,SAASA,CAAA,EAAW;EAC3B,OAAOuB,gBAAK,CAACW,MAAM,CAAC;AACtB,gDAAgD,CAAC;AACjD","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_cli@0.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_cli@0.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_cli@0.0.1245/dist/cli.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_cli@0.0.1245/dist/cli.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
package/dist/yargs-adapter.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Command } from './command';
|
|
2
|
-
import { Arguments, CommandModule, Argv, Options } from 'yargs';
|
|
1
|
+
import type { Command } from './command';
|
|
2
|
+
import type { Arguments, CommandModule, Argv, Options } from 'yargs';
|
|
3
3
|
import { CommandRunner } from './command-runner';
|
|
4
|
-
import { OnCommandStartSlot } from './cli.main.runtime';
|
|
4
|
+
import type { OnCommandStartSlot } from './cli.main.runtime';
|
|
5
5
|
export declare const GLOBAL_GROUP = "Global";
|
|
6
6
|
export declare const STANDARD_GROUP = "Options";
|
|
7
7
|
export declare class YargsAdapter implements CommandModule {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_legacy","data","require","_commandRunner","_commandHelper","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","GLOBAL_GROUP","exports","STANDARD_GROUP","YargsAdapter","constructor","commanderCommand","onCommandStartSlot","command","name","describe","description","aliases","alias","builder","yargs","options","optionsToBuilder","option","arg","positional","examples","example","cmd","handler","argv","commandArgs","getArgsData","map","nameCamelCase","argsValues","a","flags","reduce","acc","current","val","_packageManagerArgs","commandRunner","CommandRunner","flagsData","getFlagsData","flag","group","type","requiresArg","globalOptions","getGlobalOptions","remoteOp","TOKEN_FLAG","log"],"sources":["yargs-adapter.ts"],"sourcesContent":["import { Command } from './command';\nimport { Arguments, CommandModule, Argv, Options } from 'yargs';\nimport { TOKEN_FLAG } from '@teambit/legacy.constants';\nimport { CommandRunner } from './command-runner';\nimport { OnCommandStartSlot } from './cli.main.runtime';\nimport { getArgsData, getFlagsData } from './command-helper';\n\nexport const GLOBAL_GROUP = 'Global';\nexport const STANDARD_GROUP = 'Options';\n\nexport class YargsAdapter implements CommandModule {\n command: string;\n describe?: string;\n aliases?: string;\n commandRunner?: CommandRunner;\n constructor(\n private commanderCommand: Command,\n private onCommandStartSlot: OnCommandStartSlot\n ) {\n this.command = commanderCommand.name;\n this.describe = commanderCommand.description;\n this.aliases = commanderCommand.alias;\n }\n\n builder(yargs: Argv) {\n const options = YargsAdapter.optionsToBuilder(this.commanderCommand);\n yargs.option(options);\n this.commanderCommand.arguments?.forEach((arg) => {\n yargs.positional(arg.name, { description: arg.description });\n });\n this.commanderCommand.examples?.forEach((example) => {\n yargs.example(example.cmd, example.description);\n });\n\n return yargs;\n }\n\n handler(argv: Arguments) {\n const commandArgs = getArgsData(this.commanderCommand).map((arg) => arg.nameCamelCase);\n const argsValues = commandArgs.map((a) => argv[a]) as any[];\n // a workaround to get a flag syntax such as \"--all [version]\" work with yargs.\n const flags = Object.keys(argv).reduce((acc, current) => {\n if (current === '_' || current === '$0' || current === '--') return acc;\n // const flagName = current.split(' ')[0];\n const val = typeof argv[current] === 'string' && !argv[current] ? true : argv[current];\n acc[current] = val;\n return acc;\n }, {});\n this.commanderCommand._packageManagerArgs = (argv['--'] || []) as string[];\n\n const commandRunner = new CommandRunner(this.commanderCommand, argsValues, flags, this.onCommandStartSlot);\n this.commandRunner = commandRunner;\n }\n\n get positional() {\n return this.commanderCommand.arguments;\n }\n\n static optionsToBuilder(command: Command): { [key: string]: Options } {\n const flagsData = getFlagsData(command);\n const option = flagsData.reduce((acc, flag) => {\n acc[flag.name] = {\n alias: flag.alias,\n describe: flag.description,\n group: STANDARD_GROUP,\n type: flag.type,\n requiresArg: flag.requiresArg,\n } as Options;\n return acc;\n }, {});\n\n const globalOptions = YargsAdapter.getGlobalOptions(command);\n\n return { ...option, ...globalOptions };\n }\n\n static getGlobalOptions(command: Command): Record<string, any> {\n const globalOptions: Record<string, any> = {};\n if (command.remoteOp) {\n globalOptions[TOKEN_FLAG] = {\n describe: 'authentication token',\n group: GLOBAL_GROUP,\n };\n }\n globalOptions.log = {\n describe:\n 'print log messages to the screen, options are: [trace, debug, info, warn, error, fatal], the default is info',\n group: GLOBAL_GROUP,\n };\n globalOptions['safe-mode'] = {\n describe:\n 'useful when it fails to load normally. it skips loading aspects from workspace.jsonc, and for legacy-commands it initializes only the CLI aspect',\n group: GLOBAL_GROUP,\n };\n return globalOptions;\n }\n}\n"],"mappings":";;;;;;AAEA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,eAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,cAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,eAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,cAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA6D,SAAAI,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAgB,gBAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAmB,cAAA,CAAAnB,CAAA,MAAAD,CAAA,GAAAG,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,IAAAoB,KAAA,EAAAnB,CAAA,EAAAO,UAAA,MAAAa,YAAA,MAAAC,QAAA,UAAAvB,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAoB,eAAAlB,CAAA,QAAAsB,CAAA,GAAAC,YAAA,CAAAvB,CAAA,uCAAAsB,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAvB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAwB,MAAA,CAAAC,WAAA,kBAAA3B,CAAA,QAAAwB,CAAA,GAAAxB,CAAA,CAAA4B,IAAA,CAAA1B,CAAA,EAAAD,CAAA,uCAAAuB,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAA5B,CAAA,GAAA6B,MAAA,GAAAC,MAAA,EAAA7B,CAAA;AAEtD,MAAM8B,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,QAAQ;AAC7B,MAAME,cAAc,GAAAD,OAAA,CAAAC,cAAA,GAAG,SAAS;AAEhC,MAAMC,YAAY,CAA0B;EAKjDC,WAAWA,CACDC,gBAAyB,EACzBC,kBAAsC,EAC9C;IAAA,KAFQD,gBAAyB,GAAzBA,gBAAyB;IAAA,KACzBC,kBAAsC,GAAtCA,kBAAsC;IAAAtB,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAE9C,IAAI,CAACuB,OAAO,GAAGF,gBAAgB,CAACG,IAAI;IACpC,IAAI,CAACC,QAAQ,GAAGJ,gBAAgB,CAACK,WAAW;IAC5C,IAAI,CAACC,OAAO,GAAGN,gBAAgB,CAACO,KAAK;EACvC;EAEAC,OAAOA,CAACC,KAAW,EAAE;IACnB,MAAMC,OAAO,GAAGZ,YAAY,CAACa,gBAAgB,CAAC,IAAI,CAACX,gBAAgB,CAAC;IACpES,KAAK,CAACG,MAAM,CAACF,OAAO,CAAC;IACrB,IAAI,CAACV,gBAAgB,CAACxB,SAAS,EAAEE,OAAO,CAAEmC,GAAG,IAAK;MAChDJ,KAAK,CAACK,UAAU,CAACD,GAAG,CAACV,IAAI,EAAE;QAAEE,WAAW,EAAEQ,GAAG,CAACR;MAAY,CAAC,CAAC;IAC9D,CAAC,CAAC;IACF,IAAI,CAACL,gBAAgB,CAACe,QAAQ,EAAErC,OAAO,CAAEsC,OAAO,IAAK;MACnDP,KAAK,CAACO,OAAO,CAACA,OAAO,CAACC,GAAG,EAAED,OAAO,CAACX,WAAW,CAAC;IACjD,CAAC,CAAC;IAEF,OAAOI,KAAK;EACd;EAEAS,OAAOA,CAACC,IAAe,EAAE;IACvB,MAAMC,WAAW,GAAG,IAAAC,4BAAW,EAAC,IAAI,CAACrB,gBAAgB,CAAC,CAACsB,GAAG,CAAET,GAAG,IAAKA,GAAG,CAACU,aAAa,CAAC;IACtF,MAAMC,UAAU,GAAGJ,WAAW,CAACE,GAAG,CAAEG,CAAC,IAAKN,IAAI,CAACM,CAAC,CAAC,CAAU;IAC3D;IACA,MAAMC,KAAK,GAAG5D,MAAM,CAACC,IAAI,CAACoD,IAAI,CAAC,CAACQ,MAAM,CAAC,CAACC,GAAG,EAAEC,OAAO,KAAK;MACvD,IAAIA,OAAO,KAAK,GAAG,IAAIA,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,IAAI,EAAE,OAAOD,GAAG;MACvE;MACA,MAAME,GAAG,GAAG,OAAOX,IAAI,CAACU,OAAO,CAAC,KAAK,QAAQ,IAAI,CAACV,IAAI,CAACU,OAAO,CAAC,GAAG,IAAI,GAAGV,IAAI,CAACU,OAAO,CAAC;MACtFD,GAAG,CAACC,OAAO,CAAC,GAAGC,GAAG;MAClB,OAAOF,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,IAAI,CAAC5B,gBAAgB,CAAC+B,mBAAmB,GAAIZ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAe;IAE1E,MAAMa,aAAa,GAAG,KAAIC,8BAAa,EAAC,IAAI,CAACjC,gBAAgB,EAAEwB,UAAU,EAAEE,KAAK,EAAE,IAAI,CAACzB,kBAAkB,CAAC;IAC1G,IAAI,CAAC+B,aAAa,GAAGA,aAAa;EACpC;EAEA,IAAIlB,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACd,gBAAgB,CAACxB,SAAS;EACxC;EAEA,OAAOmC,gBAAgBA,CAACT,OAAgB,EAA8B;IACpE,MAAMgC,SAAS,GAAG,IAAAC,6BAAY,EAACjC,OAAO,CAAC;IACvC,MAAMU,MAAM,GAAGsB,SAAS,CAACP,MAAM,CAAC,CAACC,GAAG,EAAEQ,IAAI,KAAK;MAC7CR,GAAG,CAACQ,IAAI,CAACjC,IAAI,CAAC,GAAG;QACfI,KAAK,EAAE6B,IAAI,CAAC7B,KAAK;QACjBH,QAAQ,EAAEgC,IAAI,CAAC/B,WAAW;QAC1BgC,KAAK,EAAExC,cAAc;QACrByC,IAAI,EAAEF,IAAI,CAACE,IAAI;QACfC,WAAW,EAAEH,IAAI,CAACG;MACpB,CAAY;MACZ,OAAOX,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IAEN,MAAMY,aAAa,GAAG1C,YAAY,CAAC2C,gBAAgB,CAACvC,OAAO,CAAC;IAE5D,OAAA3B,aAAA,CAAAA,aAAA,KAAYqC,MAAM,GAAK4B,aAAa;EACtC;EAEA,OAAOC,gBAAgBA,CAACvC,OAAgB,EAAuB;IAC7D,MAAMsC,aAAkC,GAAG,CAAC,CAAC;IAC7C,IAAItC,OAAO,CAACwC,QAAQ,EAAE;MACpBF,aAAa,CAACG,oBAAU,CAAC,GAAG;QAC1BvC,QAAQ,EAAE,sBAAsB;QAChCiC,KAAK,EAAE1C;MACT,CAAC;IACH;IACA6C,aAAa,CAACI,GAAG,GAAG;MAClBxC,QAAQ,EACN,8GAA8G;MAChHiC,KAAK,EAAE1C;IACT,CAAC;IACD6C,aAAa,CAAC,WAAW,CAAC,GAAG;MAC3BpC,QAAQ,EACN,kJAAkJ;MACpJiC,KAAK,EAAE1C;IACT,CAAC;IACD,OAAO6C,aAAa;EACtB;AACF;AAAC5C,OAAA,CAAAE,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_legacy","data","require","_commandRunner","_commandHelper","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","GLOBAL_GROUP","exports","STANDARD_GROUP","YargsAdapter","constructor","commanderCommand","onCommandStartSlot","command","name","describe","description","aliases","alias","builder","yargs","options","optionsToBuilder","option","arg","positional","examples","example","cmd","handler","argv","commandArgs","getArgsData","map","nameCamelCase","argsValues","a","flags","reduce","acc","current","val","_packageManagerArgs","commandRunner","CommandRunner","flagsData","getFlagsData","flag","group","type","requiresArg","globalOptions","getGlobalOptions","remoteOp","TOKEN_FLAG","log"],"sources":["yargs-adapter.ts"],"sourcesContent":["import type { Command } from './command';\nimport type { Arguments, CommandModule, Argv, Options } from 'yargs';\nimport { TOKEN_FLAG } from '@teambit/legacy.constants';\nimport { CommandRunner } from './command-runner';\nimport type { OnCommandStartSlot } from './cli.main.runtime';\nimport { getArgsData, getFlagsData } from './command-helper';\n\nexport const GLOBAL_GROUP = 'Global';\nexport const STANDARD_GROUP = 'Options';\n\nexport class YargsAdapter implements CommandModule {\n command: string;\n describe?: string;\n aliases?: string;\n commandRunner?: CommandRunner;\n constructor(\n private commanderCommand: Command,\n private onCommandStartSlot: OnCommandStartSlot\n ) {\n this.command = commanderCommand.name;\n this.describe = commanderCommand.description;\n this.aliases = commanderCommand.alias;\n }\n\n builder(yargs: Argv) {\n const options = YargsAdapter.optionsToBuilder(this.commanderCommand);\n yargs.option(options);\n this.commanderCommand.arguments?.forEach((arg) => {\n yargs.positional(arg.name, { description: arg.description });\n });\n this.commanderCommand.examples?.forEach((example) => {\n yargs.example(example.cmd, example.description);\n });\n\n return yargs;\n }\n\n handler(argv: Arguments) {\n const commandArgs = getArgsData(this.commanderCommand).map((arg) => arg.nameCamelCase);\n const argsValues = commandArgs.map((a) => argv[a]) as any[];\n // a workaround to get a flag syntax such as \"--all [version]\" work with yargs.\n const flags = Object.keys(argv).reduce((acc, current) => {\n if (current === '_' || current === '$0' || current === '--') return acc;\n // const flagName = current.split(' ')[0];\n const val = typeof argv[current] === 'string' && !argv[current] ? true : argv[current];\n acc[current] = val;\n return acc;\n }, {});\n this.commanderCommand._packageManagerArgs = (argv['--'] || []) as string[];\n\n const commandRunner = new CommandRunner(this.commanderCommand, argsValues, flags, this.onCommandStartSlot);\n this.commandRunner = commandRunner;\n }\n\n get positional() {\n return this.commanderCommand.arguments;\n }\n\n static optionsToBuilder(command: Command): { [key: string]: Options } {\n const flagsData = getFlagsData(command);\n const option = flagsData.reduce((acc, flag) => {\n acc[flag.name] = {\n alias: flag.alias,\n describe: flag.description,\n group: STANDARD_GROUP,\n type: flag.type,\n requiresArg: flag.requiresArg,\n } as Options;\n return acc;\n }, {});\n\n const globalOptions = YargsAdapter.getGlobalOptions(command);\n\n return { ...option, ...globalOptions };\n }\n\n static getGlobalOptions(command: Command): Record<string, any> {\n const globalOptions: Record<string, any> = {};\n if (command.remoteOp) {\n globalOptions[TOKEN_FLAG] = {\n describe: 'authentication token',\n group: GLOBAL_GROUP,\n };\n }\n globalOptions.log = {\n describe:\n 'print log messages to the screen, options are: [trace, debug, info, warn, error, fatal], the default is info',\n group: GLOBAL_GROUP,\n };\n globalOptions['safe-mode'] = {\n describe:\n 'useful when it fails to load normally. it skips loading aspects from workspace.jsonc, and for legacy-commands it initializes only the CLI aspect',\n group: GLOBAL_GROUP,\n };\n return globalOptions;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.1245",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/harmony/cli",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.harmony",
|
|
8
8
|
"name": "cli",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.1245"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "4.1.2",
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
"yargs": "17.0.1",
|
|
16
16
|
"p-map-series": "2.1.0",
|
|
17
17
|
"pad-right": "0.2.2",
|
|
18
|
-
"@teambit/legacy.consumer": "0.0.57",
|
|
19
18
|
"@teambit/legacy.loader": "0.0.8",
|
|
20
19
|
"@teambit/legacy.logger": "0.0.22",
|
|
21
20
|
"@teambit/harmony": "0.4.7",
|
|
@@ -25,8 +24,9 @@
|
|
|
25
24
|
"@teambit/legacy.constants": "0.0.13",
|
|
26
25
|
"@teambit/bit-error": "0.0.404",
|
|
27
26
|
"@teambit/legacy.cli.error": "0.0.22",
|
|
28
|
-
"@teambit/
|
|
29
|
-
"@teambit/
|
|
27
|
+
"@teambit/legacy.consumer": "0.0.58",
|
|
28
|
+
"@teambit/host-initializer": "0.0.381",
|
|
29
|
+
"@teambit/logger": "0.0.1338"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@types/didyoumean": "1.2.0",
|