@teambit/cli 0.0.838 → 0.0.840
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/cli-parser.ts +296 -0
- package/cli.aspect.ts +11 -0
- package/cli.cmd.ts +110 -0
- package/cli.main.runtime.ts +193 -0
- package/command-runner.ts +143 -0
- package/completion.cmd.ts +9 -0
- package/dist/cli-parser.js +7 -10
- package/dist/cli-parser.js.map +1 -1
- package/dist/cli.cmd.js +3 -3
- package/dist/cli.cmd.js.map +1 -1
- package/dist/cli.composition.d.ts +2 -2
- package/dist/cli.main.runtime.d.ts +6 -6
- package/dist/cli.main.runtime.js +2 -2
- package/dist/cli.main.runtime.js.map +1 -1
- package/dist/command-runner.d.ts +1 -1
- package/dist/command-runner.js +2 -2
- package/dist/command-runner.js.map +1 -1
- package/dist/completion.cmd.d.ts +1 -1
- package/dist/completion.cmd.js +2 -2
- package/dist/exceptions/command-not-found.js +2 -2
- package/dist/exceptions/command-not-found.js.map +1 -1
- package/dist/generate-doc-md.d.ts +2 -2
- package/dist/generate-doc-md.js +1 -2
- package/dist/generate-doc-md.js.map +1 -1
- package/dist/help.cmd.js +2 -2
- package/dist/help.cmd.js.map +1 -1
- package/dist/legacy-command-adapter.js +2 -2
- package/dist/{preview-1703387662836.js → preview-1703647408454.js} +2 -2
- package/dist/version.cmd.js +2 -2
- package/dist/version.cmd.js.map +1 -1
- package/dist/yargs-adapter.d.ts +2 -2
- package/dist/yargs-adapter.js +4 -5
- package/dist/yargs-adapter.js.map +1 -1
- package/generate-doc-md.ts +167 -0
- package/get-command-id.ts +3 -0
- package/help.cmd.ts +18 -0
- package/help.ts +80 -0
- package/index.ts +8 -0
- package/legacy-command-adapter.ts +68 -0
- package/package.json +12 -19
- package/tsconfig.json +16 -21
- package/types/asset.d.ts +15 -3
- package/version.cmd.ts +21 -0
- package/yargs-adapter.ts +109 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_ink","data","require","_consumer","_logger","_interopRequireDefault","_commandRegistry","_loader","_handleErrors","_constants","_globalFlags","_analytics","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","CommandRunner","constructor","command","args","flags","commandName","parseCommandName","name","runCommand","bootstrapCommand","runMigrateIfNeeded","determineConsoleWritingDuringCommand","json","runJsonHandler","shouldRunRender","runRenderHandler","report","runReportHandler","err","handleErrorAndExit","internal","Error","Analytics","init","logger","info","token","TOKEN_FLAG_NAME","globalFlags","toString","isTerminal","process","stdout","isTTY","Boolean","render","result","code","writeAndExit","JSON","stringify","loader","off","toRenderResult","waitUntilExit","exitAfterFlush","exitCode","on","start","shouldWriteToConsole","log","logValue","switchToConsoleLogger","write","migration","debug","migrate","exports","isRenderResult","hasOwnProperty"],"sources":["command-runner.ts"],"sourcesContent":["import { render } from 'ink';\nimport { migrate } from '@teambit/legacy/dist/api/consumer';\nimport logger, { LoggerLevel } from '@teambit/legacy/dist/logger/logger';\nimport { CLIArgs, Command, Flags, RenderResult } 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/dist/analytics/analytics';\n\nexport class CommandRunner {\n private commandName: string;\n constructor(private command: Command, private args: CLIArgs, private flags: Flags) {\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.runMigrateIfNeeded();\n this.determineConsoleWritingDuringCommand();\n if (this.flags.json) {\n return await this.runJsonHandler();\n }\n if (this.shouldRunRender()) {\n return await this.runRenderHandler();\n }\n if (this.command.report) {\n return await this.runReportHandler();\n }\n } catch (err: any) {\n return handleErrorAndExit(err, this.commandName, this.command.internal);\n }\n\n throw new Error(`command \"${this.commandName}\" doesn't implement \"render\" nor \"report\" 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 /**\n * when both \"render\" and \"report\" were implemented, check whether it's a terminal.\n * if it's a terminal, use \"render\", if not, use \"report\" because \"report\" is just a string\n */\n private shouldRunRender() {\n const isTerminal = process.stdout.isTTY;\n if (this.command.report && !isTerminal) {\n return false;\n }\n return Boolean(this.command.render);\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 runRenderHandler() {\n if (!this.command.render) throw new Error('runRenderHandler expects command.render to be implemented');\n const result = await this.command.render(this.args, this.flags);\n loader.off();\n\n const { data, code } = toRenderResult(result);\n\n const { waitUntilExit } = render(data);\n await waitUntilExit();\n return logger.exitAfterFlush(code, this.commandName);\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 /**\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']) {\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 if (this.flags.log) {\n // probably not necessary anymore. it is handled in src/logger - determineWritingLogToScreen()\n const logValue = typeof this.flags.log === 'string' ? this.flags.log : undefined;\n logger.switchToConsoleLogger(logValue as LoggerLevel);\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 private async runMigrateIfNeeded(): Promise<any> {\n // @ts-ignore LegacyCommandAdapter has .migration\n if (this.command.migration) {\n logger.debug('Checking if a migration is needed');\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return migrate(null, false);\n }\n return null;\n }\n}\n\nfunction toRenderResult(obj: RenderResult | React.ReactElement) {\n return isRenderResult(obj) ? obj : { data: obj, code: 0 };\n}\n\nfunction isRenderResult(obj: RenderResult | any): obj is RenderResult {\n // eslint-disable-next-line no-prototype-builtins\n return typeof obj === 'object' && typeof obj.code === 'number' && obj.hasOwnProperty('data');\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_ink","data","require","_consumer","_logger","_interopRequireDefault","_commandRegistry","_loader","_handleErrors","_constants","_globalFlags","_analytics","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","CommandRunner","constructor","command","args","flags","commandName","parseCommandName","name","runCommand","bootstrapCommand","runMigrateIfNeeded","determineConsoleWritingDuringCommand","json","runJsonHandler","shouldRunRender","runRenderHandler","report","runReportHandler","err","handleErrorAndExit","internal","Error","Analytics","init","logger","info","token","TOKEN_FLAG_NAME","globalFlags","toString","isTerminal","process","stdout","isTTY","Boolean","render","result","code","writeAndExit","JSON","stringify","loader","off","toRenderResult","waitUntilExit","exitAfterFlush","exitCode","on","start","shouldWriteToConsole","log","logValue","undefined","switchToConsoleLogger","write","migration","debug","migrate","exports","isRenderResult","hasOwnProperty"],"sources":["command-runner.ts"],"sourcesContent":["import { render } from 'ink';\nimport { migrate } from '@teambit/legacy/dist/api/consumer';\nimport logger, { LoggerLevel } from '@teambit/legacy/dist/logger/logger';\nimport { CLIArgs, Command, Flags, RenderResult } 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/dist/analytics/analytics';\n\nexport class CommandRunner {\n private commandName: string;\n constructor(private command: Command, private args: CLIArgs, private flags: Flags) {\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.runMigrateIfNeeded();\n this.determineConsoleWritingDuringCommand();\n if (this.flags.json) {\n return await this.runJsonHandler();\n }\n if (this.shouldRunRender()) {\n return await this.runRenderHandler();\n }\n if (this.command.report) {\n return await this.runReportHandler();\n }\n } catch (err: any) {\n return handleErrorAndExit(err, this.commandName, this.command.internal);\n }\n\n throw new Error(`command \"${this.commandName}\" doesn't implement \"render\" nor \"report\" 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 /**\n * when both \"render\" and \"report\" were implemented, check whether it's a terminal.\n * if it's a terminal, use \"render\", if not, use \"report\" because \"report\" is just a string\n */\n private shouldRunRender() {\n const isTerminal = process.stdout.isTTY;\n if (this.command.report && !isTerminal) {\n return false;\n }\n return Boolean(this.command.render);\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 runRenderHandler() {\n if (!this.command.render) throw new Error('runRenderHandler expects command.render to be implemented');\n const result = await this.command.render(this.args, this.flags);\n loader.off();\n\n const { data, code } = toRenderResult(result);\n\n const { waitUntilExit } = render(data);\n await waitUntilExit();\n return logger.exitAfterFlush(code, this.commandName);\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 /**\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']) {\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 if (this.flags.log) {\n // probably not necessary anymore. it is handled in src/logger - determineWritingLogToScreen()\n const logValue = typeof this.flags.log === 'string' ? this.flags.log : undefined;\n logger.switchToConsoleLogger(logValue as LoggerLevel);\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 private async runMigrateIfNeeded(): Promise<any> {\n // @ts-ignore LegacyCommandAdapter has .migration\n if (this.command.migration) {\n logger.debug('Checking if a migration is needed');\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return migrate(null, false);\n }\n return null;\n }\n}\n\nfunction toRenderResult(obj: RenderResult | React.ReactElement) {\n return isRenderResult(obj) ? obj : { data: obj, code: 0 };\n}\n\nfunction isRenderResult(obj: RenderResult | any): obj is RenderResult {\n // eslint-disable-next-line no-prototype-builtins\n return typeof obj === 'object' && typeof obj.code === 'number' && obj.hasOwnProperty('data');\n}\n"],"mappings":"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"}
|
package/dist/completion.cmd.d.ts
CHANGED
package/dist/completion.cmd.js
CHANGED
|
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.CompletionCmd = void 0;
|
|
7
7
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
8
|
-
function _toPropertyKey(
|
|
9
|
-
function _toPrimitive(
|
|
8
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
9
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
10
10
|
class CompletionCmd {
|
|
11
11
|
constructor() {
|
|
12
12
|
_defineProperty(this, "name", 'completion');
|
|
@@ -20,8 +20,8 @@ function _chalk() {
|
|
|
20
20
|
}
|
|
21
21
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
22
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
23
|
-
function _toPropertyKey(
|
|
24
|
-
function _toPrimitive(
|
|
23
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
24
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
25
25
|
class CommandNotFound extends _bitError().BitError {
|
|
26
26
|
constructor(commandName, suggestion) {
|
|
27
27
|
super(`command ${commandName} was not found`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bitError","data","require","_chalk","_interopRequireDefault","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","
|
|
1
|
+
{"version":3,"names":["_bitError","data","require","_chalk","_interopRequireDefault","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","CommandNotFound","BitError","constructor","commandName","suggestion","report","output","chalk","yellow","bold","exports"],"sources":["command-not-found.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport chalk from 'chalk';\n\nexport class CommandNotFound extends BitError {\n commandName: string;\n suggestion?: string;\n constructor(commandName: string, suggestion?: string) {\n super(`command ${commandName} was not found`);\n this.commandName = commandName;\n this.suggestion = suggestion;\n }\n report() {\n let output = chalk.yellow(\n `warning: '${chalk.bold(this.commandName)}' is not a valid command.\nsee 'bit help' for additional information`\n );\n if (this.suggestion) {\n output += `\\nDid you mean ${chalk.bold(this.suggestion)}?`;\n }\n return output;\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,OAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0B,SAAAG,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA;AAEnB,MAAMW,eAAe,SAASC,oBAAQ,CAAC;EAG5CC,WAAWA,CAACC,WAAmB,EAAEC,UAAmB,EAAE;IACpD,KAAK,CAAE,WAAUD,WAAY,gBAAe,CAAC;IAACvB,eAAA;IAAAA,eAAA;IAC9C,IAAI,CAACuB,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACC,UAAU,GAAGA,UAAU;EAC9B;EACAC,MAAMA,CAAA,EAAG;IACP,IAAIC,MAAM,GAAGC,gBAAK,CAACC,MAAM,CACtB,aAAYD,gBAAK,CAACE,IAAI,CAAC,IAAI,CAACN,WAAW,CAAE;AAChD,0CACI,CAAC;IACD,IAAI,IAAI,CAACC,UAAU,EAAE;MACnBE,MAAM,IAAK,kBAAiBC,gBAAK,CAACE,IAAI,CAAC,IAAI,CAACL,UAAU,CAAE,GAAE;IAC5D;IACA,OAAOE,MAAM;EACf;AACF;AAACI,OAAA,CAAAV,eAAA,GAAAA,eAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Command } from '@teambit/legacy/dist/cli/command';
|
|
2
|
-
export
|
|
2
|
+
export type GenerateOpts = {
|
|
3
3
|
metadata?: Record<string, string>;
|
|
4
4
|
};
|
|
5
|
-
|
|
5
|
+
type CommandObject = ReturnType<typeof oneCommandToObject> & {
|
|
6
6
|
commands?: any;
|
|
7
7
|
};
|
|
8
8
|
export declare class GenerateCommandsDoc {
|
package/dist/generate-doc-md.js
CHANGED
|
@@ -54,9 +54,8 @@ bit COMMAND SUB_COMMAND --help
|
|
|
54
54
|
}
|
|
55
55
|
commandsToObjects(commands = this.commands) {
|
|
56
56
|
return commands.map(command => {
|
|
57
|
-
var _command$commands;
|
|
58
57
|
const cmdObject = oneCommandToObject(command);
|
|
59
|
-
if (
|
|
58
|
+
if (command.commands?.length) {
|
|
60
59
|
cmdObject.commands = this.commandsToObjects(command.commands);
|
|
61
60
|
}
|
|
62
61
|
return cmdObject;
|
|
@@ -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","_command$commands","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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"}
|
|
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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"}
|
package/dist/help.cmd.js
CHANGED
|
@@ -12,8 +12,8 @@ function _help() {
|
|
|
12
12
|
return data;
|
|
13
13
|
}
|
|
14
14
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
|
-
function _toPropertyKey(
|
|
16
|
-
function _toPrimitive(
|
|
15
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
16
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
17
17
|
class HelpCmd {
|
|
18
18
|
constructor(cliMain) {
|
|
19
19
|
this.cliMain = cliMain;
|
package/dist/help.cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_help","data","require","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","
|
|
1
|
+
{"version":3,"names":["_help","data","require","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","HelpCmd","constructor","cliMain","report","_","internal","formatHelp","commands","groups","exports"],"sources":["help.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport { CLIMain } from './cli.main.runtime';\nimport { formatHelp } from './help';\n\nexport class HelpCmd implements Command {\n name = 'help';\n description = 'shows help';\n alias = '$0'; // default command (meaning, if no args are provided, this will be used), see https://github.com/yargs/yargs/blob/master/docs/advanced.md#default-commands\n loader = false;\n group = 'general';\n options = [['', 'internal', 'show internal commands']] as CommandOptions;\n\n constructor(private cliMain: CLIMain) {}\n\n async report(_, { internal }: { internal: boolean }) {\n return formatHelp(this.cliMain.commands, this.cliMain.groups, internal);\n }\n}\n"],"mappings":";;;;;;AAEA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAoC,SAAAE,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA;AAE7B,MAAMW,OAAO,CAAoB;EAQtCC,WAAWA,CAASC,OAAgB,EAAE;IAAA,KAAlBA,OAAgB,GAAhBA,OAAgB;IAAAvB,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,MAAMwB,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"}
|
|
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.LegacyCommandAdapter = void 0;
|
|
7
7
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
8
|
-
function _toPropertyKey(
|
|
9
|
-
function _toPrimitive(
|
|
8
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
9
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
10
10
|
class LegacyCommandAdapter {
|
|
11
11
|
constructor(cmd, cliExtension) {
|
|
12
12
|
this.cmd = cmd;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_cli@0.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_cli@0.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_cli@0.0.840/dist/cli.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_cli@0.0.840/dist/cli.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
package/dist/version.cmd.js
CHANGED
|
@@ -12,8 +12,8 @@ function _bootstrap() {
|
|
|
12
12
|
return data;
|
|
13
13
|
}
|
|
14
14
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
|
-
function _toPropertyKey(
|
|
16
|
-
function _toPrimitive(
|
|
15
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
16
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
17
17
|
class VersionCmd {
|
|
18
18
|
constructor() {
|
|
19
19
|
_defineProperty(this, "name", 'version');
|
package/dist/version.cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bootstrap","data","require","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","
|
|
1
|
+
{"version":3,"names":["_bootstrap","data","require","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","VersionCmd","constructor","report","results","json","bit","getHarmonyVersion","exports"],"sources":["version.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport { getHarmonyVersion } from '@teambit/legacy/dist/bootstrap';\n\nexport class VersionCmd implements Command {\n name = 'version';\n description = 'shows bit version';\n alias = '';\n loader = false;\n group = 'general';\n options = [['j', 'json', 'return the version in json format']] as CommandOptions;\n\n async report() {\n const results = await this.json();\n return results.bit;\n }\n\n async json() {\n const bit = getHarmonyVersion(true);\n return { bit };\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,WAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,UAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAmE,SAAAE,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA;AAE5D,MAAMW,UAAU,CAAoB;EAAAC,YAAA;IAAAtB,eAAA,eAClC,SAAS;IAAAA,eAAA,sBACF,mBAAmB;IAAAA,eAAA,gBACzB,EAAE;IAAAA,eAAA,iBACD,KAAK;IAAAA,eAAA,gBACN,SAAS;IAAAA,eAAA,kBACP,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,mCAAmC,CAAC,CAAC;EAAA;EAE9D,MAAMuB,MAAMA,CAAA,EAAG;IACb,MAAMC,OAAO,GAAG,MAAM,IAAI,CAACC,IAAI,CAAC,CAAC;IACjC,OAAOD,OAAO,CAACE,GAAG;EACpB;EAEA,MAAMD,IAAIA,CAAA,EAAG;IACX,MAAMC,GAAG,GAAG,IAAAC,8BAAiB,EAAC,IAAI,CAAC;IACnC,OAAO;MAAED;IAAI,CAAC;EAChB;AACF;AAACE,OAAA,CAAAP,UAAA,GAAAA,UAAA"}
|
package/dist/yargs-adapter.d.ts
CHANGED
|
@@ -9,8 +9,8 @@ export declare class YargsAdapter implements CommandModule {
|
|
|
9
9
|
aliases?: string;
|
|
10
10
|
constructor(commanderCommand: Command);
|
|
11
11
|
builder(yargs: Argv): Argv<{}>;
|
|
12
|
-
handler(argv: Arguments): Promise<boolean | void
|
|
13
|
-
get positional(): import("@teambit/legacy/dist/cli/command").CommandArg[]
|
|
12
|
+
handler(argv: Arguments): Promise<boolean | void>;
|
|
13
|
+
get positional(): import("@teambit/legacy/dist/cli/command").CommandArg[];
|
|
14
14
|
static optionsToBuilder(command: Command): {
|
|
15
15
|
[key: string]: Options;
|
|
16
16
|
};
|
package/dist/yargs-adapter.js
CHANGED
|
@@ -28,8 +28,8 @@ function _commandRunner() {
|
|
|
28
28
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
29
29
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
30
30
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
31
|
-
function _toPropertyKey(
|
|
32
|
-
function _toPrimitive(
|
|
31
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
32
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
33
33
|
const GLOBAL_GROUP = exports.GLOBAL_GROUP = 'Global';
|
|
34
34
|
const STANDARD_GROUP = exports.STANDARD_GROUP = 'Options';
|
|
35
35
|
class YargsAdapter {
|
|
@@ -43,15 +43,14 @@ class YargsAdapter {
|
|
|
43
43
|
this.aliases = commanderCommand.alias;
|
|
44
44
|
}
|
|
45
45
|
builder(yargs) {
|
|
46
|
-
var _this$commanderComman, _this$commanderComman2;
|
|
47
46
|
const options = YargsAdapter.optionsToBuilder(this.commanderCommand);
|
|
48
47
|
yargs.option(options);
|
|
49
|
-
|
|
48
|
+
this.commanderCommand.arguments?.forEach(arg => {
|
|
50
49
|
yargs.positional(arg.name, {
|
|
51
50
|
description: arg.description
|
|
52
51
|
});
|
|
53
52
|
});
|
|
54
|
-
|
|
53
|
+
this.commanderCommand.examples?.forEach(example => {
|
|
55
54
|
yargs.example(example.cmd, example.description);
|
|
56
55
|
});
|
|
57
56
|
return yargs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","data","require","_lodash","_commandRunner","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","GLOBAL_GROUP","exports","STANDARD_GROUP","YargsAdapter","constructor","commanderCommand","command","name","describe","description","aliases","alias","builder","yargs","_this$commanderComman","_this$commanderComman2","options","optionsToBuilder","option","positional","examples","example","cmd","handler","argv","enteredArgs","getArgsFromCommandName","argsValues","map","a","flags","reduce","acc","current","val","_packageManagerArgs","commandRunner","CommandRunner","runCommand","opt","desc","optName","split","group","type","includes","requiresArg","globalOptions","getGlobalOptions","remoteOp","TOKEN_FLAG","internal","log","commandName","commandSplit","shift","existArg","trimmed","trim","startsWith","endsWith","Error","withoutBrackets","slice","camelCase"],"sources":["yargs-adapter.ts"],"sourcesContent":["import { Command } from '@teambit/legacy/dist/cli/command';\nimport { Arguments, CommandModule, Argv, Options } from 'yargs';\nimport { TOKEN_FLAG } from '@teambit/legacy/dist/constants';\nimport { camelCase } from 'lodash';\nimport { CommandRunner } from './command-runner';\n\nexport const GLOBAL_GROUP = 'Global';\nexport const STANDARD_GROUP = 'Options';\n\nexport class YargsAdapter implements CommandModule {\n command: string;\n describe?: string;\n aliases?: string;\n constructor(private commanderCommand: Command) {\n this.command = commanderCommand.name;\n this.describe = commanderCommand.description;\n this.aliases = commanderCommand.alias;\n }\n\n builder(yargs: Argv) {\n const options = YargsAdapter.optionsToBuilder(this.commanderCommand);\n yargs.option(options);\n this.commanderCommand.arguments?.forEach((arg) => {\n yargs.positional(arg.name, { description: arg.description });\n });\n this.commanderCommand.examples?.forEach((example) => {\n yargs.example(example.cmd, example.description);\n });\n\n return yargs;\n }\n\n handler(argv: Arguments) {\n const enteredArgs = getArgsFromCommandName(this.commanderCommand.name);\n const argsValues = enteredArgs.map((a) => argv[a]) as any[];\n // a workaround to get a flag syntax such as \"--all [version]\" work with yargs.\n const flags = Object.keys(argv).reduce((acc, current) => {\n if (current === '_' || current === '$0' || current === '--') return acc;\n // const flagName = current.split(' ')[0];\n const val = typeof argv[current] === 'string' && !argv[current] ? true : argv[current];\n acc[current] = val;\n return acc;\n }, {});\n this.commanderCommand._packageManagerArgs = (argv['--'] || []) as string[];\n\n const commandRunner = new CommandRunner(this.commanderCommand, argsValues, flags);\n return commandRunner.runCommand();\n }\n\n get positional() {\n return this.commanderCommand.arguments;\n }\n\n static optionsToBuilder(command: Command): { [key: string]: Options } {\n const option = command.options.reduce((acc, [alias, opt, desc]) => {\n const optName = opt.split(' ')[0];\n acc[optName] = {\n alias,\n describe: desc,\n group: STANDARD_GROUP,\n type: opt.includes(' ') ? 'string' : 'boolean',\n requiresArg: opt.includes('<'),\n } as Options;\n return acc;\n }, {});\n const globalOptions = YargsAdapter.getGlobalOptions(command);\n\n return { ...option, ...globalOptions };\n }\n\n static getGlobalOptions(command: Command): Record<string, any> {\n const globalOptions: Record<string, any> = {};\n if (command.remoteOp) {\n globalOptions[TOKEN_FLAG] = {\n describe: 'authentication token',\n group: GLOBAL_GROUP,\n };\n }\n if (!command.internal) {\n globalOptions.log = {\n describe:\n 'print log messages to the screen, options are: [trace, debug, info, warn, error, fatal], the default is info',\n group: GLOBAL_GROUP,\n };\n globalOptions['safe-mode'] = {\n describe:\n 'bootstrap the bare-minimum with only the CLI aspect. useful mainly for low-level commands when bit refuses to load',\n group: GLOBAL_GROUP,\n };\n }\n return globalOptions;\n }\n}\n\nfunction getArgsFromCommandName(commandName: string) {\n const commandSplit = commandName.split(' ');\n commandSplit.shift(); // remove the first element, it's the command-name\n\n return commandSplit.map((existArg) => {\n const trimmed = existArg.trim();\n if ((!trimmed.startsWith('<') && !trimmed.startsWith('[')) || (!trimmed.endsWith('>') && !trimmed.endsWith(']'))) {\n throw new Error(`expect arg \"${trimmed}\" of \"${commandName}\" to be wrapped with \"[]\" or \"<>\"`);\n }\n // remove the opening and closing brackets\n const withoutBrackets = trimmed.slice(1, -1);\n\n return camelCase(withoutBrackets);\n });\n}\n"],"mappings":";;;;;;AAEA,SAAAA,WAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,UAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,QAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,eAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,cAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAiD,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,gBAAAI,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAjB,MAAA,CAAAgB,cAAA,CAAAC,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAb,UAAA,QAAAe,YAAA,QAAAC,QAAA,oBAAAL,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAG,GAAA,QAAAL,GAAA,GAAAM,YAAA,CAAAD,GAAA,2BAAAL,GAAA,gBAAAA,GAAA,GAAAO,MAAA,CAAAP,GAAA;AAAA,SAAAM,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAE1C,MAAMU,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,QAAQ;AAC7B,MAAME,cAAc,GAAAD,OAAA,CAAAC,cAAA,GAAG,SAAS;AAEhC,MAAMC,YAAY,CAA0B;EAIjDC,WAAWA,CAASC,gBAAyB,EAAE;IAAA,KAA3BA,gBAAyB,GAAzBA,gBAAyB;IAAA5B,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAC3C,IAAI,CAAC6B,OAAO,GAAGD,gBAAgB,CAACE,IAAI;IACpC,IAAI,CAACC,QAAQ,GAAGH,gBAAgB,CAACI,WAAW;IAC5C,IAAI,CAACC,OAAO,GAAGL,gBAAgB,CAACM,KAAK;EACvC;EAEAC,OAAOA,CAACC,KAAW,EAAE;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IACnB,MAAMC,OAAO,GAAGb,YAAY,CAACc,gBAAgB,CAAC,IAAI,CAACZ,gBAAgB,CAAC;IACpEQ,KAAK,CAACK,MAAM,CAACF,OAAO,CAAC;IACrB,CAAAF,qBAAA,OAAI,CAACT,gBAAgB,CAAC/B,SAAS,cAAAwC,qBAAA,eAA/BA,qBAAA,CAAiCtC,OAAO,CAAEW,GAAG,IAAK;MAChD0B,KAAK,CAACM,UAAU,CAAChC,GAAG,CAACoB,IAAI,EAAE;QAAEE,WAAW,EAAEtB,GAAG,CAACsB;MAAY,CAAC,CAAC;IAC9D,CAAC,CAAC;IACF,CAAAM,sBAAA,OAAI,CAACV,gBAAgB,CAACe,QAAQ,cAAAL,sBAAA,eAA9BA,sBAAA,CAAgCvC,OAAO,CAAE6C,OAAO,IAAK;MACnDR,KAAK,CAACQ,OAAO,CAACA,OAAO,CAACC,GAAG,EAAED,OAAO,CAACZ,WAAW,CAAC;IACjD,CAAC,CAAC;IAEF,OAAOI,KAAK;EACd;EAEAU,OAAOA,CAACC,IAAe,EAAE;IACvB,MAAMC,WAAW,GAAGC,sBAAsB,CAAC,IAAI,CAACrB,gBAAgB,CAACE,IAAI,CAAC;IACtE,MAAMoB,UAAU,GAAGF,WAAW,CAACG,GAAG,CAAEC,CAAC,IAAKL,IAAI,CAACK,CAAC,CAAC,CAAU;IAC3D;IACA,MAAMC,KAAK,GAAGlE,MAAM,CAACC,IAAI,CAAC2D,IAAI,CAAC,CAACO,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,OAAOV,IAAI,CAACS,OAAO,CAAC,KAAK,QAAQ,IAAI,CAACT,IAAI,CAACS,OAAO,CAAC,GAAG,IAAI,GAAGT,IAAI,CAACS,OAAO,CAAC;MACtFD,GAAG,CAACC,OAAO,CAAC,GAAGC,GAAG;MAClB,OAAOF,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,IAAI,CAAC3B,gBAAgB,CAAC8B,mBAAmB,GAAIX,IAAI,CAAC,IAAI,CAAC,IAAI,EAAe;IAE1E,MAAMY,aAAa,GAAG,KAAIC,8BAAa,EAAC,IAAI,CAAChC,gBAAgB,EAAEsB,UAAU,EAAEG,KAAK,CAAC;IACjF,OAAOM,aAAa,CAACE,UAAU,CAAC,CAAC;EACnC;EAEA,IAAInB,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACd,gBAAgB,CAAC/B,SAAS;EACxC;EAEA,OAAO2C,gBAAgBA,CAACX,OAAgB,EAA8B;IACpE,MAAMY,MAAM,GAAGZ,OAAO,CAACU,OAAO,CAACe,MAAM,CAAC,CAACC,GAAG,EAAE,CAACrB,KAAK,EAAE4B,GAAG,EAAEC,IAAI,CAAC,KAAK;MACjE,MAAMC,OAAO,GAAGF,GAAG,CAACG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;MACjCV,GAAG,CAACS,OAAO,CAAC,GAAG;QACb9B,KAAK;QACLH,QAAQ,EAAEgC,IAAI;QACdG,KAAK,EAAEzC,cAAc;QACrB0C,IAAI,EAAEL,GAAG,CAACM,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,SAAS;QAC9CC,WAAW,EAAEP,GAAG,CAACM,QAAQ,CAAC,GAAG;MAC/B,CAAY;MACZ,OAAOb,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,MAAMe,aAAa,GAAG5C,YAAY,CAAC6C,gBAAgB,CAAC1C,OAAO,CAAC;IAE5D,OAAAjC,aAAA,CAAAA,aAAA,KAAY6C,MAAM,GAAK6B,aAAa;EACtC;EAEA,OAAOC,gBAAgBA,CAAC1C,OAAgB,EAAuB;IAC7D,MAAMyC,aAAkC,GAAG,CAAC,CAAC;IAC7C,IAAIzC,OAAO,CAAC2C,QAAQ,EAAE;MACpBF,aAAa,CAACG,uBAAU,CAAC,GAAG;QAC1B1C,QAAQ,EAAE,sBAAsB;QAChCmC,KAAK,EAAE3C;MACT,CAAC;IACH;IACA,IAAI,CAACM,OAAO,CAAC6C,QAAQ,EAAE;MACrBJ,aAAa,CAACK,GAAG,GAAG;QAClB5C,QAAQ,EACN,8GAA8G;QAChHmC,KAAK,EAAE3C;MACT,CAAC;MACD+C,aAAa,CAAC,WAAW,CAAC,GAAG;QAC3BvC,QAAQ,EACN,oHAAoH;QACtHmC,KAAK,EAAE3C;MACT,CAAC;IACH;IACA,OAAO+C,aAAa;EACtB;AACF;AAAC9C,OAAA,CAAAE,YAAA,GAAAA,YAAA;AAED,SAASuB,sBAAsBA,CAAC2B,WAAmB,EAAE;EACnD,MAAMC,YAAY,GAAGD,WAAW,CAACX,KAAK,CAAC,GAAG,CAAC;EAC3CY,YAAY,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;;EAEtB,OAAOD,YAAY,CAAC1B,GAAG,CAAE4B,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,CAAE,eAAcJ,OAAQ,SAAQJ,WAAY,mCAAkC,CAAC;IAChG;IACA;IACA,MAAMS,eAAe,GAAGL,OAAO,CAACM,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5C,OAAO,IAAAC,mBAAS,EAACF,eAAe,CAAC;EACnC,CAAC,CAAC;AACJ"}
|
|
1
|
+
{"version":3,"names":["_constants","data","require","_lodash","_commandRunner","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","GLOBAL_GROUP","exports","STANDARD_GROUP","YargsAdapter","constructor","commanderCommand","command","name","describe","description","aliases","alias","builder","yargs","options","optionsToBuilder","option","arg","positional","examples","example","cmd","handler","argv","enteredArgs","getArgsFromCommandName","argsValues","map","a","flags","reduce","acc","current","val","_packageManagerArgs","commandRunner","CommandRunner","runCommand","opt","desc","optName","split","group","type","includes","requiresArg","globalOptions","getGlobalOptions","remoteOp","TOKEN_FLAG","internal","log","commandName","commandSplit","shift","existArg","trimmed","trim","startsWith","endsWith","Error","withoutBrackets","slice","camelCase"],"sources":["yargs-adapter.ts"],"sourcesContent":["import { Command } from '@teambit/legacy/dist/cli/command';\nimport { Arguments, CommandModule, Argv, Options } from 'yargs';\nimport { TOKEN_FLAG } from '@teambit/legacy/dist/constants';\nimport { camelCase } from 'lodash';\nimport { CommandRunner } from './command-runner';\n\nexport const GLOBAL_GROUP = 'Global';\nexport const STANDARD_GROUP = 'Options';\n\nexport class YargsAdapter implements CommandModule {\n command: string;\n describe?: string;\n aliases?: string;\n constructor(private commanderCommand: Command) {\n this.command = commanderCommand.name;\n this.describe = commanderCommand.description;\n this.aliases = commanderCommand.alias;\n }\n\n builder(yargs: Argv) {\n const options = YargsAdapter.optionsToBuilder(this.commanderCommand);\n yargs.option(options);\n this.commanderCommand.arguments?.forEach((arg) => {\n yargs.positional(arg.name, { description: arg.description });\n });\n this.commanderCommand.examples?.forEach((example) => {\n yargs.example(example.cmd, example.description);\n });\n\n return yargs;\n }\n\n handler(argv: Arguments) {\n const enteredArgs = getArgsFromCommandName(this.commanderCommand.name);\n const argsValues = enteredArgs.map((a) => argv[a]) as any[];\n // a workaround to get a flag syntax such as \"--all [version]\" work with yargs.\n const flags = Object.keys(argv).reduce((acc, current) => {\n if (current === '_' || current === '$0' || current === '--') return acc;\n // const flagName = current.split(' ')[0];\n const val = typeof argv[current] === 'string' && !argv[current] ? true : argv[current];\n acc[current] = val;\n return acc;\n }, {});\n this.commanderCommand._packageManagerArgs = (argv['--'] || []) as string[];\n\n const commandRunner = new CommandRunner(this.commanderCommand, argsValues, flags);\n return commandRunner.runCommand();\n }\n\n get positional() {\n return this.commanderCommand.arguments;\n }\n\n static optionsToBuilder(command: Command): { [key: string]: Options } {\n const option = command.options.reduce((acc, [alias, opt, desc]) => {\n const optName = opt.split(' ')[0];\n acc[optName] = {\n alias,\n describe: desc,\n group: STANDARD_GROUP,\n type: opt.includes(' ') ? 'string' : 'boolean',\n requiresArg: opt.includes('<'),\n } as Options;\n return acc;\n }, {});\n const globalOptions = YargsAdapter.getGlobalOptions(command);\n\n return { ...option, ...globalOptions };\n }\n\n static getGlobalOptions(command: Command): Record<string, any> {\n const globalOptions: Record<string, any> = {};\n if (command.remoteOp) {\n globalOptions[TOKEN_FLAG] = {\n describe: 'authentication token',\n group: GLOBAL_GROUP,\n };\n }\n if (!command.internal) {\n globalOptions.log = {\n describe:\n 'print log messages to the screen, options are: [trace, debug, info, warn, error, fatal], the default is info',\n group: GLOBAL_GROUP,\n };\n globalOptions['safe-mode'] = {\n describe:\n 'bootstrap the bare-minimum with only the CLI aspect. useful mainly for low-level commands when bit refuses to load',\n group: GLOBAL_GROUP,\n };\n }\n return globalOptions;\n }\n}\n\nfunction getArgsFromCommandName(commandName: string) {\n const commandSplit = commandName.split(' ');\n commandSplit.shift(); // remove the first element, it's the command-name\n\n return commandSplit.map((existArg) => {\n const trimmed = existArg.trim();\n if ((!trimmed.startsWith('<') && !trimmed.startsWith('[')) || (!trimmed.endsWith('>') && !trimmed.endsWith(']'))) {\n throw new Error(`expect arg \"${trimmed}\" of \"${commandName}\" to be wrapped with \"[]\" or \"<>\"`);\n }\n // remove the opening and closing brackets\n const withoutBrackets = trimmed.slice(1, -1);\n\n return camelCase(withoutBrackets);\n });\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { Command, CommandArg } from '@teambit/legacy/dist/cli/command';
|
|
2
|
+
import { CommandOptions } from '@teambit/legacy/dist/cli/legacy-command';
|
|
3
|
+
import { pick } from 'lodash';
|
|
4
|
+
import { getCommandId } from './get-command-id';
|
|
5
|
+
|
|
6
|
+
export type GenerateOpts = {
|
|
7
|
+
metadata?: Record<string, string>;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
type CommandObject = ReturnType<typeof oneCommandToObject> & { commands?: any };
|
|
11
|
+
|
|
12
|
+
export class GenerateCommandsDoc {
|
|
13
|
+
constructor(private commands: Command[], private options: GenerateOpts) {}
|
|
14
|
+
|
|
15
|
+
generate(): string {
|
|
16
|
+
const commands = this.getAllPublicCommandsSorted();
|
|
17
|
+
let output = `${this.getFrontmatter()}
|
|
18
|
+
# CLI Reference
|
|
19
|
+
|
|
20
|
+
Run the following to list all available Bit commands (alternatively, use the \`-h\` alias, instead of \`--help\`):
|
|
21
|
+
|
|
22
|
+
\`\`\`sh
|
|
23
|
+
bit --help
|
|
24
|
+
\`\`\`
|
|
25
|
+
|
|
26
|
+
Run the following to get help on a specific command:
|
|
27
|
+
|
|
28
|
+
\`\`\`sh
|
|
29
|
+
bit COMMAND --help
|
|
30
|
+
\`\`\`
|
|
31
|
+
|
|
32
|
+
Run the following to get help on a specific sub-command:
|
|
33
|
+
|
|
34
|
+
\`\`\`sh
|
|
35
|
+
bit COMMAND SUB_COMMAND --help
|
|
36
|
+
\`\`\`
|
|
37
|
+
`;
|
|
38
|
+
output += commands.map((cmd) => this.generateCommand(cmd)).join('\n');
|
|
39
|
+
|
|
40
|
+
return output;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
generateJson() {
|
|
44
|
+
return this.commandsToObjects();
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
private commandsToObjects(commands: Command[] = this.commands): CommandObject[] {
|
|
48
|
+
return commands.map((command) => {
|
|
49
|
+
const cmdObject: CommandObject = oneCommandToObject(command);
|
|
50
|
+
if (command.commands?.length) {
|
|
51
|
+
cmdObject.commands = this.commandsToObjects(command.commands);
|
|
52
|
+
}
|
|
53
|
+
return cmdObject;
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
private getFrontmatter() {
|
|
58
|
+
const metadata = this.options.metadata;
|
|
59
|
+
if (!metadata) {
|
|
60
|
+
return '';
|
|
61
|
+
}
|
|
62
|
+
const metadataStr = Object.keys(metadata)
|
|
63
|
+
.map((key) => `${key}: ${metadata[key]}`)
|
|
64
|
+
.join('\n');
|
|
65
|
+
|
|
66
|
+
return `---
|
|
67
|
+
${metadataStr}
|
|
68
|
+
---
|
|
69
|
+
`;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
private getAllPublicCommandsSorted() {
|
|
73
|
+
const publicCommands = this.commands.filter((cmd) => !cmd.private);
|
|
74
|
+
return publicCommands.sort((a, b) => a.name.localeCompare(b.name));
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
private generateCommand(cmd: Command) {
|
|
78
|
+
const commandName = getCommandId(cmd.name);
|
|
79
|
+
let result = `## ${commandName} \n\n`;
|
|
80
|
+
if (cmd.alias && cmd.alias.length > 0) {
|
|
81
|
+
result += `**Alias**: \`${cmd.alias}\` \n`;
|
|
82
|
+
}
|
|
83
|
+
result += `**Description**: ${this.formatDescription(cmd)}`;
|
|
84
|
+
result += `\`bit ${cmd.name}\` \n\n`;
|
|
85
|
+
|
|
86
|
+
if (cmd.commands && cmd.commands.length > 0) {
|
|
87
|
+
result += this.generateSubCommands(cmd.commands, cmd);
|
|
88
|
+
}
|
|
89
|
+
result += this.generateArguments(cmd.arguments);
|
|
90
|
+
result += this.generateOptions(cmd.options);
|
|
91
|
+
result += `--- \n`;
|
|
92
|
+
|
|
93
|
+
return result;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
private generateSubCommands(subCommands: Command[], command: Command) {
|
|
97
|
+
let ret = '';
|
|
98
|
+
subCommands.forEach((subCommand) => {
|
|
99
|
+
const commandName = getCommandId(command.name);
|
|
100
|
+
const subcommandName = getCommandId(subCommand.name);
|
|
101
|
+
const usage = `${commandName} ${subCommand.name}`;
|
|
102
|
+
ret += `### ${commandName} ${subcommandName} \n`;
|
|
103
|
+
ret += `**Usage**: \`${usage}\` \n\n`;
|
|
104
|
+
ret += `**Description**: ${this.formatDescription(subCommand)}`;
|
|
105
|
+
|
|
106
|
+
ret += '\n';
|
|
107
|
+
ret += this.generateArguments(subCommand.arguments);
|
|
108
|
+
ret += this.generateOptions(subCommand.options);
|
|
109
|
+
});
|
|
110
|
+
return ret;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
private generateArguments(args?: CommandArg[]): string {
|
|
114
|
+
if (!args || !args.length) return '';
|
|
115
|
+
let output = `| **Arg** | **Description** | \n`;
|
|
116
|
+
output += `|---|:-----:|\n`;
|
|
117
|
+
args.forEach((arg) => {
|
|
118
|
+
const { name, description } = arg;
|
|
119
|
+
output += `|\`${name}\`|${(description || '').replaceAll('\n', ' ')}|\n`;
|
|
120
|
+
});
|
|
121
|
+
output += `\n`;
|
|
122
|
+
return output;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
private generateOptions(options: CommandOptions): string {
|
|
126
|
+
if (!options || options.length <= 0) return '';
|
|
127
|
+
let output = `| **Option** | **Option alias** | **Description**| \n`;
|
|
128
|
+
output += `|---|:-----:|---|\n`;
|
|
129
|
+
options.forEach((opt) => {
|
|
130
|
+
const [alias, flag, description] = opt;
|
|
131
|
+
const aliasFormatted = alias ? `\`-${alias}\`` : ' ';
|
|
132
|
+
const flagFormatted = `--${flag}`;
|
|
133
|
+
output += `|\`${flagFormatted}\`|${aliasFormatted}|${description.replaceAll('\n', ' ')}|\n`;
|
|
134
|
+
});
|
|
135
|
+
output += `\n`;
|
|
136
|
+
return output;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
private formatStringToMD(str: string): string {
|
|
140
|
+
return str.split('\n').join(' \n');
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
private formatDescription(command: Command): string {
|
|
144
|
+
const extendedDescription = command.extendedDescription
|
|
145
|
+
? ` \n${this.formatStringToMD(command.extendedDescription)}`
|
|
146
|
+
: '';
|
|
147
|
+
const description = this.formatStringToMD(command.description as string);
|
|
148
|
+
return `${description}${extendedDescription} \n\n`;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
function oneCommandToObject(command: Command) {
|
|
153
|
+
return pick(command, [
|
|
154
|
+
'name',
|
|
155
|
+
'alias',
|
|
156
|
+
'options',
|
|
157
|
+
'description',
|
|
158
|
+
'extendedDescription',
|
|
159
|
+
'group',
|
|
160
|
+
'private',
|
|
161
|
+
'internal',
|
|
162
|
+
'remoteOp',
|
|
163
|
+
'skipWorkspace',
|
|
164
|
+
'arguments',
|
|
165
|
+
'examples',
|
|
166
|
+
]);
|
|
167
|
+
}
|
package/help.cmd.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Command, CommandOptions } from '@teambit/cli';
|
|
2
|
+
import { CLIMain } from './cli.main.runtime';
|
|
3
|
+
import { formatHelp } from './help';
|
|
4
|
+
|
|
5
|
+
export class HelpCmd implements Command {
|
|
6
|
+
name = 'help';
|
|
7
|
+
description = 'shows help';
|
|
8
|
+
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
|
|
9
|
+
loader = false;
|
|
10
|
+
group = 'general';
|
|
11
|
+
options = [['', 'internal', 'show internal commands']] as CommandOptions;
|
|
12
|
+
|
|
13
|
+
constructor(private cliMain: CLIMain) {}
|
|
14
|
+
|
|
15
|
+
async report(_, { internal }: { internal: boolean }) {
|
|
16
|
+
return formatHelp(this.cliMain.commands, this.cliMain.groups, internal);
|
|
17
|
+
}
|
|
18
|
+
}
|