@teambit/cli 0.0.0-00805bd6ead01ffad26e598a8de15824e876ee5a

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.
Files changed (100) hide show
  1. package/.npmignore +18 -0
  2. package/cli-output-style-guide.md +132 -0
  3. package/cli.composition.tsx +7 -0
  4. package/cli.docs.mdx +12 -0
  5. package/dist/cli-output-style-guide.md +132 -0
  6. package/dist/cli-parser.d.ts +38 -0
  7. package/dist/cli-parser.js +388 -0
  8. package/dist/cli-parser.js.map +1 -0
  9. package/dist/cli-parser.spec.d.ts +1 -0
  10. package/dist/cli-parser.spec.js +113 -0
  11. package/dist/cli-parser.spec.js.map +1 -0
  12. package/dist/cli.aspect.d.ts +4 -0
  13. package/dist/cli.aspect.js +22 -0
  14. package/dist/cli.aspect.js.map +1 -0
  15. package/dist/cli.cmd.d.ts +34 -0
  16. package/dist/cli.cmd.js +163 -0
  17. package/dist/cli.cmd.js.map +1 -0
  18. package/dist/cli.composition.d.ts +2 -0
  19. package/dist/cli.composition.js +29 -0
  20. package/dist/cli.composition.js.map +1 -0
  21. package/dist/cli.docs.mdx +12 -0
  22. package/dist/cli.main.runtime.d.ts +86 -0
  23. package/dist/cli.main.runtime.js +270 -0
  24. package/dist/cli.main.runtime.js.map +1 -0
  25. package/dist/command-groups.d.ts +31 -0
  26. package/dist/command-groups.js +44 -0
  27. package/dist/command-groups.js.map +1 -0
  28. package/dist/command-helper.d.ts +25 -0
  29. package/dist/command-helper.js +59 -0
  30. package/dist/command-helper.js.map +1 -0
  31. package/dist/command-runner.d.ts +38 -0
  32. package/dist/command-runner.js +227 -0
  33. package/dist/command-runner.js.map +1 -0
  34. package/dist/command.d.ts +145 -0
  35. package/dist/command.js +3 -0
  36. package/dist/command.js.map +1 -0
  37. package/dist/completion.cmd.d.ts +9 -0
  38. package/dist/completion.cmd.js +22 -0
  39. package/dist/completion.cmd.js.map +1 -0
  40. package/dist/default-error-handler.d.ts +12 -0
  41. package/dist/default-error-handler.js +80 -0
  42. package/dist/default-error-handler.js.map +1 -0
  43. package/dist/details.cmd.d.ts +12 -0
  44. package/dist/details.cmd.js +78 -0
  45. package/dist/details.cmd.js.map +1 -0
  46. package/dist/esm.mjs +17 -0
  47. package/dist/exceptions/already-exists.d.ts +4 -0
  48. package/dist/exceptions/already-exists.js +21 -0
  49. package/dist/exceptions/already-exists.js.map +1 -0
  50. package/dist/exceptions/command-not-found.d.ts +7 -0
  51. package/dist/exceptions/command-not-found.js +44 -0
  52. package/dist/exceptions/command-not-found.js.map +1 -0
  53. package/dist/exceptions/index.d.ts +2 -0
  54. package/dist/exceptions/index.js +33 -0
  55. package/dist/exceptions/index.js.map +1 -0
  56. package/dist/exceptions/yargs-exit-workaround.d.ts +6 -0
  57. package/dist/exceptions/yargs-exit-workaround.js +23 -0
  58. package/dist/exceptions/yargs-exit-workaround.js.map +1 -0
  59. package/dist/generate-doc-md.d.ts +39 -0
  60. package/dist/generate-doc-md.js +266 -0
  61. package/dist/generate-doc-md.js.map +1 -0
  62. package/dist/get-command-id.d.ts +1 -0
  63. package/dist/get-command-id.js +11 -0
  64. package/dist/get-command-id.js.map +1 -0
  65. package/dist/global-flags.d.ts +7 -0
  66. package/dist/global-flags.js +24 -0
  67. package/dist/global-flags.js.map +1 -0
  68. package/dist/handle-errors.d.ts +3 -0
  69. package/dist/handle-errors.js +78 -0
  70. package/dist/handle-errors.js.map +1 -0
  71. package/dist/help.cmd.d.ts +16 -0
  72. package/dist/help.cmd.js +37 -0
  73. package/dist/help.cmd.js.map +1 -0
  74. package/dist/help.d.ts +3 -0
  75. package/dist/help.js +88 -0
  76. package/dist/help.js.map +1 -0
  77. package/dist/index.d.ts +14 -0
  78. package/dist/index.js +245 -0
  79. package/dist/index.js.map +1 -0
  80. package/dist/output-formatter.d.ts +40 -0
  81. package/dist/output-formatter.js +115 -0
  82. package/dist/output-formatter.js.map +1 -0
  83. package/dist/pager.d.ts +35 -0
  84. package/dist/pager.js +178 -0
  85. package/dist/pager.js.map +1 -0
  86. package/dist/preview-1787076242549.js +7 -0
  87. package/dist/version.cmd.d.ts +13 -0
  88. package/dist/version.cmd.js +39 -0
  89. package/dist/version.cmd.js.map +1 -0
  90. package/dist/yargs-adapter.d.ts +22 -0
  91. package/dist/yargs-adapter.js +133 -0
  92. package/dist/yargs-adapter.js.map +1 -0
  93. package/esm.mjs +17 -0
  94. package/exceptions/already-exists.ts +7 -0
  95. package/exceptions/command-not-found.ts +22 -0
  96. package/exceptions/index.ts +2 -0
  97. package/exceptions/yargs-exit-workaround.ts +10 -0
  98. package/package.json +74 -0
  99. package/types/asset.d.ts +41 -0
  100. package/types/style.d.ts +46 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CompletionCmd","constructor","_defineProperty","exports"],"sources":["completion.cmd.ts"],"sourcesContent":["import type { Command } from './command';\n\nexport class CompletionCmd implements Command {\n name = 'completion';\n description = 'enable bash/zsh-completion shortcuts for commands and options';\n alias = '';\n group = 'system';\n options = [];\n private = true;\n}\n"],"mappings":";;;;;;;;;AAEO,MAAMA,aAAa,CAAoB;EAAAC,YAAA;IAAAC,eAAA,eACrC,YAAY;IAAAA,eAAA,sBACL,+DAA+D;IAAAA,eAAA,gBACrE,EAAE;IAAAA,eAAA,gBACF,QAAQ;IAAAA,eAAA,kBACN,EAAE;IAAAA,eAAA,kBACF,IAAI;EAAA;AAChB;AAACC,OAAA,CAAAH,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * if err.userError is set, it inherits from AbstractError, which are user errors not Bit errors
3
+ * and should not be reported to Sentry.
4
+ * reason why we don't check (err instanceof AbstractError) is that it could be thrown from a fork,
5
+ * in which case, it loses its class and has only the fields.
6
+ */
7
+ export declare function sendToAnalyticsAndSentry(err: Error): void;
8
+ export default _default;
9
+ declare function _default(err: Error): {
10
+ message: string;
11
+ error: Error;
12
+ };
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ exports.sendToAnalyticsAndSentry = sendToAnalyticsAndSentry;
8
+ function _chalk() {
9
+ const data = _interopRequireDefault(require("chalk"));
10
+ _chalk = function () {
11
+ return data;
12
+ };
13
+ return data;
14
+ }
15
+ function _bitError() {
16
+ const data = require("@teambit/bit-error");
17
+ _bitError = function () {
18
+ return data;
19
+ };
20
+ return data;
21
+ }
22
+ function _legacy() {
23
+ const data = require("@teambit/legacy.analytics");
24
+ _legacy = function () {
25
+ return data;
26
+ };
27
+ return data;
28
+ }
29
+ function _legacyCli() {
30
+ const data = require("@teambit/legacy.cli.error");
31
+ _legacyCli = function () {
32
+ return data;
33
+ };
34
+ return data;
35
+ }
36
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
37
+ // all errors that the command does not handle comes to this switch statement
38
+ // if you handle the error, then return true
39
+
40
+ /**
41
+ * if err.userError is set, it inherits from AbstractError, which are user errors not Bit errors
42
+ * and should not be reported to Sentry.
43
+ * reason why we don't check (err instanceof AbstractError) is that it could be thrown from a fork,
44
+ * in which case, it loses its class and has only the fields.
45
+ */
46
+ function sendToAnalyticsAndSentry(err) {
47
+ const possiblyHashedError = (0, _legacyCli().hashErrorIfNeeded)(err);
48
+ // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
49
+ const shouldNotReportToSentry = Boolean(err.isUserError || err.code === 'EACCES');
50
+ // only level FATAL are reported to Sentry.
51
+ const level = shouldNotReportToSentry ? _legacy().LEVEL.INFO : _legacy().LEVEL.FATAL;
52
+ _legacy().Analytics.setError(level, possiblyHashedError);
53
+ }
54
+ function handleNonBitCustomErrors(err) {
55
+ // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
56
+ if (err.code === 'EACCES' && err.path) {
57
+ // see #1774
58
+ return _chalk().default.red(
59
+ // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
60
+ `error: you do not have permissions to access '${err.path}', were you running bit, npm or git as root?`);
61
+ }
62
+ return _chalk().default.red(err.message || err);
63
+ }
64
+ var _default = err => {
65
+ const getErrMsg = () => {
66
+ if (err instanceof _bitError().BitError) {
67
+ return err.report();
68
+ }
69
+ return handleNonBitCustomErrors(err);
70
+ };
71
+ sendToAnalyticsAndSentry(err);
72
+ const errorMessage = getErrMsg();
73
+ return {
74
+ message: _chalk().default.red(errorMessage),
75
+ error: err
76
+ };
77
+ };
78
+ exports.default = _default;
79
+
80
+ //# sourceMappingURL=default-error-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_bitError","_legacy","_legacyCli","e","__esModule","default","sendToAnalyticsAndSentry","err","possiblyHashedError","hashErrorIfNeeded","shouldNotReportToSentry","Boolean","isUserError","code","level","LEVEL","INFO","FATAL","Analytics","setError","handleNonBitCustomErrors","path","chalk","red","message","_default","getErrMsg","BitError","report","errorMessage","error","exports"],"sources":["default-error-handler.ts"],"sourcesContent":["// all errors that the command does not handle comes to this switch statement\n// if you handle the error, then return true\nimport chalk from 'chalk';\nimport { BitError } from '@teambit/bit-error';\nimport { Analytics, LEVEL } from '@teambit/legacy.analytics';\nimport { hashErrorIfNeeded } from '@teambit/legacy.cli.error';\n\n/**\n * if err.userError is set, it inherits from AbstractError, which are user errors not Bit errors\n * and should not be reported to Sentry.\n * reason why we don't check (err instanceof AbstractError) is that it could be thrown from a fork,\n * in which case, it loses its class and has only the fields.\n */\nexport function sendToAnalyticsAndSentry(err: Error) {\n const possiblyHashedError = hashErrorIfNeeded(err);\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const shouldNotReportToSentry = Boolean(err.isUserError || err.code === 'EACCES');\n // only level FATAL are reported to Sentry.\n const level = shouldNotReportToSentry ? LEVEL.INFO : LEVEL.FATAL;\n Analytics.setError(level, possiblyHashedError);\n}\n\nfunction handleNonBitCustomErrors(err: Error): string {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n if (err.code === 'EACCES' && err.path) {\n // see #1774\n return chalk.red(\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n `error: you do not have permissions to access '${err.path}', were you running bit, npm or git as root?`\n );\n }\n return chalk.red(err.message || err);\n}\n\nexport default (err: Error): { message: string; error: Error } => {\n const getErrMsg = (): string => {\n if (err instanceof BitError) {\n return err.report();\n }\n return handleNonBitCustomErrors(err);\n };\n sendToAnalyticsAndSentry(err);\n const errorMessage = getErrMsg();\n return { message: chalk.red(errorMessage), error: err };\n};\n"],"mappings":";;;;;;;AAEA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,UAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,SAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,WAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,UAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8D,SAAAC,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAL9D;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,wBAAwBA,CAACC,GAAU,EAAE;EACnD,MAAMC,mBAAmB,GAAG,IAAAC,8BAAiB,EAACF,GAAG,CAAC;EAClD;EACA,MAAMG,uBAAuB,GAAGC,OAAO,CAACJ,GAAG,CAACK,WAAW,IAAIL,GAAG,CAACM,IAAI,KAAK,QAAQ,CAAC;EACjF;EACA,MAAMC,KAAK,GAAGJ,uBAAuB,GAAGK,eAAK,CAACC,IAAI,GAAGD,eAAK,CAACE,KAAK;EAChEC,mBAAS,CAACC,QAAQ,CAACL,KAAK,EAAEN,mBAAmB,CAAC;AAChD;AAEA,SAASY,wBAAwBA,CAACb,GAAU,EAAU;EACpD;EACA,IAAIA,GAAG,CAACM,IAAI,KAAK,QAAQ,IAAIN,GAAG,CAACc,IAAI,EAAE;IACrC;IACA,OAAOC,gBAAK,CAACC,GAAG;IACd;IACA,iDAAiDhB,GAAG,CAACc,IAAI,8CAC3D,CAAC;EACH;EACA,OAAOC,gBAAK,CAACC,GAAG,CAAChB,GAAG,CAACiB,OAAO,IAAIjB,GAAG,CAAC;AACtC;AAAC,IAAAkB,QAAA,GAEelB,GAAU,IAAwC;EAChE,MAAMmB,SAAS,GAAGA,CAAA,KAAc;IAC9B,IAAInB,GAAG,YAAYoB,oBAAQ,EAAE;MAC3B,OAAOpB,GAAG,CAACqB,MAAM,CAAC,CAAC;IACrB;IACA,OAAOR,wBAAwB,CAACb,GAAG,CAAC;EACtC,CAAC;EACDD,wBAAwB,CAACC,GAAG,CAAC;EAC7B,MAAMsB,YAAY,GAAGH,SAAS,CAAC,CAAC;EAChC,OAAO;IAAEF,OAAO,EAAEF,gBAAK,CAACC,GAAG,CAACM,YAAY,CAAC;IAAEC,KAAK,EAAEvB;EAAI,CAAC;AACzD,CAAC;AAAAwB,OAAA,CAAA1B,OAAA,GAAAoB,QAAA","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import type { Command, CommandOptions } from './command';
2
+ export declare class DetailsCmd implements Command {
3
+ name: string;
4
+ description: string;
5
+ alias: string;
6
+ group: string;
7
+ options: CommandOptions;
8
+ loader: boolean;
9
+ loadAspects: boolean;
10
+ skipWorkspace: boolean;
11
+ report(): Promise<string>;
12
+ }
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DetailsCmd = void 0;
7
+ function _chalk() {
8
+ const data = _interopRequireDefault(require("chalk"));
9
+ _chalk = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _fsExtra() {
15
+ const data = _interopRequireDefault(require("fs-extra"));
16
+ _fsExtra = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _path() {
22
+ const data = _interopRequireDefault(require("path"));
23
+ _path = function () {
24
+ return data;
25
+ };
26
+ return data;
27
+ }
28
+ function _outputFormatter() {
29
+ const data = require("./output-formatter");
30
+ _outputFormatter = function () {
31
+ return data;
32
+ };
33
+ return data;
34
+ }
35
+ function _commandRunner() {
36
+ const data = require("./command-runner");
37
+ _commandRunner = function () {
38
+ return data;
39
+ };
40
+ return data;
41
+ }
42
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
43
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
44
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
45
+ 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); }
46
+ class DetailsCmd {
47
+ constructor() {
48
+ _defineProperty(this, "name", 'details');
49
+ _defineProperty(this, "description", 'show expanded details from the last command that provided them (e.g. tag, snap)');
50
+ _defineProperty(this, "alias", '');
51
+ _defineProperty(this, "group", 'general');
52
+ _defineProperty(this, "options", []);
53
+ _defineProperty(this, "loader", false);
54
+ _defineProperty(this, "loadAspects", false);
55
+ _defineProperty(this, "skipWorkspace", true);
56
+ }
57
+ async report() {
58
+ const contentPath = _path().default.join(_commandRunner().LAST_COMMAND_DETAILS_DIR, 'content');
59
+ const metaPath = _path().default.join(_commandRunner().LAST_COMMAND_DETAILS_DIR, 'meta.json');
60
+ const exists = await _fsExtra().default.pathExists(contentPath);
61
+ if (!exists) {
62
+ return _chalk().default.yellow('no details available. run a command like "bit tag" or "bit snap" first.');
63
+ }
64
+ const [content, metaRaw] = await Promise.all([_fsExtra().default.readFile(contentPath, 'utf-8'), _fsExtra().default.readFile(metaPath, 'utf-8').catch(() => '{}')]);
65
+ let meta = {};
66
+ try {
67
+ meta = JSON.parse(metaRaw);
68
+ } catch {
69
+ // corrupted meta file, proceed with empty meta
70
+ }
71
+ const timestamp = meta.timestamp && !Number.isNaN(Date.parse(meta.timestamp)) ? meta.timestamp : '';
72
+ const header = meta.command ? (0, _outputFormatter().formatTitle)(`details from "bit ${meta.command}"`) + (timestamp ? _chalk().default.dim(` ${timestamp}`) : '') : (0, _outputFormatter().formatTitle)('details from last command');
73
+ return `${header}\n\n${content}\n\n${(0, _outputFormatter().formatHint)('(these are details from the last command that provided them)')}`;
74
+ }
75
+ }
76
+ exports.DetailsCmd = DetailsCmd;
77
+
78
+ //# sourceMappingURL=details.cmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_fsExtra","_path","_outputFormatter","_commandRunner","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DetailsCmd","constructor","report","contentPath","path","join","LAST_COMMAND_DETAILS_DIR","metaPath","exists","fs","pathExists","chalk","yellow","content","metaRaw","Promise","all","readFile","catch","meta","JSON","parse","timestamp","isNaN","Date","header","command","formatTitle","dim","formatHint","exports"],"sources":["details.cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport type { Command, CommandOptions } from './command';\nimport { formatTitle, formatHint } from './output-formatter';\nimport { LAST_COMMAND_DETAILS_DIR } from './command-runner';\n\nexport class DetailsCmd implements Command {\n name = 'details';\n description = 'show expanded details from the last command that provided them (e.g. tag, snap)';\n alias = '';\n group = 'general';\n options = [] as CommandOptions;\n loader = false;\n loadAspects = false;\n skipWorkspace = true;\n\n async report() {\n const contentPath = path.join(LAST_COMMAND_DETAILS_DIR, 'content');\n const metaPath = path.join(LAST_COMMAND_DETAILS_DIR, 'meta.json');\n\n const exists = await fs.pathExists(contentPath);\n if (!exists) {\n return chalk.yellow('no details available. run a command like \"bit tag\" or \"bit snap\" first.');\n }\n\n const [content, metaRaw] = await Promise.all([\n fs.readFile(contentPath, 'utf-8'),\n fs.readFile(metaPath, 'utf-8').catch(() => '{}'),\n ]);\n\n let meta: Record<string, string> = {};\n try {\n meta = JSON.parse(metaRaw);\n } catch {\n // corrupted meta file, proceed with empty meta\n }\n const timestamp = meta.timestamp && !Number.isNaN(Date.parse(meta.timestamp)) ? meta.timestamp : '';\n const header = meta.command\n ? formatTitle(`details from \"bit ${meta.command}\"`) + (timestamp ? chalk.dim(` ${timestamp}`) : '')\n : formatTitle('details from last command');\n\n return `${header}\\n\\n${content}\\n\\n${formatHint('(these are details from the last command that provided them)')}`;\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/dist/esm.mjs ADDED
@@ -0,0 +1,17 @@
1
+ // eslint-disable-next-line import/no-unresolved
2
+ import cjsModule from './index.js';
3
+
4
+ export const CLIAspect = cjsModule.CLIAspect;
5
+ export const MainRuntime = cjsModule.MainRuntime;
6
+ export const handleUnhandledRejection = cjsModule.handleUnhandledRejection;
7
+ export const handleErrorAndExit = cjsModule.handleErrorAndExit;
8
+ export const setExitOnUnhandledRejection = cjsModule.setExitOnUnhandledRejection;
9
+ export const defaultErrorHandler = cjsModule.defaultErrorHandler;
10
+ export const globalFlags = cjsModule.globalFlags;
11
+ export const CLIParser = cjsModule.CLIParser;
12
+ export const YargsExitWorkaround = cjsModule.YargsExitWorkaround;
13
+ export const getArgsData = cjsModule.getArgsData;
14
+ export const getCommandName = cjsModule.getCommandName;
15
+ export const getFlagsData = cjsModule.getFlagsData;
16
+
17
+ export default cjsModule;
@@ -0,0 +1,4 @@
1
+ import { BitError } from '@teambit/bit-error';
2
+ export declare class AlreadyExistsError extends BitError {
3
+ constructor(type: string, name: string);
4
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AlreadyExistsError = void 0;
7
+ function _bitError() {
8
+ const data = require("@teambit/bit-error");
9
+ _bitError = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ class AlreadyExistsError extends _bitError().BitError {
15
+ constructor(type, name) {
16
+ super(`${type} ${name} already exists.`);
17
+ }
18
+ }
19
+ exports.AlreadyExistsError = AlreadyExistsError;
20
+
21
+ //# sourceMappingURL=already-exists.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_bitError","data","require","AlreadyExistsError","BitError","constructor","type","name","exports"],"sources":["already-exists.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class AlreadyExistsError extends BitError {\n constructor(type: string, name: string) {\n super(`${type} ${name} already exists.`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,kBAAkB,SAASC,oBAAQ,CAAC;EAC/CC,WAAWA,CAACC,IAAY,EAAEC,IAAY,EAAE;IACtC,KAAK,CAAC,GAAGD,IAAI,IAAIC,IAAI,kBAAkB,CAAC;EAC1C;AACF;AAACC,OAAA,CAAAL,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import { BitError } from '@teambit/bit-error';
2
+ export declare class CommandNotFound extends BitError {
3
+ commandName: string;
4
+ suggestion?: string;
5
+ constructor(commandName: string, suggestion?: string);
6
+ report(): string;
7
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CommandNotFound = void 0;
7
+ function _bitError() {
8
+ const data = require("@teambit/bit-error");
9
+ _bitError = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _chalk() {
15
+ const data = _interopRequireDefault(require("chalk"));
16
+ _chalk = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
23
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : 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
+ class CommandNotFound extends _bitError().BitError {
26
+ constructor(commandName, suggestion) {
27
+ super(`command ${commandName} was not found`);
28
+ _defineProperty(this, "commandName", void 0);
29
+ _defineProperty(this, "suggestion", void 0);
30
+ this.commandName = commandName;
31
+ this.suggestion = suggestion;
32
+ }
33
+ report() {
34
+ let output = _chalk().default.yellow(`warning: '${_chalk().default.bold(this.commandName)}' is not a valid command.
35
+ see 'bit help' for additional information`);
36
+ if (this.suggestion) {
37
+ output += `\nDid you mean ${_chalk().default.bold(this.suggestion)}?`;
38
+ }
39
+ return output;
40
+ }
41
+ }
42
+ exports.CommandNotFound = CommandNotFound;
43
+
44
+ //# sourceMappingURL=command-not-found.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_bitError","data","require","_chalk","_interopRequireDefault","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","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,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAEnB,MAAMgB,eAAe,SAASC,oBAAQ,CAAC;EAG5CC,WAAWA,CAACC,WAAmB,EAAEC,UAAmB,EAAE;IACpD,KAAK,CAAC,WAAWD,WAAW,gBAAgB,CAAC;IAACrB,eAAA;IAAAA,eAAA;IAC9C,IAAI,CAACqB,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACC,UAAU,GAAGA,UAAU;EAC9B;EACAC,MAAMA,CAAA,EAAG;IACP,IAAIC,MAAM,GAAGC,gBAAK,CAACC,MAAM,CACvB,aAAaD,gBAAK,CAACE,IAAI,CAAC,IAAI,CAACN,WAAW,CAAC;AAC/C,0CACI,CAAC;IACD,IAAI,IAAI,CAACC,UAAU,EAAE;MACnBE,MAAM,IAAI,kBAAkBC,gBAAK,CAACE,IAAI,CAAC,IAAI,CAACL,UAAU,CAAC,GAAG;IAC5D;IACA,OAAOE,MAAM;EACf;AACF;AAACI,OAAA,CAAAV,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export { AlreadyExistsError } from './already-exists';
2
+ export { YargsExitWorkaround } from './yargs-exit-workaround';
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "AlreadyExistsError", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _alreadyExists().AlreadyExistsError;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "YargsExitWorkaround", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _yargsExitWorkaround().YargsExitWorkaround;
16
+ }
17
+ });
18
+ function _alreadyExists() {
19
+ const data = require("./already-exists");
20
+ _alreadyExists = function () {
21
+ return data;
22
+ };
23
+ return data;
24
+ }
25
+ function _yargsExitWorkaround() {
26
+ const data = require("./yargs-exit-workaround");
27
+ _yargsExitWorkaround = function () {
28
+ return data;
29
+ };
30
+ return data;
31
+ }
32
+
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_alreadyExists","data","require","_yargsExitWorkaround"],"sources":["index.ts"],"sourcesContent":["export { AlreadyExistsError } from './already-exists';\nexport { YargsExitWorkaround } from './yargs-exit-workaround';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,qBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,oBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import { BitError } from '@teambit/bit-error';
2
+ export declare class YargsExitWorkaround extends BitError {
3
+ exitCode: number;
4
+ helpMsg: string;
5
+ constructor(exitCode: number, helpMsg: string);
6
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.YargsExitWorkaround = void 0;
7
+ function _bitError() {
8
+ const data = require("@teambit/bit-error");
9
+ _bitError = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ class YargsExitWorkaround extends _bitError().BitError {
15
+ constructor(exitCode, helpMsg) {
16
+ super('Workaround for yargs exit issue');
17
+ this.exitCode = exitCode;
18
+ this.helpMsg = helpMsg;
19
+ }
20
+ }
21
+ exports.YargsExitWorkaround = YargsExitWorkaround;
22
+
23
+ //# sourceMappingURL=yargs-exit-workaround.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_bitError","data","require","YargsExitWorkaround","BitError","constructor","exitCode","helpMsg","exports"],"sources":["yargs-exit-workaround.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class YargsExitWorkaround extends BitError {\n constructor(\n public exitCode: number,\n public helpMsg: string\n ) {\n super('Workaround for yargs exit issue');\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,mBAAmB,SAASC,oBAAQ,CAAC;EAChDC,WAAWA,CACFC,QAAgB,EAChBC,OAAe,EACtB;IACA,KAAK,CAAC,iCAAiC,CAAC;IAAC,KAHlCD,QAAgB,GAAhBA,QAAgB;IAAA,KAChBC,OAAe,GAAfA,OAAe;EAGxB;AACF;AAACC,OAAA,CAAAL,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -0,0 +1,39 @@
1
+ import type { Command } from './command';
2
+ import type { GroupsType } from './command-groups';
3
+ export type GenerateOpts = {
4
+ metadata?: Record<string, string>;
5
+ };
6
+ type CommandObject = ReturnType<typeof oneCommandToObject> & {
7
+ commands?: any;
8
+ };
9
+ export declare class GenerateCommandsDoc {
10
+ private commands;
11
+ private options;
12
+ private groups;
13
+ constructor(commands: Command[], options: GenerateOpts, groups?: GroupsType);
14
+ generate(): string;
15
+ generateJson(): CommandObject[];
16
+ /**
17
+ * Generate command list in the style of `bit --help` but without chalk colors.
18
+ * For use in Claude Code skills.
19
+ */
20
+ generateSkillCommands(): string;
21
+ /**
22
+ * Generate command reference with subcommands, arguments, and flags.
23
+ * For use in Claude Code skills.
24
+ */
25
+ generateSkillReference(): string;
26
+ private collectSkillCommandSections;
27
+ private groupCommandsByGroup;
28
+ private commandsToObjects;
29
+ private getFrontmatter;
30
+ private getAllPublicCommandsSorted;
31
+ private generateCommand;
32
+ private generateSubCommands;
33
+ private generateArguments;
34
+ private generateOptions;
35
+ private formatStringToMD;
36
+ private formatDescription;
37
+ }
38
+ declare function oneCommandToObject(command: Command): Partial<Command>;
39
+ export {};