@teambit/cli 0.0.375 → 0.0.379
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.cmd.ts +2 -2
- package/command-runner.ts +14 -8
- package/dist/cli.cmd.js +1 -1
- package/dist/cli.cmd.js.map +1 -1
- package/dist/command-runner.js +17 -7
- package/dist/command-runner.js.map +1 -1
- package/package-tar/teambit-cli-0.0.379.tgz +0 -0
- package/package.json +4 -4
- package/tsconfig.json +1 -1
- package/types/asset.d.ts +6 -2
- package/types/style.d.ts +15 -0
package/cli.cmd.ts
CHANGED
|
@@ -31,7 +31,7 @@ export class CliGenerateCmd implements Command {
|
|
|
31
31
|
|
|
32
32
|
export class CliCmd implements Command {
|
|
33
33
|
name = 'cli';
|
|
34
|
-
description = 'EXPERIMENTAL. enters bit cli program and
|
|
34
|
+
description = 'EXPERIMENTAL. enters bit cli program and generates commands list';
|
|
35
35
|
alias = '';
|
|
36
36
|
commands: Command[] = [];
|
|
37
37
|
loader = false;
|
|
@@ -59,7 +59,7 @@ export class CliCmd implements Command {
|
|
|
59
59
|
const cmd = line.trim().split(' ');
|
|
60
60
|
try {
|
|
61
61
|
await cliParser.parse(cmd);
|
|
62
|
-
} catch (err) {
|
|
62
|
+
} catch (err: any) {
|
|
63
63
|
await handleErrorAndExit(err, cmd[0]);
|
|
64
64
|
}
|
|
65
65
|
rl.prompt();
|
package/command-runner.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { render } from 'ink';
|
|
2
2
|
import { migrate } from '@teambit/legacy/dist/api/consumer';
|
|
3
3
|
import logger, { LoggerLevel } from '@teambit/legacy/dist/logger/logger';
|
|
4
|
-
import { CLIArgs, Command, Flags } from '@teambit/legacy/dist/cli/command';
|
|
4
|
+
import { CLIArgs, Command, Flags, RenderResult } from '@teambit/legacy/dist/cli/command';
|
|
5
5
|
import { parseCommandName } from '@teambit/legacy/dist/cli/command-registry';
|
|
6
6
|
import loader from '@teambit/legacy/dist/cli/loader';
|
|
7
7
|
import { handleErrorAndExit } from '@teambit/legacy/dist/cli/handle-errors';
|
|
@@ -32,7 +32,7 @@ export class CommandRunner {
|
|
|
32
32
|
if (this.command.report) {
|
|
33
33
|
return await this.runReportHandler();
|
|
34
34
|
}
|
|
35
|
-
} catch (err) {
|
|
35
|
+
} catch (err: any) {
|
|
36
36
|
return handleErrorAndExit(err, this.commandName, this.command.internal);
|
|
37
37
|
}
|
|
38
38
|
|
|
@@ -80,12 +80,9 @@ export class CommandRunner {
|
|
|
80
80
|
if (!this.command.render) throw new Error('runRenderHandler expects command.render to be implemented');
|
|
81
81
|
const result = await this.command.render(this.args, this.flags);
|
|
82
82
|
loader.off();
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
// @ts-ignore
|
|
87
|
-
// eslint-disable-next-line no-prototype-builtins
|
|
88
|
-
const code = result.data && result.hasOwnProperty('code') ? result.code : 0;
|
|
83
|
+
|
|
84
|
+
const { data, code } = toRenderResult(result);
|
|
85
|
+
|
|
89
86
|
const { waitUntilExit } = render(data);
|
|
90
87
|
await waitUntilExit();
|
|
91
88
|
return logger.exitAfterFlush(code, this.commandName);
|
|
@@ -134,3 +131,12 @@ export class CommandRunner {
|
|
|
134
131
|
return null;
|
|
135
132
|
}
|
|
136
133
|
}
|
|
134
|
+
|
|
135
|
+
function toRenderResult(obj: RenderResult | React.ReactElement) {
|
|
136
|
+
return isRenderResult(obj) ? obj : { data: obj, code: 0 };
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
function isRenderResult(obj: RenderResult | any): obj is RenderResult {
|
|
140
|
+
// eslint-disable-next-line no-prototype-builtins
|
|
141
|
+
return typeof obj === 'object' && typeof obj.code === 'number' && obj.hasOwnProperty('data');
|
|
142
|
+
}
|
package/dist/cli.cmd.js
CHANGED
|
@@ -111,7 +111,7 @@ class CliCmd {
|
|
|
111
111
|
constructor(cliMain) {
|
|
112
112
|
this.cliMain = cliMain;
|
|
113
113
|
(0, _defineProperty2().default)(this, "name", 'cli');
|
|
114
|
-
(0, _defineProperty2().default)(this, "description", 'EXPERIMENTAL. enters bit cli program and
|
|
114
|
+
(0, _defineProperty2().default)(this, "description", 'EXPERIMENTAL. enters bit cli program and generates commands list');
|
|
115
115
|
(0, _defineProperty2().default)(this, "alias", '');
|
|
116
116
|
(0, _defineProperty2().default)(this, "commands", []);
|
|
117
117
|
(0, _defineProperty2().default)(this, "loader", false);
|
package/dist/cli.cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["cli.cmd.ts"],"names":["CliGenerateCmd","constructor","cliMain","report","args","metadata","GenerateCommandsDoc","commands","generate","CliCmd","logger","isDaemon","rl","readline","createInterface","input","process","stdin","output","stdout","prompt","completer","line","cb","cliParser","CLIParser","groups","Promise","resolve","on","cmd","trim","split","parse","err","lineSplit","values","length","completeCommand","then","consumer","comps","bitmapIdsFromCurrentLane","map","id","toStringWithoutVersion","filter","c","includes","catch","name","startsWith"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AARA;AAUO,MAAMA,cAAN,CAAwC;AAc7CC,EAAAA,WAAW,CAASC,OAAT,EAA2B;AAAA,SAAlBA,OAAkB,GAAlBA,OAAkB;AAAA,kDAb/B,UAa+B;AAAA,yDAZxB,8DAYwB;AAAA,mDAX9B,EAW8B;AAAA,oDAV7B,KAU6B;AAAA,mDAT9B,SAS8B;AAAA,qDAR5B,CACR,CACE,EADF,EAEE,UAFF,EAGE,gIAHF,CADQ,CAQ4B;AAAE;;AAE5B,QAANC,MAAM,CAACC,IAAD,EAAO;AAAEC,IAAAA;AAAF,GAAP,EAAoD;AAC9D,WAAO,KAAIC,oCAAJ,EAAwB,KAAKJ,OAAL,CAAaK,QAArC,EAA+C;AAAEF,MAAAA;AAAF,KAA/C,EAA6DG,QAA7D,EAAP;AACD;;AAlB4C;;;;AAqBxC,MAAMC,MAAN,CAAgC;AASrCR,EAAAA,WAAW,CAASC,OAAT,EAA2B;AAAA,SAAlBA,OAAkB,GAAlBA,OAAkB;AAAA,kDAR/B,KAQ+B;AAAA,yDAPxB,
|
|
1
|
+
{"version":3,"sources":["cli.cmd.ts"],"names":["CliGenerateCmd","constructor","cliMain","report","args","metadata","GenerateCommandsDoc","commands","generate","CliCmd","logger","isDaemon","rl","readline","createInterface","input","process","stdin","output","stdout","prompt","completer","line","cb","cliParser","CLIParser","groups","Promise","resolve","on","cmd","trim","split","parse","err","lineSplit","values","length","completeCommand","then","consumer","comps","bitmapIdsFromCurrentLane","map","id","toStringWithoutVersion","filter","c","includes","catch","name","startsWith"],"mappings":"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","sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport { Command, CommandOptions } from '@teambit/cli';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { handleErrorAndExit } from '@teambit/legacy/dist/cli/handle-errors';\nimport { loadConsumerIfExist } from '@teambit/legacy/dist/consumer';\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 = 'EXPERIMENTAL. 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 ] as CommandOptions;\n\n constructor(private cliMain: CLIMain) {}\n\n async report(args, { metadata }: GenerateOpts): Promise<string> {\n return new GenerateCommandsDoc(this.cliMain.commands, { metadata }).generate();\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 logger.isDaemon = true;\n const rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout,\n prompt: 'bit > ',\n completer: (line, cb) => completer(line, cb, this.cliMain),\n });\n\n const cliParser = new CLIParser(this.cliMain.commands, this.cliMain.groups);\n\n rl.prompt();\n\n return new Promise((resolve) => {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n rl.on('line', async (line) => {\n const cmd = line.trim().split(' ');\n try {\n await cliParser.parse(cmd);\n } catch (err: any) {\n await handleErrorAndExit(err, cmd[0]);\n }\n rl.prompt();\n }).on('close', () => {\n resolve('Have a great day!');\n });\n });\n }\n}\n\nfunction completer(line: string, cb: Function, cliMain: CLIMain) {\n const lineSplit = line.split(' ');\n let values: string[] = [];\n if (lineSplit.length <= 1) {\n values = completeCommand(line, cliMain);\n cb(null, [values, line]);\n }\n loadConsumerIfExist()\n .then((consumer) => {\n const comps = consumer?.bitmapIdsFromCurrentLane.map((id) => id.toStringWithoutVersion()) || [];\n values = comps.filter((c) => c.includes(lineSplit[1]));\n // eslint-disable-next-line promise/no-callback-in-promise\n cb(null, [values, line]);\n })\n .catch((err) => {\n // eslint-disable-next-line promise/no-callback-in-promise\n cb(err, [[], line]);\n });\n}\n\nfunction completeCommand(line: string, cliMain: CLIMain): string[] {\n const commands = cliMain.commands.filter((cmd) => cmd.name.startsWith(line));\n return commands.map((c) => c.name).map((name) => name.split(' ')[0]);\n}\n"]}
|
package/dist/command-runner.js
CHANGED
|
@@ -196,14 +196,12 @@ class CommandRunner {
|
|
|
196
196
|
if (!this.command.render) throw new Error('runRenderHandler expects command.render to be implemented');
|
|
197
197
|
const result = await this.command.render(this.args, this.flags);
|
|
198
198
|
|
|
199
|
-
_loader().default.off();
|
|
200
|
-
// eslint-disable-next-line no-prototype-builtins
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
const data = result.data && result.hasOwnProperty('code') ? result.data : result; // @ts-ignore
|
|
204
|
-
// eslint-disable-next-line no-prototype-builtins
|
|
199
|
+
_loader().default.off();
|
|
205
200
|
|
|
206
|
-
const
|
|
201
|
+
const {
|
|
202
|
+
data,
|
|
203
|
+
code
|
|
204
|
+
} = toRenderResult(result);
|
|
207
205
|
const {
|
|
208
206
|
waitUntilExit
|
|
209
207
|
} = (0, _ink().render)(data);
|
|
@@ -268,4 +266,16 @@ class CommandRunner {
|
|
|
268
266
|
|
|
269
267
|
exports.CommandRunner = CommandRunner;
|
|
270
268
|
|
|
269
|
+
function toRenderResult(obj) {
|
|
270
|
+
return isRenderResult(obj) ? obj : {
|
|
271
|
+
data: obj,
|
|
272
|
+
code: 0
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
function isRenderResult(obj) {
|
|
277
|
+
// eslint-disable-next-line no-prototype-builtins
|
|
278
|
+
return typeof obj === 'object' && typeof obj.code === 'number' && obj.hasOwnProperty('data');
|
|
279
|
+
}
|
|
280
|
+
|
|
271
281
|
//# sourceMappingURL=command-runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["command-runner.ts"],"names":["CommandRunner","constructor","command","args","flags","commandName","name","runCommand","bootstrapCommand","runMigrateIfNeeded","determineConsoleWritingDuringCommand","json","runJsonHandler","shouldRunRender","runRenderHandler","report","runReportHandler","err","internal","Error","Analytics","init","logger","info","token","TOKEN_FLAG_NAME","globalFlags","toString","isTerminal","process","stdout","isTTY","Boolean","render","result","code","data","writeAndExit","JSON","stringify","loader","off","hasOwnProperty","waitUntilExit","exitAfterFlush","exitCode","on","start","shouldWriteToConsole","log","logValue","undefined","switchToConsoleLogger","write","migration","debug"],"mappings":"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","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 } 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) {\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 // @ts-ignore\n // eslint-disable-next-line no-prototype-builtins\n const data = result.data && result.hasOwnProperty('code') ? result.data : result;\n // @ts-ignore\n // eslint-disable-next-line no-prototype-builtins\n const code = result.data && result.hasOwnProperty('code') ? result.code : 0;\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 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));\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"]}
|
|
1
|
+
{"version":3,"sources":["command-runner.ts"],"names":["CommandRunner","constructor","command","args","flags","commandName","name","runCommand","bootstrapCommand","runMigrateIfNeeded","determineConsoleWritingDuringCommand","json","runJsonHandler","shouldRunRender","runRenderHandler","report","runReportHandler","err","internal","Error","Analytics","init","logger","info","token","TOKEN_FLAG_NAME","globalFlags","toString","isTerminal","process","stdout","isTTY","Boolean","render","result","code","data","writeAndExit","JSON","stringify","loader","off","toRenderResult","waitUntilExit","exitAfterFlush","exitCode","on","start","shouldWriteToConsole","log","logValue","undefined","switchToConsoleLogger","write","migration","debug","obj","isRenderResult","hasOwnProperty"],"mappings":"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","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 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));\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"]}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.379",
|
|
4
4
|
"homepage": "https://bit.dev/teambit/harmony/cli",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.harmony",
|
|
8
8
|
"name": "cli",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.379"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "2.4.2",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"pad-right": "0.2.2",
|
|
19
19
|
"@babel/runtime": "7.12.18",
|
|
20
20
|
"core-js": "^3.0.0",
|
|
21
|
-
"@teambit/bit-error": "0.0.
|
|
21
|
+
"@teambit/bit-error": "0.0.365"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@types/didyoumean": "1.2.0",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
},
|
|
69
69
|
"private": false,
|
|
70
70
|
"engines": {
|
|
71
|
-
"node": ">=12.
|
|
71
|
+
"node": ">=12.22.0"
|
|
72
72
|
},
|
|
73
73
|
"repository": {
|
|
74
74
|
"type": "git",
|
package/tsconfig.json
CHANGED
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
"skipLibCheck": true,
|
|
16
16
|
"moduleResolution": "node",
|
|
17
17
|
"esModuleInterop": true,
|
|
18
|
+
"outDir": "dist",
|
|
18
19
|
"composite": true,
|
|
19
20
|
"emitDeclarationOnly": true,
|
|
20
|
-
"outDir": "dist",
|
|
21
21
|
"experimentalDecorators": true,
|
|
22
22
|
"emitDecoratorMetadata": true,
|
|
23
23
|
"allowSyntheticDefaultImports": true,
|
package/types/asset.d.ts
CHANGED
|
@@ -3,9 +3,13 @@ declare module '*.png' {
|
|
|
3
3
|
export = value;
|
|
4
4
|
}
|
|
5
5
|
declare module '*.svg' {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
import type { FunctionComponent, SVGProps } from 'react';
|
|
7
|
+
|
|
8
|
+
export const ReactComponent: FunctionComponent<SVGProps<SVGSVGElement> & { title?: string }>;
|
|
9
|
+
const src: string;
|
|
10
|
+
export default src;
|
|
8
11
|
}
|
|
12
|
+
|
|
9
13
|
// @TODO Gilad
|
|
10
14
|
declare module '*.jpg' {
|
|
11
15
|
const value: any;
|
package/types/style.d.ts
CHANGED
|
@@ -21,6 +21,21 @@ declare module '*.less' {
|
|
|
21
21
|
export default classes;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
declare module '*.css' {
|
|
25
|
+
const classes: { readonly [key: string]: string };
|
|
26
|
+
export default classes;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
declare module '*.sass' {
|
|
30
|
+
const classes: { readonly [key: string]: string };
|
|
31
|
+
export default classes;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
declare module '*.scss' {
|
|
35
|
+
const classes: { readonly [key: string]: string };
|
|
36
|
+
export default classes;
|
|
37
|
+
}
|
|
38
|
+
|
|
24
39
|
declare module '*.mdx' {
|
|
25
40
|
const component: any;
|
|
26
41
|
export default component;
|