@teambit/cli 0.0.898 → 0.0.900

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.cmd.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- import type { Command } from '@teambit/legacy/dist/cli/command';
2
- import type { CommandOptions } from '@teambit/legacy/dist/cli/legacy-command';
1
+ import type { Command, CommandOptions } from '@teambit/legacy/dist/cli/command';
3
2
  import { CLIMain } from './cli.main.runtime';
4
3
  import { GenerateOpts } from './generate-doc-md';
5
4
  export declare class CliGenerateCmd implements Command {
package/dist/cli.cmd.js CHANGED
@@ -12,7 +12,7 @@ function _logger() {
12
12
  return data;
13
13
  }
14
14
  function _handleErrors() {
15
- const data = require("@teambit/legacy/dist/cli/handle-errors");
15
+ const data = require("./handle-errors");
16
16
  _handleErrors = function () {
17
17
  return data;
18
18
  };
@@ -25,9 +25,9 @@ function _consumer() {
25
25
  };
26
26
  return data;
27
27
  }
28
- function _bootstrap() {
29
- const data = require("@teambit/legacy/dist/bootstrap");
30
- _bootstrap = function () {
28
+ function _bit() {
29
+ const data = require("@teambit/bit.get-bit-version");
30
+ _bit = function () {
31
31
  return data;
32
32
  };
33
33
  return data;
@@ -73,7 +73,7 @@ class CliGenerateCmd {
73
73
  }) {
74
74
  if (docs) {
75
75
  return `---
76
- description: 'Bit command synopses. Bit version: ${(0, _bootstrap().getHarmonyVersion)()}'
76
+ description: 'Bit command synopses. Bit version: ${(0, _bit().getBitVersion)()}'
77
77
  labels: ['cli', 'mdx', 'docs']
78
78
  ---
79
79
  `;
@@ -1 +1 @@
1
- {"version":3,"names":["_logger","data","_interopRequireDefault","require","_handleErrors","_consumer","_bootstrap","_readline","_cliParser","_generateDocMd","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CliGenerateCmd","constructor","cliMain","report","args","metadata","docs","getHarmonyVersion","GenerateCommandsDoc","commands","generate","json","generateJson","exports","CliCmd","legacyLogger","isDaemon","rl","readline","createInterface","input","process","stdin","output","stdout","prompt","completer","line","cb","cliParser","CLIParser","groups","onCommandStartSlot","Promise","resolve","on","cmd","trim","split","parse","err","handleErrorAndExit","lineSplit","values","length","completeCommand","loadConsumerIfExist","then","consumer","comps","bitmapIdsFromCurrentLane","map","id","toStringWithoutVersion","filter","c","includes","catch","name","startsWith"],"sources":["cli.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport type { Command } from '@teambit/legacy/dist/cli/command';\nimport type { CommandOptions } from '@teambit/legacy/dist/cli/legacy-command';\nimport legacyLogger from '@teambit/legacy/dist/logger/logger';\nimport { handleErrorAndExit } from '@teambit/legacy/dist/cli/handle-errors';\nimport { loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\nimport { getHarmonyVersion } from '@teambit/legacy/dist/bootstrap';\nimport readline from 'readline';\nimport { CLIParser } from './cli-parser';\nimport { CLIMain } from './cli.main.runtime';\nimport { GenerateCommandsDoc, GenerateOpts } from './generate-doc-md';\n\nexport class CliGenerateCmd implements Command {\n name = 'generate';\n description = 'generate an .md file with all commands details';\n alias = '';\n loader = false;\n group = 'general';\n options = [\n [\n '',\n 'metadata',\n 'metadata/front-matter to place at the top of the .md file, enter as an object e.g. --metadata.id=cli --metadata.title=commands',\n ],\n ['', 'docs', 'generate the cli-reference.docs.mdx file'],\n ['j', 'json', 'output the commands info as JSON'],\n ] as CommandOptions;\n\n constructor(private cliMain: CLIMain) {}\n\n async report(args, { metadata, docs }: GenerateOpts & { docs?: boolean }): Promise<string> {\n if (docs) {\n return `---\ndescription: 'Bit command synopses. Bit version: ${getHarmonyVersion()}'\nlabels: ['cli', 'mdx', 'docs']\n---\n `;\n }\n return new GenerateCommandsDoc(this.cliMain.commands, { metadata }).generate();\n }\n\n async json() {\n return new GenerateCommandsDoc(this.cliMain.commands, {}).generateJson();\n }\n}\n\nexport class CliCmd implements Command {\n name = 'cli';\n description = 'EXPERIMENTAL. enters bit cli program and generates commands list';\n alias = '';\n commands: Command[] = [];\n loader = false;\n group = 'general';\n options = [] as CommandOptions;\n\n constructor(private cliMain: CLIMain) {}\n\n async report(): Promise<string> {\n legacyLogger.isDaemon = true;\n const rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout,\n prompt: 'bit > ',\n completer: (line, cb) => completer(line, cb, this.cliMain),\n });\n\n const cliParser = new CLIParser(this.cliMain.commands, this.cliMain.groups, this.cliMain.onCommandStartSlot);\n\n rl.prompt();\n\n return new Promise((resolve) => {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n rl.on('line', async (line) => {\n const cmd = line.trim().split(' ');\n try {\n await cliParser.parse(cmd);\n } catch (err: any) {\n await handleErrorAndExit(err, cmd[0]);\n }\n rl.prompt();\n }).on('close', () => {\n resolve('Have a great day!');\n });\n });\n }\n}\n\nfunction completer(line: string, cb: Function, cliMain: CLIMain) {\n const lineSplit = line.split(' ');\n let values: string[] = [];\n if (lineSplit.length <= 1) {\n values = completeCommand(line, cliMain);\n cb(null, [values, line]);\n }\n loadConsumerIfExist()\n .then((consumer) => {\n const comps = consumer?.bitmapIdsFromCurrentLane.map((id) => id.toStringWithoutVersion()) || [];\n values = comps.filter((c) => c.includes(lineSplit[1]));\n // eslint-disable-next-line promise/no-callback-in-promise\n cb(null, [values, line]);\n })\n .catch((err) => {\n // eslint-disable-next-line promise/no-callback-in-promise\n cb(err, [[], line]);\n });\n}\n\nfunction completeCommand(line: string, cliMain: CLIMain): string[] {\n const commands = cliMain.commands.filter((cmd) => cmd.name.startsWith(line));\n return commands.map((c) => c.name).map((name) => name.split(' ')[0]);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_logger","data","_interopRequireDefault","require","_handleErrors","_consumer","_bit","_readline","_cliParser","_generateDocMd","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CliGenerateCmd","constructor","cliMain","report","args","metadata","docs","getBitVersion","GenerateCommandsDoc","commands","generate","json","generateJson","exports","CliCmd","legacyLogger","isDaemon","rl","readline","createInterface","input","process","stdin","output","stdout","prompt","completer","line","cb","cliParser","CLIParser","groups","onCommandStartSlot","Promise","resolve","on","cmd","trim","split","parse","err","handleErrorAndExit","lineSplit","values","length","completeCommand","loadConsumerIfExist","then","consumer","comps","bitmapIdsFromCurrentLane","map","id","toStringWithoutVersion","filter","c","includes","catch","name","startsWith"],"sources":["cli.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport type { Command, CommandOptions } from '@teambit/legacy/dist/cli/command';\nimport legacyLogger from '@teambit/legacy/dist/logger/logger';\nimport { handleErrorAndExit } from './handle-errors';\nimport { loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\nimport { getBitVersion } from '@teambit/bit.get-bit-version';\nimport readline from 'readline';\nimport { CLIParser } from './cli-parser';\nimport { CLIMain } from './cli.main.runtime';\nimport { GenerateCommandsDoc, GenerateOpts } from './generate-doc-md';\n\nexport class CliGenerateCmd implements Command {\n name = 'generate';\n description = 'generate an .md file with all commands details';\n alias = '';\n loader = false;\n group = 'general';\n options = [\n [\n '',\n 'metadata',\n 'metadata/front-matter to place at the top of the .md file, enter as an object e.g. --metadata.id=cli --metadata.title=commands',\n ],\n ['', 'docs', 'generate the cli-reference.docs.mdx file'],\n ['j', 'json', 'output the commands info as JSON'],\n ] as CommandOptions;\n\n constructor(private cliMain: CLIMain) {}\n\n async report(args, { metadata, docs }: GenerateOpts & { docs?: boolean }): Promise<string> {\n if (docs) {\n return `---\ndescription: 'Bit command synopses. Bit version: ${getBitVersion()}'\nlabels: ['cli', 'mdx', 'docs']\n---\n `;\n }\n return new GenerateCommandsDoc(this.cliMain.commands, { metadata }).generate();\n }\n\n async json() {\n return new GenerateCommandsDoc(this.cliMain.commands, {}).generateJson();\n }\n}\n\nexport class CliCmd implements Command {\n name = 'cli';\n description = 'EXPERIMENTAL. enters bit cli program and generates commands list';\n alias = '';\n commands: Command[] = [];\n loader = false;\n group = 'general';\n options = [] as CommandOptions;\n\n constructor(private cliMain: CLIMain) {}\n\n async report(): Promise<string> {\n legacyLogger.isDaemon = true;\n const rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout,\n prompt: 'bit > ',\n completer: (line, cb) => completer(line, cb, this.cliMain),\n });\n\n const cliParser = new CLIParser(this.cliMain.commands, this.cliMain.groups, this.cliMain.onCommandStartSlot);\n\n rl.prompt();\n\n return new Promise((resolve) => {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n rl.on('line', async (line) => {\n const cmd = line.trim().split(' ');\n try {\n await cliParser.parse(cmd);\n } catch (err: any) {\n await handleErrorAndExit(err, cmd[0]);\n }\n rl.prompt();\n }).on('close', () => {\n resolve('Have a great day!');\n });\n });\n }\n}\n\nfunction completer(line: string, cb: Function, cliMain: CLIMain) {\n const lineSplit = line.split(' ');\n let values: string[] = [];\n if (lineSplit.length <= 1) {\n values = completeCommand(line, cliMain);\n cb(null, [values, line]);\n }\n loadConsumerIfExist()\n .then((consumer) => {\n const comps = consumer?.bitmapIdsFromCurrentLane.map((id) => id.toStringWithoutVersion()) || [];\n values = comps.filter((c) => c.includes(lineSplit[1]));\n // eslint-disable-next-line promise/no-callback-in-promise\n cb(null, [values, line]);\n })\n .catch((err) => {\n // eslint-disable-next-line promise/no-callback-in-promise\n cb(err, [[], line]);\n });\n}\n\nfunction completeCommand(line: string, cliMain: CLIMain): string[] {\n const commands = cliMain.commands.filter((cmd) => cmd.name.startsWith(line));\n return commands.map((c) => c.name).map((name) => name.split(' ')[0]);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -11,13 +11,6 @@ function _harmony() {
11
11
  };
12
12
  return data;
13
13
  }
14
- function _cli() {
15
- const data = require("@teambit/legacy/dist/cli");
16
- _cli = function () {
17
- return data;
18
- };
19
- return data;
20
- }
21
14
  function _logger() {
22
15
  const data = _interopRequireDefault(require("@teambit/legacy/dist/logger/logger"));
23
16
  _logger = function () {
@@ -67,9 +60,9 @@ function _lodash() {
67
60
  };
68
61
  return data;
69
62
  }
70
- function _cli2() {
63
+ function _cli() {
71
64
  const data = require("./cli.aspect");
72
- _cli2 = function () {
65
+ _cli = function () {
73
66
  return data;
74
67
  };
75
68
  return data;
@@ -81,13 +74,6 @@ function _getCommandId() {
81
74
  };
82
75
  return data;
83
76
  }
84
- function _legacyCommandAdapter() {
85
- const data = require("./legacy-command-adapter");
86
- _legacyCommandAdapter = function () {
87
- return data;
88
- };
89
- return data;
90
- }
91
77
  function _cliParser() {
92
78
  const data = require("./cli-parser");
93
79
  _cliParser = function () {
@@ -102,9 +88,9 @@ function _completion() {
102
88
  };
103
89
  return data;
104
90
  }
105
- function _cli3() {
91
+ function _cli2() {
106
92
  const data = require("./cli.cmd");
107
- _cli3 = function () {
93
+ _cli2 = function () {
108
94
  return data;
109
95
  };
110
96
  return data;
@@ -263,25 +249,22 @@ class CLIMain {
263
249
  }
264
250
  }
265
251
  static async provider([loggerMain], config, [commandsSlot, onStartSlot, onCommandStartSlot, onBeforeExitSlot]) {
266
- const logger = loggerMain.createLogger(_cli2().CLIAspect.id);
252
+ const logger = loggerMain.createLogger(_cli().CLIAspect.id);
267
253
  const cliMain = new CLIMain(commandsSlot, onStartSlot, onCommandStartSlot, onBeforeExitSlot, logger);
268
- const legacyRegistry = (0, _cli().buildRegistry)();
269
254
  await ensureWorkspaceAndScope();
270
- const legacyCommands = legacyRegistry.commands;
271
- const legacyCommandsAdapters = legacyCommands.map(command => new (_legacyCommandAdapter().LegacyCommandAdapter)(command, cliMain));
272
- const cliGenerateCmd = new (_cli3().CliGenerateCmd)(cliMain);
273
- const cliCmd = new (_cli3().CliCmd)(cliMain);
255
+ const cliGenerateCmd = new (_cli2().CliGenerateCmd)(cliMain);
256
+ const cliCmd = new (_cli2().CliCmd)(cliMain);
274
257
  const helpCmd = new (_help().HelpCmd)(cliMain);
275
258
  cliCmd.commands.push(cliGenerateCmd);
276
- cliMain.register(...legacyCommandsAdapters, new (_completion().CompletionCmd)(), cliCmd, helpCmd, new (_version().VersionCmd)());
259
+ cliMain.register(new (_completion().CompletionCmd)(), cliCmd, helpCmd, new (_version().VersionCmd)());
277
260
  return cliMain;
278
261
  }
279
262
  }
280
263
  exports.CLIMain = CLIMain;
281
264
  _defineProperty(CLIMain, "dependencies", [_logger2().LoggerAspect]);
282
- _defineProperty(CLIMain, "runtime", _cli2().MainRuntime);
265
+ _defineProperty(CLIMain, "runtime", _cli().MainRuntime);
283
266
  _defineProperty(CLIMain, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType()]);
284
- _cli2().CLIAspect.addRuntime(CLIMain);
267
+ _cli().CLIAspect.addRuntime(CLIMain);
285
268
 
286
269
  /**
287
270
  * kind of a hack.
@@ -1 +1 @@
1
- {"version":3,"names":["_harmony","data","require","_cli","_logger","_interopRequireDefault","_pMapSeries","_commandGroups","_hostInitializer","_consumer","_logger2","_lodash","_cli2","_getCommandId","_legacyCommandAdapter","_cliParser","_completion","_cli3","_help","_version","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CLIMain","constructor","commandsSlot","onStartSlot","onCommandStartSlot","onBeforeExitSlot","logger","clone","groups","register","commands","forEach","command","setDefaults","cmd","unregister","commandName","toArray","aspectId","filteredCommands","filter","getCommandId","name","map","set","values","flat","getCommand","find","registerGroup","description","consoleWarning","registerOnStart","onStartFn","registerOnCommandStart","onCommandStartFn","registerOnBeforeExit","onBeforeExitFn","legacyLogger","registerOnBeforeExitFn","run","hasWorkspace","invokeOnStart","CliParser","CLIParser","parse","onStartFns","foundCmd","findCommandByArgv","currentCommandName","process","argv","pMapSeries","onStart","alias","extendedDescription","group","options","private","trim","loader","undefined","loadAspects","helpUrl","isFullUrl","provider","loggerMain","config","createLogger","CLIAspect","id","cliMain","legacyRegistry","buildRegistry","ensureWorkspaceAndScope","legacyCommands","legacyCommandsAdapters","LegacyCommandAdapter","cliGenerateCmd","CliGenerateCmd","cliCmd","CliCmd","helpCmd","HelpCmd","push","CompletionCmd","VersionCmd","exports","LoggerAspect","MainRuntime","Slot","withType","addRuntime","loadConsumerIfExist","err","potentialWsPath","cwd","consumerInfo","getConsumerInfo","hasScope","hasBitMap","hasConsumerConfig","HostInitializerMain","init","url","startsWith"],"sources":["cli.main.runtime.ts"],"sourcesContent":["import { Slot, SlotRegistry } from '@teambit/harmony';\nimport { buildRegistry } from '@teambit/legacy/dist/cli';\nimport legacyLogger from '@teambit/legacy/dist/logger/logger';\nimport { CLIArgs, Flags, Command } from '@teambit/legacy/dist/cli/command';\nimport pMapSeries from 'p-map-series';\nimport { groups, GroupsType } from '@teambit/legacy/dist/cli/command-groups';\nimport { HostInitializerMain } from '@teambit/host-initializer';\nimport { loadConsumerIfExist, getConsumerInfo } from '@teambit/legacy/dist/consumer';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { clone } from 'lodash';\nimport { CLIAspect, MainRuntime } from './cli.aspect';\nimport { getCommandId } from './get-command-id';\nimport { LegacyCommandAdapter } from './legacy-command-adapter';\nimport { CLIParser, findCommandByArgv } from './cli-parser';\nimport { CompletionCmd } from './completion.cmd';\nimport { CliCmd, CliGenerateCmd } from './cli.cmd';\nimport { HelpCmd } from './help.cmd';\nimport { VersionCmd } from './version.cmd';\n\nexport type CommandList = Array<Command>;\nexport type OnStart = (hasWorkspace: boolean, currentCommand: string, commandObject?: Command) => Promise<void>;\nexport type OnCommandStart = (commandName: string, args: CLIArgs, flags: Flags) => Promise<void>;\nexport type OnBeforeExitFn = () => Promise<void>;\n\nexport type OnStartSlot = SlotRegistry<OnStart>;\nexport type OnCommandStartSlot = SlotRegistry<OnCommandStart>;\nexport type CommandsSlot = SlotRegistry<CommandList>;\nexport type OnBeforeExitSlot = SlotRegistry<OnBeforeExitFn>;\n\nexport class CLIMain {\n public groups: GroupsType = clone(groups); // if it's not cloned, it is cached across loadBit() instances\n constructor(\n private commandsSlot: CommandsSlot,\n private onStartSlot: OnStartSlot,\n readonly onCommandStartSlot: OnCommandStartSlot,\n private onBeforeExitSlot: OnBeforeExitSlot,\n private logger: Logger\n ) {}\n\n /**\n * registers a new command in to the CLI.\n */\n register(...commands: CommandList) {\n commands.forEach((command) => {\n this.setDefaults(command);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n command.commands!.forEach((cmd) => this.setDefaults(cmd));\n });\n this.commandsSlot.register(commands);\n }\n\n /**\n * helpful for having the same command name in different environments (e.g. legacy and non-legacy).\n * for example `cli.unregister('tag');` removes the \"bit tag\" command.\n */\n unregister(commandName: string) {\n this.commandsSlot.toArray().forEach(([aspectId, commands]) => {\n const filteredCommands = commands.filter((command) => {\n return getCommandId(command.name) !== commandName;\n });\n this.commandsSlot.map.set(aspectId, filteredCommands);\n });\n }\n\n /**\n * list of all registered commands. (legacy and new).\n */\n get commands(): CommandList {\n return this.commandsSlot.values().flat();\n }\n\n /**\n * get an instance of a registered command. (useful for aspects to modify and extend existing commands)\n */\n getCommand(name: string): Command | undefined {\n return this.commands.find((command) => getCommandId(command.name) === name);\n }\n\n /**\n * when running `bit help`, commands are grouped by categories.\n * this method helps registering a new group by providing its name and a description.\n * the name is what needs to be assigned to the `group` property of the Command interface.\n * the description is what shown in the `bit help` output.\n */\n registerGroup(name: string, description: string) {\n if (this.groups[name]) {\n this.logger.consoleWarning(`CLI group \"${name}\" is already registered`);\n } else {\n this.groups[name] = description;\n }\n }\n\n /**\n * onStart is when bootstrapping the CLI. (it happens before onCommandStart)\n */\n registerOnStart(onStartFn: OnStart) {\n this.onStartSlot.register(onStartFn);\n return this;\n }\n\n /**\n * onCommandStart is when a command is about to start and we have the command object and the parsed args and flags\n * already. (it happens after onStart)\n */\n registerOnCommandStart(onCommandStartFn: OnCommandStart) {\n this.onCommandStartSlot.register(onCommandStartFn);\n return this;\n }\n\n /**\n * This will register a function to be called before the process exits.\n * This will run only for \"regular\" exits\n * e.g.\n * yes - command run and finished successfully\n * yes - command run and failed gracefully (code 1)\n * not SIGKILL (kill -9)\n * not SIGINT (Ctrl+C)\n * not SIGTERM (kill)\n * not uncaughtException\n * not unhandledRejection\n *\n * @param onBeforeExitFn\n * @returns\n */\n registerOnBeforeExit(onBeforeExitFn: OnBeforeExitFn) {\n this.onBeforeExitSlot.register(onBeforeExitFn);\n legacyLogger.registerOnBeforeExitFn(onBeforeExitFn);\n return this;\n }\n\n /**\n * execute commands registered to this aspect.\n */\n async run(hasWorkspace: boolean) {\n await this.invokeOnStart(hasWorkspace);\n const CliParser = new CLIParser(this.commands, this.groups, this.onCommandStartSlot);\n await CliParser.parse();\n }\n\n private async invokeOnStart(hasWorkspace: boolean) {\n const onStartFns = this.onStartSlot.values();\n const foundCmd = findCommandByArgv(this.commands);\n const currentCommandName = process.argv[2];\n await pMapSeries(onStartFns, (onStart) => onStart(hasWorkspace, currentCommandName, foundCmd));\n }\n\n private setDefaults(command: Command) {\n command.alias = command.alias || '';\n command.description = command.description || '';\n command.extendedDescription = command.extendedDescription || '';\n command.group = command.group || 'ungrouped';\n command.options = command.options || [];\n command.private = command.private || false;\n command.commands = command.commands || [];\n command.name = command.name.trim();\n if (command.loader === undefined) {\n command.loader = true;\n }\n if (command.loadAspects === undefined) {\n command.loadAspects = true;\n }\n if (command.helpUrl && !isFullUrl(command.helpUrl)) {\n command.helpUrl = `https://bit.dev/${command.helpUrl}`;\n }\n }\n\n static dependencies = [LoggerAspect];\n static runtime = MainRuntime;\n static slots = [\n Slot.withType<CommandList>(),\n Slot.withType<OnStart>(),\n Slot.withType<OnCommandStart>(),\n Slot.withType<OnBeforeExitFn>(),\n ];\n\n static async provider(\n [loggerMain]: [LoggerMain],\n config,\n [commandsSlot, onStartSlot, onCommandStartSlot, onBeforeExitSlot]: [\n CommandsSlot,\n OnStartSlot,\n OnCommandStartSlot,\n OnBeforeExitSlot\n ]\n ) {\n const logger = loggerMain.createLogger(CLIAspect.id);\n const cliMain = new CLIMain(commandsSlot, onStartSlot, onCommandStartSlot, onBeforeExitSlot, logger);\n const legacyRegistry = buildRegistry();\n await ensureWorkspaceAndScope();\n const legacyCommands = legacyRegistry.commands;\n const legacyCommandsAdapters = legacyCommands.map((command) => new LegacyCommandAdapter(command, cliMain));\n const cliGenerateCmd = new CliGenerateCmd(cliMain);\n const cliCmd = new CliCmd(cliMain);\n const helpCmd = new HelpCmd(cliMain);\n cliCmd.commands.push(cliGenerateCmd);\n cliMain.register(...legacyCommandsAdapters, new CompletionCmd(), cliCmd, helpCmd, new VersionCmd());\n return cliMain;\n }\n}\n\nCLIAspect.addRuntime(CLIMain);\n\n/**\n * kind of a hack.\n * in the legacy, this is running at the beginning and it take care of issues when Bit files are missing,\n * such as \".bit\".\n * (to make this process better, you can easily remove it and run the e2e-tests. you'll see some failing)\n */\nasync function ensureWorkspaceAndScope() {\n try {\n await loadConsumerIfExist();\n } catch (err) {\n const potentialWsPath = process.cwd();\n const consumerInfo = await getConsumerInfo(potentialWsPath);\n if (consumerInfo && !consumerInfo.hasScope && consumerInfo.hasBitMap && consumerInfo.hasConsumerConfig) {\n await HostInitializerMain.init(potentialWsPath);\n }\n // do nothing. it could fail for example with ScopeNotFound error, which is taken care of in \"bit init\".\n }\n}\n\nfunction isFullUrl(url: string) {\n return url.startsWith('http://') || url.startsWith('https://');\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_harmony","data","require","_logger","_interopRequireDefault","_pMapSeries","_commandGroups","_hostInitializer","_consumer","_logger2","_lodash","_cli","_getCommandId","_cliParser","_completion","_cli2","_help","_version","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CLIMain","constructor","commandsSlot","onStartSlot","onCommandStartSlot","onBeforeExitSlot","logger","clone","groups","register","commands","forEach","command","setDefaults","cmd","unregister","commandName","toArray","aspectId","filteredCommands","filter","getCommandId","name","map","set","values","flat","getCommand","find","registerGroup","description","consoleWarning","registerOnStart","onStartFn","registerOnCommandStart","onCommandStartFn","registerOnBeforeExit","onBeforeExitFn","legacyLogger","registerOnBeforeExitFn","run","hasWorkspace","invokeOnStart","CliParser","CLIParser","parse","onStartFns","foundCmd","findCommandByArgv","currentCommandName","process","argv","pMapSeries","onStart","alias","extendedDescription","group","options","private","trim","loader","undefined","loadAspects","helpUrl","isFullUrl","provider","loggerMain","config","createLogger","CLIAspect","id","cliMain","ensureWorkspaceAndScope","cliGenerateCmd","CliGenerateCmd","cliCmd","CliCmd","helpCmd","HelpCmd","push","CompletionCmd","VersionCmd","exports","LoggerAspect","MainRuntime","Slot","withType","addRuntime","loadConsumerIfExist","err","potentialWsPath","cwd","consumerInfo","getConsumerInfo","hasScope","hasBitMap","hasConsumerConfig","HostInitializerMain","init","url","startsWith"],"sources":["cli.main.runtime.ts"],"sourcesContent":["import { Slot, SlotRegistry } from '@teambit/harmony';\nimport legacyLogger from '@teambit/legacy/dist/logger/logger';\nimport { CLIArgs, Flags, Command } from '@teambit/legacy/dist/cli/command';\nimport pMapSeries from 'p-map-series';\nimport { groups, GroupsType } from '@teambit/legacy/dist/cli/command-groups';\nimport { HostInitializerMain } from '@teambit/host-initializer';\nimport { loadConsumerIfExist, getConsumerInfo } from '@teambit/legacy/dist/consumer';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { clone } from 'lodash';\nimport { CLIAspect, MainRuntime } from './cli.aspect';\nimport { getCommandId } from './get-command-id';\nimport { CLIParser, findCommandByArgv } from './cli-parser';\nimport { CompletionCmd } from './completion.cmd';\nimport { CliCmd, CliGenerateCmd } from './cli.cmd';\nimport { HelpCmd } from './help.cmd';\nimport { VersionCmd } from './version.cmd';\n\nexport type CommandList = Array<Command>;\nexport type OnStart = (hasWorkspace: boolean, currentCommand: string, commandObject?: Command) => Promise<void>;\nexport type OnCommandStart = (commandName: string, args: CLIArgs, flags: Flags) => Promise<void>;\nexport type OnBeforeExitFn = () => Promise<void>;\n\nexport type OnStartSlot = SlotRegistry<OnStart>;\nexport type OnCommandStartSlot = SlotRegistry<OnCommandStart>;\nexport type CommandsSlot = SlotRegistry<CommandList>;\nexport type OnBeforeExitSlot = SlotRegistry<OnBeforeExitFn>;\n\nexport class CLIMain {\n public groups: GroupsType = clone(groups); // if it's not cloned, it is cached across loadBit() instances\n constructor(\n private commandsSlot: CommandsSlot,\n private onStartSlot: OnStartSlot,\n readonly onCommandStartSlot: OnCommandStartSlot,\n private onBeforeExitSlot: OnBeforeExitSlot,\n private logger: Logger\n ) {}\n\n /**\n * registers a new command in to the CLI.\n */\n register(...commands: CommandList) {\n commands.forEach((command) => {\n this.setDefaults(command);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n command.commands!.forEach((cmd) => this.setDefaults(cmd));\n });\n this.commandsSlot.register(commands);\n }\n\n /**\n * helpful for having the same command name in different environments (e.g. legacy and non-legacy).\n * for example `cli.unregister('tag');` removes the \"bit tag\" command.\n */\n unregister(commandName: string) {\n this.commandsSlot.toArray().forEach(([aspectId, commands]) => {\n const filteredCommands = commands.filter((command) => {\n return getCommandId(command.name) !== commandName;\n });\n this.commandsSlot.map.set(aspectId, filteredCommands);\n });\n }\n\n /**\n * list of all registered commands. (legacy and new).\n */\n get commands(): CommandList {\n return this.commandsSlot.values().flat();\n }\n\n /**\n * get an instance of a registered command. (useful for aspects to modify and extend existing commands)\n */\n getCommand(name: string): Command | undefined {\n return this.commands.find((command) => getCommandId(command.name) === name);\n }\n\n /**\n * when running `bit help`, commands are grouped by categories.\n * this method helps registering a new group by providing its name and a description.\n * the name is what needs to be assigned to the `group` property of the Command interface.\n * the description is what shown in the `bit help` output.\n */\n registerGroup(name: string, description: string) {\n if (this.groups[name]) {\n this.logger.consoleWarning(`CLI group \"${name}\" is already registered`);\n } else {\n this.groups[name] = description;\n }\n }\n\n /**\n * onStart is when bootstrapping the CLI. (it happens before onCommandStart)\n */\n registerOnStart(onStartFn: OnStart) {\n this.onStartSlot.register(onStartFn);\n return this;\n }\n\n /**\n * onCommandStart is when a command is about to start and we have the command object and the parsed args and flags\n * already. (it happens after onStart)\n */\n registerOnCommandStart(onCommandStartFn: OnCommandStart) {\n this.onCommandStartSlot.register(onCommandStartFn);\n return this;\n }\n\n /**\n * This will register a function to be called before the process exits.\n * This will run only for \"regular\" exits\n * e.g.\n * yes - command run and finished successfully\n * yes - command run and failed gracefully (code 1)\n * not SIGKILL (kill -9)\n * not SIGINT (Ctrl+C)\n * not SIGTERM (kill)\n * not uncaughtException\n * not unhandledRejection\n *\n * @param onBeforeExitFn\n * @returns\n */\n registerOnBeforeExit(onBeforeExitFn: OnBeforeExitFn) {\n this.onBeforeExitSlot.register(onBeforeExitFn);\n legacyLogger.registerOnBeforeExitFn(onBeforeExitFn);\n return this;\n }\n\n /**\n * execute commands registered to this aspect.\n */\n async run(hasWorkspace: boolean) {\n await this.invokeOnStart(hasWorkspace);\n const CliParser = new CLIParser(this.commands, this.groups, this.onCommandStartSlot);\n await CliParser.parse();\n }\n\n private async invokeOnStart(hasWorkspace: boolean) {\n const onStartFns = this.onStartSlot.values();\n const foundCmd = findCommandByArgv(this.commands);\n const currentCommandName = process.argv[2];\n await pMapSeries(onStartFns, (onStart) => onStart(hasWorkspace, currentCommandName, foundCmd));\n }\n\n private setDefaults(command: Command) {\n command.alias = command.alias || '';\n command.description = command.description || '';\n command.extendedDescription = command.extendedDescription || '';\n command.group = command.group || 'ungrouped';\n command.options = command.options || [];\n command.private = command.private || false;\n command.commands = command.commands || [];\n command.name = command.name.trim();\n if (command.loader === undefined) {\n command.loader = true;\n }\n if (command.loadAspects === undefined) {\n command.loadAspects = true;\n }\n if (command.helpUrl && !isFullUrl(command.helpUrl)) {\n command.helpUrl = `https://bit.dev/${command.helpUrl}`;\n }\n }\n\n static dependencies = [LoggerAspect];\n static runtime = MainRuntime;\n static slots = [\n Slot.withType<CommandList>(),\n Slot.withType<OnStart>(),\n Slot.withType<OnCommandStart>(),\n Slot.withType<OnBeforeExitFn>(),\n ];\n\n static async provider(\n [loggerMain]: [LoggerMain],\n config,\n [commandsSlot, onStartSlot, onCommandStartSlot, onBeforeExitSlot]: [\n CommandsSlot,\n OnStartSlot,\n OnCommandStartSlot,\n OnBeforeExitSlot\n ]\n ) {\n const logger = loggerMain.createLogger(CLIAspect.id);\n const cliMain = new CLIMain(commandsSlot, onStartSlot, onCommandStartSlot, onBeforeExitSlot, logger);\n await ensureWorkspaceAndScope();\n const cliGenerateCmd = new CliGenerateCmd(cliMain);\n const cliCmd = new CliCmd(cliMain);\n const helpCmd = new HelpCmd(cliMain);\n cliCmd.commands.push(cliGenerateCmd);\n cliMain.register(new CompletionCmd(), cliCmd, helpCmd, new VersionCmd());\n return cliMain;\n }\n}\n\nCLIAspect.addRuntime(CLIMain);\n\n/**\n * kind of a hack.\n * in the legacy, this is running at the beginning and it take care of issues when Bit files are missing,\n * such as \".bit\".\n * (to make this process better, you can easily remove it and run the e2e-tests. you'll see some failing)\n */\nasync function ensureWorkspaceAndScope() {\n try {\n await loadConsumerIfExist();\n } catch (err) {\n const potentialWsPath = process.cwd();\n const consumerInfo = await getConsumerInfo(potentialWsPath);\n if (consumerInfo && !consumerInfo.hasScope && consumerInfo.hasBitMap && consumerInfo.hasConsumerConfig) {\n await HostInitializerMain.init(potentialWsPath);\n }\n // do nothing. it could fail for example with ScopeNotFound error, which is taken care of in \"bit init\".\n }\n}\n\nfunction isFullUrl(url: string) {\n return url.startsWith('http://') || url.startsWith('https://');\n}\n"],"mappings":"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","ignoreList":[]}
@@ -27,3 +27,4 @@ export declare class CommandRunner {
27
27
  private determineConsoleWritingDuringCommand;
28
28
  private writeAndExit;
29
29
  }
30
+ export declare function parseCommandName(commandName: string): string;
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.CommandRunner = void 0;
7
+ exports.parseCommandName = parseCommandName;
7
8
  function _logger() {
8
9
  const data = _interopRequireWildcard(require("@teambit/legacy/dist/logger/logger"));
9
10
  _logger = function () {
@@ -11,13 +12,6 @@ function _logger() {
11
12
  };
12
13
  return data;
13
14
  }
14
- function _commandRegistry() {
15
- const data = require("@teambit/legacy/dist/cli/command-registry");
16
- _commandRegistry = function () {
17
- return data;
18
- };
19
- return data;
20
- }
21
15
  function _loader() {
22
16
  const data = _interopRequireDefault(require("@teambit/legacy/dist/cli/loader"));
23
17
  _loader = function () {
@@ -26,7 +20,7 @@ function _loader() {
26
20
  return data;
27
21
  }
28
22
  function _handleErrors() {
29
- const data = require("@teambit/legacy/dist/cli/handle-errors");
23
+ const data = require("./handle-errors");
30
24
  _handleErrors = function () {
31
25
  return data;
32
26
  };
@@ -73,7 +67,7 @@ class CommandRunner {
73
67
  this.flags = flags;
74
68
  this.onCommandStartSlot = onCommandStartSlot;
75
69
  _defineProperty(this, "commandName", void 0);
76
- this.commandName = (0, _commandRegistry().parseCommandName)(this.command.name);
70
+ this.commandName = parseCommandName(this.command.name);
77
71
  }
78
72
 
79
73
  /**
@@ -159,5 +153,9 @@ class CommandRunner {
159
153
  }
160
154
  }
161
155
  exports.CommandRunner = CommandRunner;
156
+ function parseCommandName(commandName) {
157
+ if (!commandName) return '';
158
+ return commandName.split(' ')[0];
159
+ }
162
160
 
163
161
  //# sourceMappingURL=command-runner.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_logger","data","_interopRequireWildcard","require","_commandRegistry","_loader","_interopRequireDefault","_handleErrors","_constants","_globalFlags","_legacy","_pMapSeries","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","CommandRunner","constructor","command","args","flags","onCommandStartSlot","commandName","parseCommandName","name","runCommand","bootstrapCommand","invokeOnCommandStart","determineConsoleWritingDuringCommand","json","runJsonHandler","report","runReportHandler","wait","runWaitHandler","err","handleErrorAndExit","Error","Analytics","init","logger","info","token","TOKEN_FLAG_NAME","globalFlags","toString","funcs","values","pMapSeries","onCommandStart","result","code","writeAndExit","JSON","stringify","loader","off","exitCode","shouldDisableLoader","on","start","shouldWriteToConsole","process","stdout","write","exitAfterFlush","exports"],"sources":["command-runner.ts"],"sourcesContent":["import logger, { shouldDisableLoader } from '@teambit/legacy/dist/logger/logger';\nimport { CLIArgs, Command, Flags } from '@teambit/legacy/dist/cli/command';\nimport { parseCommandName } from '@teambit/legacy/dist/cli/command-registry';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport { handleErrorAndExit } from '@teambit/legacy/dist/cli/handle-errors';\nimport { TOKEN_FLAG_NAME } from '@teambit/legacy/dist/constants';\nimport globalFlags from '@teambit/legacy/dist/cli/global-flags';\nimport { Analytics } from '@teambit/legacy.analytics';\nimport { OnCommandStartSlot } from './cli.main.runtime';\nimport pMapSeries from 'p-map-series';\n\nexport class CommandRunner {\n private commandName: string;\n constructor(\n private command: Command,\n private args: CLIArgs,\n private flags: Flags,\n private onCommandStartSlot: OnCommandStartSlot\n ) {\n this.commandName = parseCommandName(this.command.name);\n }\n\n /**\n * run command using one of the handler, \"json\"/\"report\"/\"render\". once done, exit the process.\n */\n async runCommand() {\n try {\n this.bootstrapCommand();\n await this.invokeOnCommandStart();\n this.determineConsoleWritingDuringCommand();\n if (this.flags.json) {\n return await this.runJsonHandler();\n }\n if (this.command.report) {\n return await this.runReportHandler();\n }\n if (this.command.wait) {\n return await this.runWaitHandler();\n }\n } catch (err: any) {\n return handleErrorAndExit(err, this.commandName);\n }\n\n throw new Error(`command \"${this.commandName}\" doesn't implement \"render\" nor \"report\" nor \"wait\" methods`);\n }\n\n private bootstrapCommand() {\n Analytics.init(this.commandName, this.flags, this.args);\n logger.info(`[*] started a new command: \"${this.commandName}\" with the following data:`, {\n args: this.args,\n flags: this.flags,\n });\n const token = this.flags[TOKEN_FLAG_NAME];\n if (token) {\n globalFlags.token = token.toString();\n }\n }\n\n private async invokeOnCommandStart() {\n const funcs = this.onCommandStartSlot.values();\n await pMapSeries(funcs, (onCommandStart) => onCommandStart(this.commandName, this.args, this.flags));\n }\n\n /**\n * this works for both, Harmony commands and Legacy commands (the legacy-command-adapter\n * implements json() method)\n */\n private async runJsonHandler() {\n if (!this.flags.json) return null;\n if (!this.command.json) throw new Error(`command \"${this.commandName}\" doesn't implement \"json\" method`);\n const result = await this.command.json(this.args, this.flags);\n const code = result.code || 0;\n const data = result.data || result;\n return this.writeAndExit(JSON.stringify(data, null, 2), code);\n }\n\n private async runReportHandler() {\n if (!this.command.report) throw new Error('runReportHandler expects command.report to be implemented');\n const result = await this.command.report(this.args, this.flags);\n loader.off();\n const data = typeof result === 'string' ? result : result.data;\n const exitCode = typeof result === 'string' ? 0 : result.code;\n return this.writeAndExit(`${data}\\n`, exitCode);\n }\n\n private async runWaitHandler() {\n if (!this.command.wait) throw new Error('runReportHandler expects command.wait to be implemented');\n await this.command.wait(this.args, this.flags);\n }\n\n /**\n * the loader and logger.console write output to the console during the command execution.\n * for internals commands, such as, _put, _fetch, the command.loader = false.\n */\n private determineConsoleWritingDuringCommand() {\n if (this.command.loader && !this.flags.json && !this.flags['get-yargs-completions'] && !shouldDisableLoader) {\n loader.on();\n loader.start(`running command \"${this.commandName}\"...`);\n logger.shouldWriteToConsole = true;\n } else {\n loader.off();\n logger.shouldWriteToConsole = false;\n }\n }\n\n private async writeAndExit(data: string, exitCode: number) {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n return process.stdout.write(data, async () => logger.exitAfterFlush(exitCode, this.commandName, data));\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_logger","data","_interopRequireWildcard","require","_loader","_interopRequireDefault","_handleErrors","_constants","_globalFlags","_legacy","_pMapSeries","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","CommandRunner","constructor","command","args","flags","onCommandStartSlot","commandName","parseCommandName","name","runCommand","bootstrapCommand","invokeOnCommandStart","determineConsoleWritingDuringCommand","json","runJsonHandler","report","runReportHandler","wait","runWaitHandler","err","handleErrorAndExit","Error","Analytics","init","logger","info","token","TOKEN_FLAG_NAME","globalFlags","toString","funcs","values","pMapSeries","onCommandStart","result","code","writeAndExit","JSON","stringify","loader","off","exitCode","shouldDisableLoader","on","start","shouldWriteToConsole","process","stdout","write","exitAfterFlush","exports","split"],"sources":["command-runner.ts"],"sourcesContent":["import logger, { shouldDisableLoader } from '@teambit/legacy/dist/logger/logger';\nimport { CLIArgs, Command, Flags } from '@teambit/legacy/dist/cli/command';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport { handleErrorAndExit } from './handle-errors';\nimport { TOKEN_FLAG_NAME } from '@teambit/legacy/dist/constants';\nimport globalFlags from '@teambit/legacy/dist/cli/global-flags';\nimport { Analytics } from '@teambit/legacy.analytics';\nimport { OnCommandStartSlot } from './cli.main.runtime';\nimport pMapSeries from 'p-map-series';\n\nexport class CommandRunner {\n private commandName: string;\n constructor(\n private command: Command,\n private args: CLIArgs,\n private flags: Flags,\n private onCommandStartSlot: OnCommandStartSlot\n ) {\n this.commandName = parseCommandName(this.command.name);\n }\n\n /**\n * run command using one of the handler, \"json\"/\"report\"/\"render\". once done, exit the process.\n */\n async runCommand() {\n try {\n this.bootstrapCommand();\n await this.invokeOnCommandStart();\n this.determineConsoleWritingDuringCommand();\n if (this.flags.json) {\n return await this.runJsonHandler();\n }\n if (this.command.report) {\n return await this.runReportHandler();\n }\n if (this.command.wait) {\n return await this.runWaitHandler();\n }\n } catch (err: any) {\n return handleErrorAndExit(err, this.commandName);\n }\n\n throw new Error(`command \"${this.commandName}\" doesn't implement \"render\" nor \"report\" nor \"wait\" methods`);\n }\n\n private bootstrapCommand() {\n Analytics.init(this.commandName, this.flags, this.args);\n logger.info(`[*] started a new command: \"${this.commandName}\" with the following data:`, {\n args: this.args,\n flags: this.flags,\n });\n const token = this.flags[TOKEN_FLAG_NAME];\n if (token) {\n globalFlags.token = token.toString();\n }\n }\n\n private async invokeOnCommandStart() {\n const funcs = this.onCommandStartSlot.values();\n await pMapSeries(funcs, (onCommandStart) => onCommandStart(this.commandName, this.args, this.flags));\n }\n\n /**\n * this works for both, Harmony commands and Legacy commands (the legacy-command-adapter\n * implements json() method)\n */\n private async runJsonHandler() {\n if (!this.flags.json) return null;\n if (!this.command.json) throw new Error(`command \"${this.commandName}\" doesn't implement \"json\" method`);\n const result = await this.command.json(this.args, this.flags);\n const code = result.code || 0;\n const data = result.data || result;\n return this.writeAndExit(JSON.stringify(data, null, 2), code);\n }\n\n private async runReportHandler() {\n if (!this.command.report) throw new Error('runReportHandler expects command.report to be implemented');\n const result = await this.command.report(this.args, this.flags);\n loader.off();\n const data = typeof result === 'string' ? result : result.data;\n const exitCode = typeof result === 'string' ? 0 : result.code;\n return this.writeAndExit(`${data}\\n`, exitCode);\n }\n\n private async runWaitHandler() {\n if (!this.command.wait) throw new Error('runReportHandler expects command.wait to be implemented');\n await this.command.wait(this.args, this.flags);\n }\n\n /**\n * the loader and logger.console write output to the console during the command execution.\n * for internals commands, such as, _put, _fetch, the command.loader = false.\n */\n private determineConsoleWritingDuringCommand() {\n if (this.command.loader && !this.flags.json && !this.flags['get-yargs-completions'] && !shouldDisableLoader) {\n loader.on();\n loader.start(`running command \"${this.commandName}\"...`);\n logger.shouldWriteToConsole = true;\n } else {\n loader.off();\n logger.shouldWriteToConsole = false;\n }\n }\n\n private async writeAndExit(data: string, exitCode: number) {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n return process.stdout.write(data, async () => logger.exitAfterFlush(exitCode, this.commandName, data));\n }\n}\n\nexport function parseCommandName(commandName: string): string {\n if (!commandName) return '';\n return commandName.split(' ')[0];\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +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 { Command, CommandArg } from '@teambit/legacy/dist/cli/command';\nimport { CommandOptions } from '@teambit/legacy/dist/cli/legacy-command';\nimport { pick } from 'lodash';\nimport { getCommandId } from './get-command-id';\n\nexport type GenerateOpts = {\n metadata?: Record<string, string>;\n};\n\ntype CommandObject = ReturnType<typeof oneCommandToObject> & { commands?: any };\n\nexport class GenerateCommandsDoc {\n constructor(private commands: Command[], private options: GenerateOpts) {}\n\n generate(): string {\n const commands = this.getAllPublicCommandsSorted();\n let output = `${this.getFrontmatter()}\n# CLI Reference\n\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 { CommandOptions, Command, CommandArg } from '@teambit/legacy/dist/cli/command';\nimport { pick } from 'lodash';\nimport { getCommandId } from './get-command-id';\n\nexport type GenerateOpts = {\n metadata?: Record<string, string>;\n};\n\ntype CommandObject = ReturnType<typeof oneCommandToObject> & { commands?: any };\n\nexport class GenerateCommandsDoc {\n constructor(private commands: Command[], private options: GenerateOpts) {}\n\n generate(): string {\n const commands = this.getAllPublicCommandsSorted();\n let output = `${this.getFrontmatter()}\n# CLI Reference\n\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":[]}
@@ -0,0 +1,2 @@
1
+ export declare function handleErrorAndExit(err: Error, commandName: string): Promise<void>;
2
+ export declare function handleUnhandledRejection(err: Error | null | undefined | {}): Promise<void>;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.handleErrorAndExit = handleErrorAndExit;
7
+ exports.handleUnhandledRejection = handleUnhandledRejection;
8
+ function _logger() {
9
+ const data = _interopRequireDefault(require("@teambit/legacy/dist/logger/logger"));
10
+ _logger = function () {
11
+ return data;
12
+ };
13
+ return data;
14
+ }
15
+ function _defaultErrorHandler() {
16
+ const data = _interopRequireDefault(require("@teambit/legacy/dist/cli/default-error-handler"));
17
+ _defaultErrorHandler = function () {
18
+ return data;
19
+ };
20
+ return data;
21
+ }
22
+ function _loader() {
23
+ const data = _interopRequireDefault(require("@teambit/legacy/dist/cli/loader"));
24
+ _loader = function () {
25
+ return data;
26
+ };
27
+ return data;
28
+ }
29
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
30
+ async function handleErrorAndExit(err, commandName) {
31
+ try {
32
+ _loader().default.off();
33
+ _logger().default.error(`got an error from command ${commandName}: ${err}`, err);
34
+ const {
35
+ message
36
+ } = (0, _defaultErrorHandler().default)(err);
37
+ await logErrAndExit(message, commandName, err);
38
+ } catch (e) {
39
+ // eslint-disable-next-line no-console
40
+ console.error('failed to log the error properly, failure error', e);
41
+ // eslint-disable-next-line no-console
42
+ console.error('failed to log the error properly, original error', err);
43
+ process.exit(1);
44
+ }
45
+ }
46
+ async function handleUnhandledRejection(err) {
47
+ // eslint-disable-next-line no-console
48
+ console.error('** unhandled rejection found, please make sure the promise is resolved/rejected correctly! **');
49
+ if (err instanceof Error) {
50
+ return handleErrorAndExit(err, process.argv[2]);
51
+ }
52
+ console.error(err); // eslint-disable-line
53
+ return handleErrorAndExit(new Error(`unhandledRejections found. err ${err}`), process.argv[2]);
54
+ }
55
+ async function logErrAndExit(errMsg, commandName, errObj) {
56
+ if (!errMsg) throw new Error(`logErrAndExit expects to get either an Error or a string, got nothing`);
57
+ console.error(errMsg); // eslint-disable-line
58
+ // for CI, print the entire error with the stacktrace
59
+ if (process.env.CI) console.error(errObj); // eslint-disable-line
60
+ await _logger().default.exitAfterFlush(1, commandName, errMsg.toString());
61
+ }
62
+
63
+ //# sourceMappingURL=handle-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_logger","data","_interopRequireDefault","require","_defaultErrorHandler","_loader","e","__esModule","default","handleErrorAndExit","err","commandName","loader","off","logger","error","message","defaultHandleError","logErrAndExit","console","process","exit","handleUnhandledRejection","Error","argv","errMsg","errObj","env","CI","exitAfterFlush","toString"],"sources":["handle-errors.ts"],"sourcesContent":["import logger from '@teambit/legacy/dist/logger/logger';\nimport defaultHandleError from '@teambit/legacy/dist/cli/default-error-handler';\nimport loader from '@teambit/legacy/dist/cli/loader';\n\nexport async function handleErrorAndExit(err: Error, commandName: string): Promise<void> {\n try {\n loader.off();\n logger.error(`got an error from command ${commandName}: ${err}`, err);\n const { message } = defaultHandleError(err);\n await logErrAndExit(message, commandName, err);\n } catch (e: any) {\n // eslint-disable-next-line no-console\n console.error('failed to log the error properly, failure error', e);\n // eslint-disable-next-line no-console\n console.error('failed to log the error properly, original error', err);\n process.exit(1);\n }\n}\n\nexport async function handleUnhandledRejection(err: Error | null | undefined | {}) {\n // eslint-disable-next-line no-console\n console.error('** unhandled rejection found, please make sure the promise is resolved/rejected correctly! **');\n if (err instanceof Error) {\n return handleErrorAndExit(err, process.argv[2]);\n }\n console.error(err); // eslint-disable-line\n return handleErrorAndExit(new Error(`unhandledRejections found. err ${err}`), process.argv[2]);\n}\n\nasync function logErrAndExit(errMsg: Error | string, commandName: string, errObj: Error) {\n if (!errMsg) throw new Error(`logErrAndExit expects to get either an Error or a string, got nothing`);\n console.error(errMsg); // eslint-disable-line\n // for CI, print the entire error with the stacktrace\n if (process.env.CI) console.error(errObj); // eslint-disable-line\n await logger.exitAfterFlush(1, commandName, errMsg.toString());\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,qBAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,oBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAE,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAqD,SAAAC,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9C,eAAeG,kBAAkBA,CAACC,GAAU,EAAEC,WAAmB,EAAiB;EACvF,IAAI;IACFC,iBAAM,CAACC,GAAG,CAAC,CAAC;IACZC,iBAAM,CAACC,KAAK,CAAC,6BAA6BJ,WAAW,KAAKD,GAAG,EAAE,EAAEA,GAAG,CAAC;IACrE,MAAM;MAAEM;IAAQ,CAAC,GAAG,IAAAC,8BAAkB,EAACP,GAAG,CAAC;IAC3C,MAAMQ,aAAa,CAACF,OAAO,EAAEL,WAAW,EAAED,GAAG,CAAC;EAChD,CAAC,CAAC,OAAOJ,CAAM,EAAE;IACf;IACAa,OAAO,CAACJ,KAAK,CAAC,iDAAiD,EAAET,CAAC,CAAC;IACnE;IACAa,OAAO,CAACJ,KAAK,CAAC,kDAAkD,EAAEL,GAAG,CAAC;IACtEU,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC;EACjB;AACF;AAEO,eAAeC,wBAAwBA,CAACZ,GAAkC,EAAE;EACjF;EACAS,OAAO,CAACJ,KAAK,CAAC,+FAA+F,CAAC;EAC9G,IAAIL,GAAG,YAAYa,KAAK,EAAE;IACxB,OAAOd,kBAAkB,CAACC,GAAG,EAAEU,OAAO,CAACI,IAAI,CAAC,CAAC,CAAC,CAAC;EACjD;EACAL,OAAO,CAACJ,KAAK,CAACL,GAAG,CAAC,CAAC,CAAC;EACpB,OAAOD,kBAAkB,CAAC,IAAIc,KAAK,CAAC,kCAAkCb,GAAG,EAAE,CAAC,EAAEU,OAAO,CAACI,IAAI,CAAC,CAAC,CAAC,CAAC;AAChG;AAEA,eAAeN,aAAaA,CAACO,MAAsB,EAAEd,WAAmB,EAAEe,MAAa,EAAE;EACvF,IAAI,CAACD,MAAM,EAAE,MAAM,IAAIF,KAAK,CAAC,uEAAuE,CAAC;EACrGJ,OAAO,CAACJ,KAAK,CAACU,MAAM,CAAC,CAAC,CAAC;EACvB;EACA,IAAIL,OAAO,CAACO,GAAG,CAACC,EAAE,EAAET,OAAO,CAACJ,KAAK,CAACW,MAAM,CAAC,CAAC,CAAC;EAC3C,MAAMZ,iBAAM,CAACe,cAAc,CAAC,CAAC,EAAElB,WAAW,EAAEc,MAAM,CAACK,QAAQ,CAAC,CAAC,CAAC;AAChE","ignoreList":[]}
@@ -1,5 +1,4 @@
1
- import type { Command } from '@teambit/legacy/dist/cli/command';
2
- import type { CommandOptions } from '@teambit/legacy/dist/cli/legacy-command';
1
+ import type { Command, CommandOptions } from '@teambit/legacy/dist/cli/command';
3
2
  import { CLIMain } from './cli.main.runtime';
4
3
  export declare class HelpCmd implements Command {
5
4
  private cliMain;
@@ -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 } from '@teambit/legacy/dist/cli/command';\nimport type { CommandOptions } from '@teambit/legacy/dist/cli/legacy-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 = 'general';\n options = [['', 'internal', 'show internal commands']] as CommandOptions;\n\n constructor(private cliMain: CLIMain) {}\n\n async report(_, { internal }: { internal: boolean }) {\n return formatHelp(this.cliMain.commands, this.cliMain.groups, internal);\n }\n}\n"],"mappings":";;;;;;AAGA,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,SAAS;IAAAA,eAAA,kBACP,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 '@teambit/legacy/dist/cli/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 = 'general';\n options = [['', 'internal', 'show internal commands']] as CommandOptions;\n\n constructor(private cliMain: CLIMain) {}\n\n async report(_, { internal }: { internal: boolean }) {\n return formatHelp(this.cliMain.commands, this.cliMain.groups, internal);\n }\n}\n"],"mappings":";;;;;;AAEA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;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,SAAS;IAAAA,eAAA,kBACP,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/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { CLIAspect, MainRuntime } from './cli.aspect';
2
2
  export type { CLIMain, CommandList, CommandsSlot } from './cli.main.runtime';
3
- export type { Command, CLIArgs, Flags, GenericObject } from '@teambit/legacy/dist/cli/command';
4
- export type { CommandOptions } from '@teambit/legacy/dist/cli/legacy-command';
3
+ export { handleUnhandledRejection, handleErrorAndExit } from './handle-errors';
4
+ export type { Command, CLIArgs, Flags, GenericObject, CommandOptions } from '@teambit/legacy/dist/cli/command';
5
5
  export * from './exceptions';
6
6
  export { CLIAspect as default, MainRuntime, CLIAspect };
package/dist/index.js CHANGED
@@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  var _exportNames = {
7
7
  CLIAspect: true,
8
- MainRuntime: true
8
+ MainRuntime: true,
9
+ handleUnhandledRejection: true,
10
+ handleErrorAndExit: true
9
11
  };
10
12
  Object.defineProperty(exports, "CLIAspect", {
11
13
  enumerable: true,
@@ -25,6 +27,18 @@ Object.defineProperty(exports, "default", {
25
27
  return _cli().CLIAspect;
26
28
  }
27
29
  });
30
+ Object.defineProperty(exports, "handleErrorAndExit", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _handleErrors().handleErrorAndExit;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "handleUnhandledRejection", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _handleErrors().handleUnhandledRejection;
40
+ }
41
+ });
28
42
  function _cli() {
29
43
  const data = require("./cli.aspect");
30
44
  _cli = function () {
@@ -32,6 +46,13 @@ function _cli() {
32
46
  };
33
47
  return data;
34
48
  }
49
+ function _handleErrors() {
50
+ const data = require("./handle-errors");
51
+ _handleErrors = function () {
52
+ return data;
53
+ };
54
+ return data;
55
+ }
35
56
  var _exceptions = require("./exceptions");
36
57
  Object.keys(_exceptions).forEach(function (key) {
37
58
  if (key === "default" || key === "__esModule") return;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_exceptions","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["import { CLIAspect, MainRuntime } from './cli.aspect';\n\nexport type { CLIMain, CommandList, CommandsSlot } from './cli.main.runtime';\nexport type { Command, CLIArgs, Flags, GenericObject } from '@teambit/legacy/dist/cli/command';\nexport type { CommandOptions } from '@teambit/legacy/dist/cli/legacy-command';\nexport * from './exceptions';\n\nexport { CLIAspect as default, MainRuntime, CLIAspect };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAAA,KAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,IAAAE,WAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,WAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,WAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,WAAA,CAAAI,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_cli","data","require","_handleErrors","_exceptions","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["import { CLIAspect, MainRuntime } from './cli.aspect';\n\nexport type { CLIMain, CommandList, CommandsSlot } from './cli.main.runtime';\nexport { handleUnhandledRejection, handleErrorAndExit } from './handle-errors';\nexport type { Command, CLIArgs, Flags, GenericObject, CommandOptions } from '@teambit/legacy/dist/cli/command';\nexport * from './exceptions';\n\nexport { CLIAspect as default, MainRuntime, CLIAspect };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAAA,KAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAE,cAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,aAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAG,WAAA,GAAAF,OAAA;AAAAG,MAAA,CAAAC,IAAA,CAAAF,WAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,WAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,WAAA,CAAAI,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_cli@0.0.898/dist/cli.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_cli@0.0.898/dist/cli.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_cli@0.0.900/dist/cli.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_cli@0.0.900/dist/cli.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];