@teambit/status 1.0.940 → 1.0.942

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.
@@ -7,6 +7,11 @@ type StatusFlags = {
7
7
  ignoreCircularDependencies?: boolean;
8
8
  warnings?: boolean;
9
9
  failOnError?: boolean;
10
+ quick?: boolean;
11
+ };
12
+ type QuickStatusJsonResults = {
13
+ modified: string[];
14
+ newComponents: string[];
10
15
  };
11
16
  type StatusJsonResults = {
12
17
  newComponents: string[];
@@ -64,10 +69,11 @@ export declare class StatusCmd implements Command {
64
69
  options: CommandOptions;
65
70
  loader: boolean;
66
71
  constructor(status: StatusMain);
67
- json(_args: any, { lanes, ignoreCircularDependencies }: StatusFlags): Promise<StatusJsonResults>;
68
- report(_args: any, { strict, verbose, lanes, ignoreCircularDependencies, warnings, failOnError }: StatusFlags): Promise<{
72
+ json(_args: any, { lanes, ignoreCircularDependencies, quick }: StatusFlags): Promise<StatusJsonResults | QuickStatusJsonResults>;
73
+ report(_args: any, { strict, verbose, lanes, ignoreCircularDependencies, warnings, failOnError, quick }: StatusFlags): Promise<{
69
74
  data: string;
70
75
  code: number;
71
76
  }>;
77
+ private reportQuick;
72
78
  }
73
79
  export {};
@@ -4,6 +4,20 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.StatusCmd = void 0;
7
+ function _chalk() {
8
+ const data = _interopRequireDefault(require("chalk"));
9
+ _chalk = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _logger() {
15
+ const data = require("@teambit/logger");
16
+ _logger = function () {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
7
21
  function _statusFormatter() {
8
22
  const data = require("./status-formatter");
9
23
  _statusFormatter = function () {
@@ -11,6 +25,7 @@ function _statusFormatter() {
11
25
  };
12
26
  return data;
13
27
  }
28
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
29
  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; }
15
30
  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; }
16
31
  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; }
@@ -24,15 +39,28 @@ class StatusCmd {
24
39
  _defineProperty(this, "group", 'info-analysis');
25
40
  _defineProperty(this, "extendedDescription", `displays the current state of all workspace components including new, modified, staged, and problematic components.
26
41
  identifies blocking issues that prevent tagging/snapping and provides warnings with --warnings flag.
27
- essential for understanding workspace health before versioning components.`);
42
+ essential for understanding workspace health before versioning components.
43
+ use --quick for a faster check that only detects file-level changes (new/modified components).
44
+ for maximum speed (skips aspect loading entirely), use "bit mini-status".`);
28
45
  _defineProperty(this, "alias", 's');
29
- _defineProperty(this, "options", [['j', 'json', 'return a json version of the component'], ['w', 'warnings', 'show warnings. by default, only issues that block tag/snap are shown'], ['', 'verbose', 'show extra data: full snap hashes for staged components, and divergence point for lanes'], ['l', 'lanes', 'when on a lane, show updates from main and updates from forked lanes'], ['', 'strict', 'exit with code 1 if any issues are found (both errors and warnings)'], ['', 'fail-on-error', 'exit with code 1 only when tag/snap blocker issues are found (not warnings)'], ['c', 'ignore-circular-dependencies', 'do not check for circular dependencies to get the results quicker']]);
46
+ _defineProperty(this, "options", [['j', 'json', 'return a json version of the component'], ['w', 'warnings', 'show warnings. by default, only issues that block tag/snap are shown'], ['', 'verbose', 'show extra data: full snap hashes for staged components, and divergence point for lanes'], ['l', 'lanes', 'when on a lane, show updates from main and updates from forked lanes'], ['', 'strict', 'exit with code 1 if any issues are found (both errors and warnings)'], ['', 'fail-on-error', 'exit with code 1 only when tag/snap blocker issues are found (not warnings)'], ['c', 'ignore-circular-dependencies', 'do not check for circular dependencies to get the results quicker'], ['', 'quick', 'show only new and modified components based on file changes. much faster, but does not detect dependency or config changes']]);
30
47
  _defineProperty(this, "loader", true);
31
48
  }
32
49
  async json(_args, {
33
50
  lanes,
34
- ignoreCircularDependencies
51
+ ignoreCircularDependencies,
52
+ quick
35
53
  }) {
54
+ if (quick) {
55
+ const {
56
+ modified,
57
+ newComps
58
+ } = await this.status.statusMini();
59
+ return {
60
+ modified: modified.map(m => m.toStringWithoutVersion()),
61
+ newComponents: newComps.map(m => m.toStringWithoutVersion())
62
+ };
63
+ }
36
64
  const {
37
65
  newComponents,
38
66
  modifiedComponents,
@@ -109,8 +137,12 @@ essential for understanding workspace health before versioning components.`);
109
137
  lanes,
110
138
  ignoreCircularDependencies,
111
139
  warnings,
112
- failOnError
140
+ failOnError,
141
+ quick
113
142
  }) {
143
+ if (quick) {
144
+ return this.reportQuick();
145
+ }
114
146
  const statusResult = await this.status.status({
115
147
  lanes,
116
148
  ignoreCircularDependencies
@@ -122,6 +154,24 @@ essential for understanding workspace health before versioning components.`);
122
154
  failOnError
123
155
  });
124
156
  }
157
+ async reportQuick() {
158
+ const {
159
+ modified,
160
+ newComps
161
+ } = await this.status.statusMini();
162
+ const formatCategory = (title, ids) => {
163
+ if (!ids.length) return '';
164
+ const titleOutput = _chalk().default.bold.white(`${title} (${ids.length})`);
165
+ const idsStr = ids.map(id => ` ${_logger().Logger.successSymbol()} ${_chalk().default.cyan(id.toStringWithoutVersion())}`);
166
+ return [titleOutput, ...idsStr].join('\n');
167
+ };
168
+ const sections = [formatCategory('modified components (files only)', modified), formatCategory('new components', newComps)].filter(Boolean).join('\n\n');
169
+ const data = sections || `${_logger().Logger.successSymbol()} ${_chalk().default.yellow('no new or modified components (based on file changes only, use "bit status" for full check)')}`;
170
+ return {
171
+ data,
172
+ code: 0
173
+ };
174
+ }
125
175
  }
126
176
  exports.StatusCmd = StatusCmd;
127
177
 
@@ -1 +1 @@
1
- {"version":3,"names":["_statusFormatter","data","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","StatusCmd","constructor","status","json","_args","lanes","ignoreCircularDependencies","newComponents","modifiedComponents","stagedComponents","componentsWithIssues","importPendingComponents","autoTagPendingComponents","invalidComponents","locallySoftRemoved","remotelySoftRemoved","outdatedComponents","mergePendingComponents","componentsDuringMergeState","softTaggedComponents","snappedComponents","unavailableOnMain","pendingUpdatesFromMain","updatesFromForked","currentLaneId","forkedLaneId","workspaceIssues","localOnly","map","c","toStringWithoutVersion","id","versions","issues","toObjectIncludeDataAsString","s","error","p","divergeData","toString","report","strict","verbose","warnings","failOnError","statusResult","formatStatusOutput","exports"],"sources":["status-cmd.ts"],"sourcesContent":["import type { Command, CommandOptions } from '@teambit/cli';\nimport type { StatusMain, StatusResult } from './status.main.runtime';\nimport { formatStatusOutput } from './status-formatter';\n\ntype StatusFlags = {\n strict?: boolean;\n verbose?: boolean;\n lanes?: boolean;\n ignoreCircularDependencies?: boolean;\n warnings?: boolean;\n failOnError?: boolean;\n};\n\ntype StatusJsonResults = {\n newComponents: string[];\n modifiedComponents: string[];\n stagedComponents: Array<{ id: string; versions: string[] }>;\n unavailableOnMain: string[];\n componentsWithIssues: Array<{\n id: string;\n issues: Array<{\n type: string;\n description: string;\n data: any;\n }>;\n }>;\n importPendingComponents: string[];\n autoTagPendingComponents: string[];\n invalidComponents: Array<{ id: string; error: Error }>;\n locallySoftRemoved: string[];\n remotelySoftRemoved: string[];\n outdatedComponents: Array<{ id: string; headVersion: string; latestVersion?: string }>;\n mergePendingComponents: string[];\n componentsDuringMergeState: string[];\n softTaggedComponents: string[];\n snappedComponents: string[];\n localOnly: string[];\n pendingUpdatesFromMain: Array<{\n id: string;\n divergeData: any;\n }>;\n updatesFromForked: Array<{\n id: string;\n divergeData: any;\n }>;\n currentLaneId: string;\n forkedLaneId: string | undefined;\n workspaceIssues: string[];\n};\n\nexport class StatusCmd implements Command {\n name = 'status';\n description = 'show workspace component status and issues';\n group = 'info-analysis';\n extendedDescription = `displays the current state of all workspace components including new, modified, staged, and problematic components.\nidentifies blocking issues that prevent tagging/snapping and provides warnings with --warnings flag.\nessential for understanding workspace health before versioning components.`;\n alias = 's';\n options = [\n ['j', 'json', 'return a json version of the component'],\n ['w', 'warnings', 'show warnings. by default, only issues that block tag/snap are shown'],\n ['', 'verbose', 'show extra data: full snap hashes for staged components, and divergence point for lanes'],\n ['l', 'lanes', 'when on a lane, show updates from main and updates from forked lanes'],\n ['', 'strict', 'exit with code 1 if any issues are found (both errors and warnings)'],\n ['', 'fail-on-error', 'exit with code 1 only when tag/snap blocker issues are found (not warnings)'],\n ['c', 'ignore-circular-dependencies', 'do not check for circular dependencies to get the results quicker'],\n ] as CommandOptions;\n loader = true;\n\n constructor(private status: StatusMain) {}\n\n async json(_args, { lanes, ignoreCircularDependencies }: StatusFlags): Promise<StatusJsonResults> {\n const {\n newComponents,\n modifiedComponents,\n stagedComponents,\n componentsWithIssues,\n importPendingComponents,\n autoTagPendingComponents,\n invalidComponents,\n locallySoftRemoved,\n remotelySoftRemoved,\n outdatedComponents,\n mergePendingComponents,\n componentsDuringMergeState,\n softTaggedComponents,\n snappedComponents,\n unavailableOnMain,\n pendingUpdatesFromMain,\n updatesFromForked,\n currentLaneId,\n forkedLaneId,\n workspaceIssues,\n localOnly,\n }: StatusResult = await this.status.status({ lanes, ignoreCircularDependencies });\n return {\n newComponents: newComponents.map((c) => c.toStringWithoutVersion()),\n modifiedComponents: modifiedComponents.map((c) => c.toStringWithoutVersion()),\n stagedComponents: stagedComponents.map((c) => ({ id: c.id.toStringWithoutVersion(), versions: c.versions })),\n unavailableOnMain: unavailableOnMain.map((c) => c.toStringWithoutVersion()),\n componentsWithIssues: componentsWithIssues.map((c) => ({\n id: c.id.toStringWithoutVersion(),\n issues: c.issues?.toObjectIncludeDataAsString(),\n })),\n importPendingComponents: importPendingComponents.map((id) => id.toStringWithoutVersion()),\n autoTagPendingComponents: autoTagPendingComponents.map((s) => s.toStringWithoutVersion()),\n invalidComponents: invalidComponents.map(({ id, error }) => ({ id: id.toStringWithoutVersion(), error })),\n locallySoftRemoved: locallySoftRemoved.map((id) => id.toStringWithoutVersion()),\n remotelySoftRemoved: remotelySoftRemoved.map((id) => id.toStringWithoutVersion()),\n outdatedComponents: outdatedComponents.map((c) => ({ ...c, id: c.id.toStringWithoutVersion() })),\n mergePendingComponents: mergePendingComponents.map((c) => c.id.toStringWithoutVersion()),\n componentsDuringMergeState: componentsDuringMergeState.map((id) => id.toStringWithoutVersion()),\n softTaggedComponents: softTaggedComponents.map((s) => s.toStringWithoutVersion()),\n snappedComponents: snappedComponents.map((s) => s.toStringWithoutVersion()),\n localOnly: localOnly.map((id) => id.toStringWithoutVersion()),\n pendingUpdatesFromMain: pendingUpdatesFromMain.map((p) => ({\n id: p.id.toStringWithoutVersion(),\n divergeData: p.divergeData,\n })),\n updatesFromForked: updatesFromForked.map((p) => ({\n id: p.id.toStringWithoutVersion(),\n divergeData: p.divergeData,\n })),\n currentLaneId: currentLaneId.toString(),\n forkedLaneId: forkedLaneId?.toString(),\n workspaceIssues,\n };\n }\n\n async report(_args, { strict, verbose, lanes, ignoreCircularDependencies, warnings, failOnError }: StatusFlags) {\n const statusResult: StatusResult = await this.status.status({ lanes, ignoreCircularDependencies });\n return formatStatusOutput(statusResult, { strict, verbose, warnings, failOnError });\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_logger","_statusFormatter","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","StatusCmd","constructor","status","json","_args","lanes","ignoreCircularDependencies","quick","modified","newComps","statusMini","map","m","toStringWithoutVersion","newComponents","modifiedComponents","stagedComponents","componentsWithIssues","importPendingComponents","autoTagPendingComponents","invalidComponents","locallySoftRemoved","remotelySoftRemoved","outdatedComponents","mergePendingComponents","componentsDuringMergeState","softTaggedComponents","snappedComponents","unavailableOnMain","pendingUpdatesFromMain","updatesFromForked","currentLaneId","forkedLaneId","workspaceIssues","localOnly","c","id","versions","issues","toObjectIncludeDataAsString","s","error","p","divergeData","toString","report","strict","verbose","warnings","failOnError","reportQuick","statusResult","formatStatusOutput","formatCategory","title","ids","titleOutput","chalk","bold","white","idsStr","Logger","successSymbol","cyan","join","sections","Boolean","yellow","code","exports"],"sources":["status-cmd.ts"],"sourcesContent":["import type { Command, CommandOptions } from '@teambit/cli';\nimport type { ComponentID } from '@teambit/component-id';\nimport chalk from 'chalk';\nimport { Logger } from '@teambit/logger';\nimport type { StatusMain, StatusResult } from './status.main.runtime';\nimport { formatStatusOutput } from './status-formatter';\n\ntype StatusFlags = {\n strict?: boolean;\n verbose?: boolean;\n lanes?: boolean;\n ignoreCircularDependencies?: boolean;\n warnings?: boolean;\n failOnError?: boolean;\n quick?: boolean;\n};\n\ntype QuickStatusJsonResults = {\n modified: string[];\n newComponents: string[];\n};\n\ntype StatusJsonResults = {\n newComponents: string[];\n modifiedComponents: string[];\n stagedComponents: Array<{ id: string; versions: string[] }>;\n unavailableOnMain: string[];\n componentsWithIssues: Array<{\n id: string;\n issues: Array<{\n type: string;\n description: string;\n data: any;\n }>;\n }>;\n importPendingComponents: string[];\n autoTagPendingComponents: string[];\n invalidComponents: Array<{ id: string; error: Error }>;\n locallySoftRemoved: string[];\n remotelySoftRemoved: string[];\n outdatedComponents: Array<{ id: string; headVersion: string; latestVersion?: string }>;\n mergePendingComponents: string[];\n componentsDuringMergeState: string[];\n softTaggedComponents: string[];\n snappedComponents: string[];\n localOnly: string[];\n pendingUpdatesFromMain: Array<{\n id: string;\n divergeData: any;\n }>;\n updatesFromForked: Array<{\n id: string;\n divergeData: any;\n }>;\n currentLaneId: string;\n forkedLaneId: string | undefined;\n workspaceIssues: string[];\n};\n\nexport class StatusCmd implements Command {\n name = 'status';\n description = 'show workspace component status and issues';\n group = 'info-analysis';\n extendedDescription = `displays the current state of all workspace components including new, modified, staged, and problematic components.\nidentifies blocking issues that prevent tagging/snapping and provides warnings with --warnings flag.\nessential for understanding workspace health before versioning components.\nuse --quick for a faster check that only detects file-level changes (new/modified components).\nfor maximum speed (skips aspect loading entirely), use \"bit mini-status\".`;\n alias = 's';\n options = [\n ['j', 'json', 'return a json version of the component'],\n ['w', 'warnings', 'show warnings. by default, only issues that block tag/snap are shown'],\n ['', 'verbose', 'show extra data: full snap hashes for staged components, and divergence point for lanes'],\n ['l', 'lanes', 'when on a lane, show updates from main and updates from forked lanes'],\n ['', 'strict', 'exit with code 1 if any issues are found (both errors and warnings)'],\n ['', 'fail-on-error', 'exit with code 1 only when tag/snap blocker issues are found (not warnings)'],\n ['c', 'ignore-circular-dependencies', 'do not check for circular dependencies to get the results quicker'],\n [\n '',\n 'quick',\n 'show only new and modified components based on file changes. much faster, but does not detect dependency or config changes',\n ],\n ] as CommandOptions;\n loader = true;\n\n constructor(private status: StatusMain) {}\n\n async json(\n _args,\n { lanes, ignoreCircularDependencies, quick }: StatusFlags\n ): Promise<StatusJsonResults | QuickStatusJsonResults> {\n if (quick) {\n const { modified, newComps } = await this.status.statusMini();\n return {\n modified: modified.map((m) => m.toStringWithoutVersion()),\n newComponents: newComps.map((m) => m.toStringWithoutVersion()),\n };\n }\n const {\n newComponents,\n modifiedComponents,\n stagedComponents,\n componentsWithIssues,\n importPendingComponents,\n autoTagPendingComponents,\n invalidComponents,\n locallySoftRemoved,\n remotelySoftRemoved,\n outdatedComponents,\n mergePendingComponents,\n componentsDuringMergeState,\n softTaggedComponents,\n snappedComponents,\n unavailableOnMain,\n pendingUpdatesFromMain,\n updatesFromForked,\n currentLaneId,\n forkedLaneId,\n workspaceIssues,\n localOnly,\n }: StatusResult = await this.status.status({ lanes, ignoreCircularDependencies });\n return {\n newComponents: newComponents.map((c) => c.toStringWithoutVersion()),\n modifiedComponents: modifiedComponents.map((c) => c.toStringWithoutVersion()),\n stagedComponents: stagedComponents.map((c) => ({ id: c.id.toStringWithoutVersion(), versions: c.versions })),\n unavailableOnMain: unavailableOnMain.map((c) => c.toStringWithoutVersion()),\n componentsWithIssues: componentsWithIssues.map((c) => ({\n id: c.id.toStringWithoutVersion(),\n issues: c.issues?.toObjectIncludeDataAsString(),\n })),\n importPendingComponents: importPendingComponents.map((id) => id.toStringWithoutVersion()),\n autoTagPendingComponents: autoTagPendingComponents.map((s) => s.toStringWithoutVersion()),\n invalidComponents: invalidComponents.map(({ id, error }) => ({ id: id.toStringWithoutVersion(), error })),\n locallySoftRemoved: locallySoftRemoved.map((id) => id.toStringWithoutVersion()),\n remotelySoftRemoved: remotelySoftRemoved.map((id) => id.toStringWithoutVersion()),\n outdatedComponents: outdatedComponents.map((c) => ({ ...c, id: c.id.toStringWithoutVersion() })),\n mergePendingComponents: mergePendingComponents.map((c) => c.id.toStringWithoutVersion()),\n componentsDuringMergeState: componentsDuringMergeState.map((id) => id.toStringWithoutVersion()),\n softTaggedComponents: softTaggedComponents.map((s) => s.toStringWithoutVersion()),\n snappedComponents: snappedComponents.map((s) => s.toStringWithoutVersion()),\n localOnly: localOnly.map((id) => id.toStringWithoutVersion()),\n pendingUpdatesFromMain: pendingUpdatesFromMain.map((p) => ({\n id: p.id.toStringWithoutVersion(),\n divergeData: p.divergeData,\n })),\n updatesFromForked: updatesFromForked.map((p) => ({\n id: p.id.toStringWithoutVersion(),\n divergeData: p.divergeData,\n })),\n currentLaneId: currentLaneId.toString(),\n forkedLaneId: forkedLaneId?.toString(),\n workspaceIssues,\n };\n }\n\n async report(\n _args,\n { strict, verbose, lanes, ignoreCircularDependencies, warnings, failOnError, quick }: StatusFlags\n ) {\n if (quick) {\n return this.reportQuick();\n }\n const statusResult: StatusResult = await this.status.status({ lanes, ignoreCircularDependencies });\n return formatStatusOutput(statusResult, { strict, verbose, warnings, failOnError });\n }\n\n private async reportQuick() {\n const { modified, newComps } = await this.status.statusMini();\n const formatCategory = (title: string, ids: ComponentID[]) => {\n if (!ids.length) return '';\n const titleOutput = chalk.bold.white(`${title} (${ids.length})`);\n const idsStr = ids.map((id) => ` ${Logger.successSymbol()} ${chalk.cyan(id.toStringWithoutVersion())}`);\n return [titleOutput, ...idsStr].join('\\n');\n };\n const sections = [\n formatCategory('modified components (files only)', modified),\n formatCategory('new components', newComps),\n ]\n .filter(Boolean)\n .join('\\n\\n');\n const data =\n sections ||\n `${Logger.successSymbol()} ${chalk.yellow('no new or modified components (based on file changes only, use \"bit status\" for full check)')}`;\n\n return { data, code: 0 };\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -26,6 +26,13 @@ function _logger() {
26
26
  };
27
27
  return data;
28
28
  }
29
+ function _cli() {
30
+ const data = require("@teambit/cli");
31
+ _cli = function () {
32
+ return data;
33
+ };
34
+ return data;
35
+ }
29
36
  function _lodash() {
30
37
  const data = require("lodash");
31
38
  _lodash = function () {
@@ -113,12 +120,6 @@ function formatStatusOutput(statusResult, options = {}) {
113
120
  const statusTextWithSoftTag = isSoftTagged && showSoftTagMsg ? `${statusText} (soft-tagged)` : statusText;
114
121
  return `${idFormatted} ... ${_chalk().default[statusColor](statusTextWithSoftTag)}`;
115
122
  }
116
- function formatCategory(title, description, compsOutput) {
117
- if (!compsOutput.length) return '';
118
- const titleOutput = _chalk().default.bold.white(`${title} (${compsOutput.length})`);
119
- const descOutput = description ? `${_chalk().default.dim(description)}\n` : '';
120
- return [titleOutput, descOutput, ...compsOutput].join('\n');
121
- }
122
123
  const importPendingWarning = importPendingComponents.length ? _chalk().default.yellow(`${_legacy().IMPORT_PENDING_MSG}.\n`) : '';
123
124
  const newCompFormatted = newComponents.map(c => format(c));
124
125
  const {
@@ -133,49 +134,49 @@ function formatStatusOutput(statusResult, options = {}) {
133
134
  const latest = component.latestVersion && component.latestVersion !== component.headVersion ? ` latest: ${component.latestVersion}` : '';
134
135
  return ` ${_chalk().default.yellow('⚠')} ${_chalk().default.cyan(component.id.toStringWithoutVersion())} current: ${component.id.version} head: ${component.headVersion}${latest}`;
135
136
  });
136
- const outdatedStr = formatCategory(outdatedTitle, outdatedDesc, outdatedComps);
137
+ const outdatedStr = (0, _cli().formatSection)(outdatedTitle, outdatedDesc, outdatedComps);
137
138
  const pendingMergeTitle = 'pending merge';
138
139
  const pendingMergeDesc = `(use "bit reset" to discard local tags/snaps, and bit checkout head to re-merge with the remote.
139
140
  alternatively, to keep local tags/snaps history, use "bit merge [component-id]")`;
140
141
  const pendingMergeComps = mergePendingComponents.map(component => {
141
142
  return ` ${_chalk().default.yellow('⚠')} ${_chalk().default.cyan(component.id.toString())} local and remote have diverged and have ${component.divergeData.snapsOnSourceOnly.length} (source) and ${component.divergeData.snapsOnTargetOnly.length} (target) uncommon snaps respectively`;
142
143
  });
143
- const pendingMergeStr = formatCategory(pendingMergeTitle, pendingMergeDesc, pendingMergeComps);
144
+ const pendingMergeStr = (0, _cli().formatSection)(pendingMergeTitle, pendingMergeDesc, pendingMergeComps);
144
145
  const compDuringMergeTitle = 'components in merge state';
145
146
  const compDuringMergeDesc = `(use "bit snap/tag [--unmerged]" to complete the merge process.
146
147
  to cancel the merge operation, use either "bit lane merge-abort" (for prior "bit lane merge" command)
147
148
  or use "bit merge [component-id] --abort" (for prior "bit merge" command)`;
148
149
  const compDuringMergeComps = componentsDuringMergeState.map(c => format(c));
149
- const compDuringMergeStr = formatCategory(compDuringMergeTitle, compDuringMergeDesc, compDuringMergeComps);
150
+ const compDuringMergeStr = (0, _cli().formatSection)(compDuringMergeTitle, compDuringMergeDesc, compDuringMergeComps);
150
151
  const newComponentDescription = '(use "bit snap/tag" to lock a version with all your changes)';
151
- const newComponentsOutput = formatCategory('new components', newComponentDescription, [...(nonMissing || []), ...(missing || [])]);
152
+ const newComponentsOutput = (0, _cli().formatSection)('new components', newComponentDescription, [...(nonMissing || []), ...(missing || [])]);
152
153
  const modifiedDesc = '(use "bit diff" to compare changes)';
153
- const modifiedComponentOutput = formatCategory('modified components', modifiedDesc, modifiedComponents.map(c => format(c)));
154
+ const modifiedComponentOutput = (0, _cli().formatSection)('modified components', modifiedDesc, modifiedComponents.map(c => format(c)));
154
155
  const autoTagPendingTitle = 'components pending auto-tag (when their modified dependencies are tagged)';
155
- const autoTagPendingOutput = formatCategory(autoTagPendingTitle, '', autoTagPendingComponents.map(c => format(c)));
156
+ const autoTagPendingOutput = (0, _cli().formatSection)(autoTagPendingTitle, '', autoTagPendingComponents.map(c => format(c)));
156
157
  const componentsWithIssuesToPrint = componentsWithIssues.filter(c => c.issues.hasTagBlockerIssues() || warnings);
157
158
  const compWithIssuesDesc = '(fix the issues according to the suggested solution)';
158
- const compWithIssuesOutput = formatCategory('components with issues', compWithIssuesDesc, componentsWithIssuesToPrint.map(c => format(c.id, true)).sort());
159
+ const compWithIssuesOutput = (0, _cli().formatSection)('components with issues', compWithIssuesDesc, componentsWithIssuesToPrint.map(c => format(c.id, true)).sort());
159
160
  const invalidDesc = 'these components failed to load';
160
161
  const invalidComps = invalidComponents.map(c => format(c.id, false, getInvalidComponentLabel(c.error))).sort();
161
- const invalidComponentOutput = formatCategory(_legacy().statusInvalidComponentsMsg, invalidDesc, invalidComps);
162
+ const invalidComponentOutput = (0, _cli().formatSection)(_legacy().statusInvalidComponentsMsg, invalidDesc, invalidComps);
162
163
  const locallySoftRemovedDesc = '(tag/snap and export the components to update the deletion to the remote. to undo deletion, run "bit recover")';
163
- const locallySoftRemovedOutput = formatCategory('soft-removed components locally', locallySoftRemovedDesc, locallySoftRemoved.map(c => format(c)).sort());
164
+ const locallySoftRemovedOutput = (0, _cli().formatSection)('soft-removed components locally', locallySoftRemovedDesc, locallySoftRemoved.map(c => format(c)).sort());
164
165
  const remotelySoftRemovedDesc = '(use "bit remove" to remove them from the workspace. use "bit recover" to undo the deletion)';
165
- const remotelySoftRemovedOutput = formatCategory('components deleted on the remote', remotelySoftRemovedDesc, remotelySoftRemoved.map(c => format(c)).sort());
166
+ const remotelySoftRemovedOutput = (0, _cli().formatSection)('components deleted on the remote', remotelySoftRemovedDesc, remotelySoftRemoved.map(c => format(c)).sort());
166
167
  const stagedDesc = '(use "bit export" to push these component versions to the remote scope)';
167
168
  const stagedComps = stagedComponents.map(c => format(c.id, false, undefined, c.versions));
168
- const stagedComponentsOutput = formatCategory('staged components', stagedDesc, stagedComps);
169
+ const stagedComponentsOutput = (0, _cli().formatSection)('staged components', stagedDesc, stagedComps);
169
170
  const localOnlyDesc = '(these components are excluded from tag/snap/export commands)';
170
171
  const localOnlyComps = localOnly.map(c => format(c)).sort();
171
- const localOnlyComponentsOutput = formatCategory('local-only components', localOnlyDesc, localOnlyComps);
172
+ const localOnlyComponentsOutput = (0, _cli().formatSection)('local-only components', localOnlyDesc, localOnlyComps);
172
173
  const softTaggedDesc = '(use "bit tag --persist" to complete the tag)';
173
174
  const softTaggedComps = softTaggedComponents.map(id => format(id, false, undefined, undefined, false));
174
- const softTaggedComponentsOutput = formatCategory('soft-tagged components', softTaggedDesc, softTaggedComps);
175
+ const softTaggedComponentsOutput = (0, _cli().formatSection)('soft-tagged components', softTaggedDesc, softTaggedComps);
175
176
  const snappedDesc = '(use "bit tag" or "bit tag --snapped" to lock a semver version)';
176
- const snappedComponentsOutput = formatCategory('snapped components (tag pending)', snappedDesc, snappedComponents.map(c => format(c)));
177
+ const snappedComponentsOutput = (0, _cli().formatSection)('snapped components (tag pending)', snappedDesc, snappedComponents.map(c => format(c)));
177
178
  const unavailableOnMainDesc = '(use "bit checkout head" to make them available)';
178
- const unavailableOnMainOutput = formatCategory('components unavailable on main', unavailableOnMainDesc, unavailableOnMain.map(c => format(c)));
179
+ const unavailableOnMainOutput = (0, _cli().formatSection)('components unavailable on main', unavailableOnMainDesc, unavailableOnMain.map(c => format(c)));
179
180
  const getUpdateFromMsg = (divergeData, from = 'main') => {
180
181
  if (divergeData.err) return divergeData.err.message;
181
182
  let msg = `${from} is ahead by ${divergeData.snapsOnTargetOnly.length || 0} snaps`;
@@ -186,13 +187,13 @@ or use "bit merge [component-id] --abort" (for prior "bit merge" command)`;
186
187
  };
187
188
  const updatesFromMainDesc = '(use "bit lane merge main" to merge the changes)';
188
189
  const pendingUpdatesFromMainIds = pendingUpdatesFromMain.map(c => format(c.id, false, getUpdateFromMsg(c.divergeData)));
189
- const updatesFromMainOutput = formatCategory('pending updates from main', updatesFromMainDesc, pendingUpdatesFromMainIds);
190
+ const updatesFromMainOutput = (0, _cli().formatSection)('pending updates from main', updatesFromMainDesc, pendingUpdatesFromMainIds);
190
191
  let updatesFromForkedOutput = '';
191
192
  if (forkedLaneId) {
192
193
  const updatesFromForkedDesc = `(use "bit lane merge ${forkedLaneId.toString()}" to merge the changes
193
194
  use "bit fetch ${forkedLaneId.toString()} --lanes" to update ${forkedLaneId.name} locally)`;
194
195
  const pendingUpdatesFromForkedIds = updatesFromForked.map(c => format(c.id, false, getUpdateFromMsg(c.divergeData, forkedLaneId.name)));
195
- updatesFromForkedOutput = formatCategory(`updates from ${forkedLaneId.name}`, updatesFromForkedDesc, pendingUpdatesFromForkedIds);
196
+ updatesFromForkedOutput = (0, _cli().formatSection)(`updates from ${forkedLaneId.name}`, updatesFromForkedDesc, pendingUpdatesFromForkedIds);
196
197
  }
197
198
  const getLaneStr = () => {
198
199
  if (currentLaneId.isDefault()) return '';
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_legacy","_logger","_lodash","_componentVersion","e","__esModule","default","TROUBLESHOOTING_MESSAGE","chalk","yellow","BASE_DOCS_DOMAIN","formatStatusOutput","statusResult","options","strict","verbose","warnings","failOnError","newComponents","modifiedComponents","stagedComponents","componentsWithIssues","importPendingComponents","autoTagPendingComponents","invalidComponents","locallySoftRemoved","remotelySoftRemoved","outdatedComponents","mergePendingComponents","componentsDuringMergeState","softTaggedComponents","snappedComponents","pendingUpdatesFromMain","localOnly","updatesFromForked","unavailableOnMain","currentLaneId","forkedLaneId","workspaceIssues","showTroubleshootingLink","format","id","showIssues","message","localVersions","showSoftTagMsg","idWithIssues","find","c","isEqual","isSoftTagged","Boolean","softTaggedId","hasTagBlocker","issues","hasTagBlockerIssues","isClean","getSymbol","red","Logger","successSymbol","idFormatted","cyan","toStringWithoutVersion","join","snaps","tags","partition","version","isHash","tagsStr","length","snapsStr","issuesTxt","statusFailureMsg","statusWarningsMsg","issuesColor","formatIssues","softTagSuffix","green","statusText","statusColor","statusTextWithSoftTag","formatCategory","title","description","compsOutput","titleOutput","bold","white","descOutput","dim","importPendingWarning","IMPORT_PENDING_MSG","newCompFormatted","map","missing","nonMissing","groupBy","component","includes","outdatedTitle","outdatedDesc","outdatedComps","latest","latestVersion","headVersion","outdatedStr","pendingMergeTitle","pendingMergeDesc","pendingMergeComps","toString","divergeData","snapsOnSourceOnly","snapsOnTargetOnly","pendingMergeStr","compDuringMergeTitle","compDuringMergeDesc","compDuringMergeComps","compDuringMergeStr","newComponentDescription","newComponentsOutput","modifiedDesc","modifiedComponentOutput","autoTagPendingTitle","autoTagPendingOutput","componentsWithIssuesToPrint","filter","compWithIssuesDesc","compWithIssuesOutput","sort","invalidDesc","invalidComps","getInvalidComponentLabel","error","invalidComponentOutput","statusInvalidComponentsMsg","locallySoftRemovedDesc","locallySoftRemovedOutput","remotelySoftRemovedDesc","remotelySoftRemovedOutput","stagedDesc","stagedComps","undefined","versions","stagedComponentsOutput","localOnlyDesc","localOnlyComps","localOnlyComponentsOutput","softTaggedDesc","softTaggedComps","softTaggedComponentsOutput","snappedDesc","snappedComponentsOutput","unavailableOnMainDesc","unavailableOnMainOutput","getUpdateFromMsg","from","err","msg","commonSnapBeforeDiverge","toShortString","updatesFromMainDesc","pendingUpdatesFromMainIds","updatesFromMainOutput","updatesFromForkedOutput","updatesFromForkedDesc","name","pendingUpdatesFromForkedIds","getLaneStr","isDefault","prefix","getWorkspaceIssuesOutput","troubleshootingStr","wereWarningsFilteredOut","showWarningsStr","statusMsg","compact","results","statusWorkspaceIsCleanMsg","exitCode","some","code","outputForCLI","path"],"sources":["status-formatter.ts"],"sourcesContent":["import chalk from 'chalk';\nimport type { ComponentID } from '@teambit/component-id';\nimport type { SnapsDistance } from '@teambit/component.snap-distance';\nimport type { IssuesList } from '@teambit/component-issues';\nimport {\n IMPORT_PENDING_MSG,\n statusFailureMsg,\n statusWarningsMsg,\n statusInvalidComponentsMsg,\n statusWorkspaceIsCleanMsg,\n BASE_DOCS_DOMAIN,\n} from '@teambit/legacy.constants';\nimport { Logger } from '@teambit/logger';\nimport { compact, groupBy, partition } from 'lodash';\nimport { isHash } from '@teambit/component-version';\nimport type { StatusResult } from './status.main.runtime';\n\nconst TROUBLESHOOTING_MESSAGE = chalk.yellow(\n `learn more about Bit components: ${BASE_DOCS_DOMAIN}reference/components/component-anatomy`\n);\n\nexport type StatusFormatterOptions = {\n strict?: boolean;\n verbose?: boolean;\n warnings?: boolean;\n failOnError?: boolean;\n};\n\nexport function formatStatusOutput(\n statusResult: StatusResult,\n options: StatusFormatterOptions = {}\n): { data: string; code: number } {\n const { strict = false, verbose = false, warnings = false, failOnError = false } = options;\n\n const {\n newComponents,\n modifiedComponents,\n stagedComponents,\n componentsWithIssues,\n importPendingComponents,\n autoTagPendingComponents,\n invalidComponents,\n locallySoftRemoved,\n remotelySoftRemoved,\n outdatedComponents,\n mergePendingComponents,\n componentsDuringMergeState,\n softTaggedComponents,\n snappedComponents,\n pendingUpdatesFromMain,\n localOnly,\n updatesFromForked,\n unavailableOnMain,\n currentLaneId,\n forkedLaneId,\n workspaceIssues,\n } = statusResult;\n\n // If there is problem with at least one component we want to show a link to the\n // troubleshooting doc\n let showTroubleshootingLink = false;\n\n function format(\n id: ComponentID,\n showIssues = false,\n message?: string,\n localVersions?: string[],\n showSoftTagMsg = true\n ): string {\n const idWithIssues = componentsWithIssues.find((c) => c.id.isEqual(id));\n const isSoftTagged = Boolean(softTaggedComponents.find((softTaggedId) => softTaggedId.isEqual(id)));\n const hasTagBlocker = idWithIssues?.issues.hasTagBlockerIssues();\n const isClean = !message && !idWithIssues;\n\n const getSymbol = () => {\n if (message) return chalk.yellow('⚠');\n if (idWithIssues) return hasTagBlocker ? chalk.red('✖') : chalk.yellow('⚠');\n return Logger.successSymbol();\n };\n\n let idFormatted = ` ${getSymbol()} ` + chalk.cyan(id.toStringWithoutVersion());\n\n if (localVersions) {\n if (verbose) {\n idFormatted += ` - versions: ${localVersions.join(', ')}`;\n } else {\n const [snaps, tags] = partition(localVersions, (version) => isHash(version));\n const tagsStr = tags.length ? `versions: ${tags.join(', ')}` : '';\n const snapsStr = snaps.length ? `${snaps.length} snap(s)` : '';\n idFormatted += ' - ';\n idFormatted += tagsStr && snapsStr ? `${tagsStr}, ${snapsStr}` : tagsStr || snapsStr;\n }\n }\n\n if (showIssues && idWithIssues) {\n showTroubleshootingLink = true;\n const issuesTxt = hasTagBlocker ? statusFailureMsg : statusWarningsMsg;\n const issuesColor = hasTagBlocker ? 'red' : 'yellow';\n return `${idFormatted} ... ${chalk[issuesColor](issuesTxt)}${formatIssues(idWithIssues.issues)}`;\n }\n\n if (isClean) {\n const softTagSuffix = isSoftTagged && showSoftTagMsg ? chalk.green(' (soft-tagged)') : '';\n return `${idFormatted}${softTagSuffix}`;\n }\n\n const statusText = message || (hasTagBlocker ? statusFailureMsg : statusWarningsMsg);\n const statusColor: 'yellow' | 'red' = message ? 'yellow' : hasTagBlocker ? 'red' : 'yellow';\n const statusTextWithSoftTag = isSoftTagged && showSoftTagMsg ? `${statusText} (soft-tagged)` : statusText;\n return `${idFormatted} ... ${chalk[statusColor](statusTextWithSoftTag)}`;\n }\n\n function formatCategory(title: string, description: string, compsOutput: string[]) {\n if (!compsOutput.length) return '';\n const titleOutput = chalk.bold.white(`${title} (${compsOutput.length})`);\n const descOutput = description ? `${chalk.dim(description)}\\n` : '';\n return [titleOutput, descOutput, ...compsOutput].join('\\n');\n }\n\n const importPendingWarning = importPendingComponents.length ? chalk.yellow(`${IMPORT_PENDING_MSG}.\\n`) : '';\n\n const newCompFormatted = newComponents.map((c) => format(c));\n const { missing, nonMissing } = groupBy(newCompFormatted, (component) => {\n return component.includes(statusFailureMsg) ? 'missing' : 'nonMissing';\n });\n\n const outdatedTitle = 'pending updates';\n const outdatedDesc =\n '(use \"bit checkout head\" to merge changes)\\n(use \"bit diff [component_id] [new_version]\" to compare changes)\\n(use \"bit log [component_id]\" to list all available versions)';\n const outdatedComps = outdatedComponents.map((component) => {\n const latest =\n component.latestVersion && component.latestVersion !== component.headVersion\n ? ` latest: ${component.latestVersion}`\n : '';\n return ` ${chalk.yellow('⚠')} ${chalk.cyan(component.id.toStringWithoutVersion())} current: ${component.id.version} head: ${\n component.headVersion\n }${latest}`;\n });\n const outdatedStr = formatCategory(outdatedTitle, outdatedDesc, outdatedComps);\n\n const pendingMergeTitle = 'pending merge';\n const pendingMergeDesc = `(use \"bit reset\" to discard local tags/snaps, and bit checkout head to re-merge with the remote.\nalternatively, to keep local tags/snaps history, use \"bit merge [component-id]\")`;\n const pendingMergeComps = mergePendingComponents.map((component) => {\n return ` ${chalk.yellow('⚠')} ${chalk.cyan(component.id.toString())} local and remote have diverged and have ${\n component.divergeData.snapsOnSourceOnly.length\n } (source) and ${component.divergeData.snapsOnTargetOnly.length} (target) uncommon snaps respectively`;\n });\n\n const pendingMergeStr = formatCategory(pendingMergeTitle, pendingMergeDesc, pendingMergeComps);\n\n const compDuringMergeTitle = 'components in merge state';\n const compDuringMergeDesc = `(use \"bit snap/tag [--unmerged]\" to complete the merge process.\nto cancel the merge operation, use either \"bit lane merge-abort\" (for prior \"bit lane merge\" command)\nor use \"bit merge [component-id] --abort\" (for prior \"bit merge\" command)`;\n const compDuringMergeComps = componentsDuringMergeState.map((c) => format(c));\n\n const compDuringMergeStr = formatCategory(compDuringMergeTitle, compDuringMergeDesc, compDuringMergeComps);\n\n const newComponentDescription = '(use \"bit snap/tag\" to lock a version with all your changes)';\n const newComponentsOutput = formatCategory('new components', newComponentDescription, [\n ...(nonMissing || []),\n ...(missing || []),\n ]);\n\n const modifiedDesc = '(use \"bit diff\" to compare changes)';\n const modifiedComponentOutput = formatCategory(\n 'modified components',\n modifiedDesc,\n modifiedComponents.map((c) => format(c))\n );\n\n const autoTagPendingTitle = 'components pending auto-tag (when their modified dependencies are tagged)';\n const autoTagPendingOutput = formatCategory(\n autoTagPendingTitle,\n '',\n autoTagPendingComponents.map((c) => format(c))\n );\n\n const componentsWithIssuesToPrint = componentsWithIssues.filter((c) => c.issues.hasTagBlockerIssues() || warnings);\n const compWithIssuesDesc = '(fix the issues according to the suggested solution)';\n const compWithIssuesOutput = formatCategory(\n 'components with issues',\n compWithIssuesDesc,\n componentsWithIssuesToPrint.map((c) => format(c.id, true)).sort()\n );\n\n const invalidDesc = 'these components failed to load';\n const invalidComps = invalidComponents.map((c) => format(c.id, false, getInvalidComponentLabel(c.error))).sort();\n const invalidComponentOutput = formatCategory(statusInvalidComponentsMsg, invalidDesc, invalidComps);\n\n const locallySoftRemovedDesc =\n '(tag/snap and export the components to update the deletion to the remote. to undo deletion, run \"bit recover\")';\n const locallySoftRemovedOutput = formatCategory(\n 'soft-removed components locally',\n locallySoftRemovedDesc,\n locallySoftRemoved.map((c) => format(c)).sort()\n );\n\n const remotelySoftRemovedDesc =\n '(use \"bit remove\" to remove them from the workspace. use \"bit recover\" to undo the deletion)';\n const remotelySoftRemovedOutput = formatCategory(\n 'components deleted on the remote',\n remotelySoftRemovedDesc,\n remotelySoftRemoved.map((c) => format(c)).sort()\n );\n\n const stagedDesc = '(use \"bit export\" to push these component versions to the remote scope)';\n const stagedComps = stagedComponents.map((c) => format(c.id, false, undefined, c.versions));\n const stagedComponentsOutput = formatCategory('staged components', stagedDesc, stagedComps);\n\n const localOnlyDesc = '(these components are excluded from tag/snap/export commands)';\n const localOnlyComps = localOnly.map((c) => format(c)).sort();\n const localOnlyComponentsOutput = formatCategory('local-only components', localOnlyDesc, localOnlyComps);\n\n const softTaggedDesc = '(use \"bit tag --persist\" to complete the tag)';\n const softTaggedComps = softTaggedComponents.map((id) => format(id, false, undefined, undefined, false));\n const softTaggedComponentsOutput = formatCategory('soft-tagged components', softTaggedDesc, softTaggedComps);\n\n const snappedDesc = '(use \"bit tag\" or \"bit tag --snapped\" to lock a semver version)';\n const snappedComponentsOutput = formatCategory(\n 'snapped components (tag pending)',\n snappedDesc,\n snappedComponents.map((c) => format(c))\n );\n\n const unavailableOnMainDesc = '(use \"bit checkout head\" to make them available)';\n const unavailableOnMainOutput = formatCategory(\n 'components unavailable on main',\n unavailableOnMainDesc,\n unavailableOnMain.map((c) => format(c))\n );\n\n const getUpdateFromMsg = (divergeData: SnapsDistance, from = 'main'): string => {\n if (divergeData.err) return divergeData.err.message;\n let msg = `${from} is ahead by ${divergeData.snapsOnTargetOnly.length || 0} snaps`;\n if (divergeData.snapsOnSourceOnly && verbose) {\n msg += ` (diverged since ${divergeData.commonSnapBeforeDiverge?.toShortString()})`;\n }\n return msg;\n };\n\n const updatesFromMainDesc = '(use \"bit lane merge main\" to merge the changes)';\n const pendingUpdatesFromMainIds = pendingUpdatesFromMain.map((c) =>\n format(c.id, false, getUpdateFromMsg(c.divergeData))\n );\n const updatesFromMainOutput = formatCategory(\n 'pending updates from main',\n updatesFromMainDesc,\n pendingUpdatesFromMainIds\n );\n\n let updatesFromForkedOutput = '';\n if (forkedLaneId) {\n const updatesFromForkedDesc = `(use \"bit lane merge ${forkedLaneId.toString()}\" to merge the changes\nuse \"bit fetch ${forkedLaneId.toString()} --lanes\" to update ${forkedLaneId.name} locally)`;\n const pendingUpdatesFromForkedIds = updatesFromForked.map((c) =>\n format(c.id, false, getUpdateFromMsg(c.divergeData, forkedLaneId.name))\n );\n updatesFromForkedOutput = formatCategory(\n `updates from ${forkedLaneId.name}`,\n updatesFromForkedDesc,\n pendingUpdatesFromForkedIds\n );\n }\n\n const getLaneStr = () => {\n if (currentLaneId.isDefault()) return '';\n const prefix = `\\n\\ncurrent lane ${chalk.bold(currentLaneId.toString())}`;\n return prefix;\n };\n\n const getWorkspaceIssuesOutput = () => {\n if (!workspaceIssues.length) return '';\n const title = chalk.bold.white('workspace issues');\n const issues = workspaceIssues.join('\\n');\n return `\\n\\n${title}\\n${issues}`;\n };\n\n const troubleshootingStr = showTroubleshootingLink ? `\\n${TROUBLESHOOTING_MESSAGE}` : '';\n const wereWarningsFilteredOut = componentsWithIssuesToPrint.length < componentsWithIssues.length;\n const showWarningsStr = wereWarningsFilteredOut\n ? `\\n${chalk.yellow('to view the warnings, use --warnings flag.')}`\n : '';\n\n const statusMsg =\n importPendingWarning +\n compact([\n outdatedStr,\n pendingMergeStr,\n updatesFromMainOutput,\n updatesFromForkedOutput,\n compDuringMergeStr,\n localOnlyComponentsOutput,\n newComponentsOutput,\n modifiedComponentOutput,\n snappedComponentsOutput,\n stagedComponentsOutput,\n softTaggedComponentsOutput,\n unavailableOnMainOutput,\n autoTagPendingOutput,\n compWithIssuesOutput,\n invalidComponentOutput,\n locallySoftRemovedOutput,\n remotelySoftRemovedOutput,\n ]).join('\\n\\n') +\n showWarningsStr +\n troubleshootingStr;\n\n const results =\n (statusMsg || `${Logger.successSymbol()} ${chalk.yellow(statusWorkspaceIsCleanMsg)}`) +\n getWorkspaceIssuesOutput() +\n getLaneStr();\n\n // Determine exit code based on flags\n let exitCode = 0;\n if (strict && componentsWithIssues.length > 0) {\n // Strict mode: fail on any issues (both errors and warnings)\n exitCode = 1;\n } else if (failOnError) {\n // Fail only on tag blocker issues (errors), not warnings\n const hasTagBlockerIssues = componentsWithIssues.some((c) => c.issues.hasTagBlockerIssues());\n if (hasTagBlockerIssues) {\n exitCode = 1;\n }\n }\n\n return {\n data: results,\n code: exitCode,\n };\n}\n\nexport function formatIssues(issues: IssuesList) {\n return ` ${issues?.outputForCLI()}\\n`;\n}\n\nfunction getInvalidComponentLabel(error: Error) {\n switch (error.name) {\n case 'MainFileRemoved':\n return 'main-file was removed (use \"bit add\" with \"--main\" and \"--id\" flags to add a main file)';\n case 'ComponentNotFoundInPath':\n return 'component files were deleted (use \"bit remove [component_id]\") or moved (use \"bit move <old-dir> <new-dir>\"). to restore use \"bit checkout reset [component_id]\"';\n case 'ExtensionFileNotFound':\n // @ts-ignore error.path is set for ExtensionFileNotFound\n return `extension file is missing at ${chalk.bold(error.path)}`;\n case 'ComponentsPendingImport':\n return 'component objects are missing from the scope (use \"bit import [component_id] --objects\" to get them back)';\n case 'NoComponentDir':\n return `component files were added individually without root directory (invalid on Harmony. re-add as a directory or use \"bit move --component\" to help with the move)`;\n case 'IgnoredDirectory':\n return `component files or directory were ignored (probably by .gitignore)`;\n case 'NoCommonSnap':\n return `component history is unrelated to main (merge main with --resolve-unrelated flag)`;\n default:\n return error.name;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_legacy","_logger","_cli","_lodash","_componentVersion","e","__esModule","default","TROUBLESHOOTING_MESSAGE","chalk","yellow","BASE_DOCS_DOMAIN","formatStatusOutput","statusResult","options","strict","verbose","warnings","failOnError","newComponents","modifiedComponents","stagedComponents","componentsWithIssues","importPendingComponents","autoTagPendingComponents","invalidComponents","locallySoftRemoved","remotelySoftRemoved","outdatedComponents","mergePendingComponents","componentsDuringMergeState","softTaggedComponents","snappedComponents","pendingUpdatesFromMain","localOnly","updatesFromForked","unavailableOnMain","currentLaneId","forkedLaneId","workspaceIssues","showTroubleshootingLink","format","id","showIssues","message","localVersions","showSoftTagMsg","idWithIssues","find","c","isEqual","isSoftTagged","Boolean","softTaggedId","hasTagBlocker","issues","hasTagBlockerIssues","isClean","getSymbol","red","Logger","successSymbol","idFormatted","cyan","toStringWithoutVersion","join","snaps","tags","partition","version","isHash","tagsStr","length","snapsStr","issuesTxt","statusFailureMsg","statusWarningsMsg","issuesColor","formatIssues","softTagSuffix","green","statusText","statusColor","statusTextWithSoftTag","importPendingWarning","IMPORT_PENDING_MSG","newCompFormatted","map","missing","nonMissing","groupBy","component","includes","outdatedTitle","outdatedDesc","outdatedComps","latest","latestVersion","headVersion","outdatedStr","formatSection","pendingMergeTitle","pendingMergeDesc","pendingMergeComps","toString","divergeData","snapsOnSourceOnly","snapsOnTargetOnly","pendingMergeStr","compDuringMergeTitle","compDuringMergeDesc","compDuringMergeComps","compDuringMergeStr","newComponentDescription","newComponentsOutput","modifiedDesc","modifiedComponentOutput","autoTagPendingTitle","autoTagPendingOutput","componentsWithIssuesToPrint","filter","compWithIssuesDesc","compWithIssuesOutput","sort","invalidDesc","invalidComps","getInvalidComponentLabel","error","invalidComponentOutput","statusInvalidComponentsMsg","locallySoftRemovedDesc","locallySoftRemovedOutput","remotelySoftRemovedDesc","remotelySoftRemovedOutput","stagedDesc","stagedComps","undefined","versions","stagedComponentsOutput","localOnlyDesc","localOnlyComps","localOnlyComponentsOutput","softTaggedDesc","softTaggedComps","softTaggedComponentsOutput","snappedDesc","snappedComponentsOutput","unavailableOnMainDesc","unavailableOnMainOutput","getUpdateFromMsg","from","err","msg","commonSnapBeforeDiverge","toShortString","updatesFromMainDesc","pendingUpdatesFromMainIds","updatesFromMainOutput","updatesFromForkedOutput","updatesFromForkedDesc","name","pendingUpdatesFromForkedIds","getLaneStr","isDefault","prefix","bold","getWorkspaceIssuesOutput","title","white","troubleshootingStr","wereWarningsFilteredOut","showWarningsStr","statusMsg","compact","results","statusWorkspaceIsCleanMsg","exitCode","some","code","outputForCLI","path"],"sources":["status-formatter.ts"],"sourcesContent":["import chalk from 'chalk';\nimport type { ComponentID } from '@teambit/component-id';\nimport type { SnapsDistance } from '@teambit/component.snap-distance';\nimport type { IssuesList } from '@teambit/component-issues';\nimport {\n IMPORT_PENDING_MSG,\n statusFailureMsg,\n statusWarningsMsg,\n statusInvalidComponentsMsg,\n statusWorkspaceIsCleanMsg,\n BASE_DOCS_DOMAIN,\n} from '@teambit/legacy.constants';\nimport { Logger } from '@teambit/logger';\nimport { formatSection } from '@teambit/cli';\nimport { compact, groupBy, partition } from 'lodash';\nimport { isHash } from '@teambit/component-version';\nimport type { StatusResult } from './status.main.runtime';\n\nconst TROUBLESHOOTING_MESSAGE = chalk.yellow(\n `learn more about Bit components: ${BASE_DOCS_DOMAIN}reference/components/component-anatomy`\n);\n\nexport type StatusFormatterOptions = {\n strict?: boolean;\n verbose?: boolean;\n warnings?: boolean;\n failOnError?: boolean;\n};\n\nexport function formatStatusOutput(\n statusResult: StatusResult,\n options: StatusFormatterOptions = {}\n): { data: string; code: number } {\n const { strict = false, verbose = false, warnings = false, failOnError = false } = options;\n\n const {\n newComponents,\n modifiedComponents,\n stagedComponents,\n componentsWithIssues,\n importPendingComponents,\n autoTagPendingComponents,\n invalidComponents,\n locallySoftRemoved,\n remotelySoftRemoved,\n outdatedComponents,\n mergePendingComponents,\n componentsDuringMergeState,\n softTaggedComponents,\n snappedComponents,\n pendingUpdatesFromMain,\n localOnly,\n updatesFromForked,\n unavailableOnMain,\n currentLaneId,\n forkedLaneId,\n workspaceIssues,\n } = statusResult;\n\n // If there is problem with at least one component we want to show a link to the\n // troubleshooting doc\n let showTroubleshootingLink = false;\n\n function format(\n id: ComponentID,\n showIssues = false,\n message?: string,\n localVersions?: string[],\n showSoftTagMsg = true\n ): string {\n const idWithIssues = componentsWithIssues.find((c) => c.id.isEqual(id));\n const isSoftTagged = Boolean(softTaggedComponents.find((softTaggedId) => softTaggedId.isEqual(id)));\n const hasTagBlocker = idWithIssues?.issues.hasTagBlockerIssues();\n const isClean = !message && !idWithIssues;\n\n const getSymbol = () => {\n if (message) return chalk.yellow('⚠');\n if (idWithIssues) return hasTagBlocker ? chalk.red('✖') : chalk.yellow('⚠');\n return Logger.successSymbol();\n };\n\n let idFormatted = ` ${getSymbol()} ` + chalk.cyan(id.toStringWithoutVersion());\n\n if (localVersions) {\n if (verbose) {\n idFormatted += ` - versions: ${localVersions.join(', ')}`;\n } else {\n const [snaps, tags] = partition(localVersions, (version) => isHash(version));\n const tagsStr = tags.length ? `versions: ${tags.join(', ')}` : '';\n const snapsStr = snaps.length ? `${snaps.length} snap(s)` : '';\n idFormatted += ' - ';\n idFormatted += tagsStr && snapsStr ? `${tagsStr}, ${snapsStr}` : tagsStr || snapsStr;\n }\n }\n\n if (showIssues && idWithIssues) {\n showTroubleshootingLink = true;\n const issuesTxt = hasTagBlocker ? statusFailureMsg : statusWarningsMsg;\n const issuesColor = hasTagBlocker ? 'red' : 'yellow';\n return `${idFormatted} ... ${chalk[issuesColor](issuesTxt)}${formatIssues(idWithIssues.issues)}`;\n }\n\n if (isClean) {\n const softTagSuffix = isSoftTagged && showSoftTagMsg ? chalk.green(' (soft-tagged)') : '';\n return `${idFormatted}${softTagSuffix}`;\n }\n\n const statusText = message || (hasTagBlocker ? statusFailureMsg : statusWarningsMsg);\n const statusColor: 'yellow' | 'red' = message ? 'yellow' : hasTagBlocker ? 'red' : 'yellow';\n const statusTextWithSoftTag = isSoftTagged && showSoftTagMsg ? `${statusText} (soft-tagged)` : statusText;\n return `${idFormatted} ... ${chalk[statusColor](statusTextWithSoftTag)}`;\n }\n\n const importPendingWarning = importPendingComponents.length ? chalk.yellow(`${IMPORT_PENDING_MSG}.\\n`) : '';\n\n const newCompFormatted = newComponents.map((c) => format(c));\n const { missing, nonMissing } = groupBy(newCompFormatted, (component) => {\n return component.includes(statusFailureMsg) ? 'missing' : 'nonMissing';\n });\n\n const outdatedTitle = 'pending updates';\n const outdatedDesc =\n '(use \"bit checkout head\" to merge changes)\\n(use \"bit diff [component_id] [new_version]\" to compare changes)\\n(use \"bit log [component_id]\" to list all available versions)';\n const outdatedComps = outdatedComponents.map((component) => {\n const latest =\n component.latestVersion && component.latestVersion !== component.headVersion\n ? ` latest: ${component.latestVersion}`\n : '';\n return ` ${chalk.yellow('⚠')} ${chalk.cyan(component.id.toStringWithoutVersion())} current: ${component.id.version} head: ${\n component.headVersion\n }${latest}`;\n });\n const outdatedStr = formatSection(outdatedTitle, outdatedDesc, outdatedComps);\n\n const pendingMergeTitle = 'pending merge';\n const pendingMergeDesc = `(use \"bit reset\" to discard local tags/snaps, and bit checkout head to re-merge with the remote.\nalternatively, to keep local tags/snaps history, use \"bit merge [component-id]\")`;\n const pendingMergeComps = mergePendingComponents.map((component) => {\n return ` ${chalk.yellow('⚠')} ${chalk.cyan(component.id.toString())} local and remote have diverged and have ${\n component.divergeData.snapsOnSourceOnly.length\n } (source) and ${component.divergeData.snapsOnTargetOnly.length} (target) uncommon snaps respectively`;\n });\n\n const pendingMergeStr = formatSection(pendingMergeTitle, pendingMergeDesc, pendingMergeComps);\n\n const compDuringMergeTitle = 'components in merge state';\n const compDuringMergeDesc = `(use \"bit snap/tag [--unmerged]\" to complete the merge process.\nto cancel the merge operation, use either \"bit lane merge-abort\" (for prior \"bit lane merge\" command)\nor use \"bit merge [component-id] --abort\" (for prior \"bit merge\" command)`;\n const compDuringMergeComps = componentsDuringMergeState.map((c) => format(c));\n\n const compDuringMergeStr = formatSection(compDuringMergeTitle, compDuringMergeDesc, compDuringMergeComps);\n\n const newComponentDescription = '(use \"bit snap/tag\" to lock a version with all your changes)';\n const newComponentsOutput = formatSection('new components', newComponentDescription, [\n ...(nonMissing || []),\n ...(missing || []),\n ]);\n\n const modifiedDesc = '(use \"bit diff\" to compare changes)';\n const modifiedComponentOutput = formatSection(\n 'modified components',\n modifiedDesc,\n modifiedComponents.map((c) => format(c))\n );\n\n const autoTagPendingTitle = 'components pending auto-tag (when their modified dependencies are tagged)';\n const autoTagPendingOutput = formatSection(\n autoTagPendingTitle,\n '',\n autoTagPendingComponents.map((c) => format(c))\n );\n\n const componentsWithIssuesToPrint = componentsWithIssues.filter((c) => c.issues.hasTagBlockerIssues() || warnings);\n const compWithIssuesDesc = '(fix the issues according to the suggested solution)';\n const compWithIssuesOutput = formatSection(\n 'components with issues',\n compWithIssuesDesc,\n componentsWithIssuesToPrint.map((c) => format(c.id, true)).sort()\n );\n\n const invalidDesc = 'these components failed to load';\n const invalidComps = invalidComponents.map((c) => format(c.id, false, getInvalidComponentLabel(c.error))).sort();\n const invalidComponentOutput = formatSection(statusInvalidComponentsMsg, invalidDesc, invalidComps);\n\n const locallySoftRemovedDesc =\n '(tag/snap and export the components to update the deletion to the remote. to undo deletion, run \"bit recover\")';\n const locallySoftRemovedOutput = formatSection(\n 'soft-removed components locally',\n locallySoftRemovedDesc,\n locallySoftRemoved.map((c) => format(c)).sort()\n );\n\n const remotelySoftRemovedDesc =\n '(use \"bit remove\" to remove them from the workspace. use \"bit recover\" to undo the deletion)';\n const remotelySoftRemovedOutput = formatSection(\n 'components deleted on the remote',\n remotelySoftRemovedDesc,\n remotelySoftRemoved.map((c) => format(c)).sort()\n );\n\n const stagedDesc = '(use \"bit export\" to push these component versions to the remote scope)';\n const stagedComps = stagedComponents.map((c) => format(c.id, false, undefined, c.versions));\n const stagedComponentsOutput = formatSection('staged components', stagedDesc, stagedComps);\n\n const localOnlyDesc = '(these components are excluded from tag/snap/export commands)';\n const localOnlyComps = localOnly.map((c) => format(c)).sort();\n const localOnlyComponentsOutput = formatSection('local-only components', localOnlyDesc, localOnlyComps);\n\n const softTaggedDesc = '(use \"bit tag --persist\" to complete the tag)';\n const softTaggedComps = softTaggedComponents.map((id) => format(id, false, undefined, undefined, false));\n const softTaggedComponentsOutput = formatSection('soft-tagged components', softTaggedDesc, softTaggedComps);\n\n const snappedDesc = '(use \"bit tag\" or \"bit tag --snapped\" to lock a semver version)';\n const snappedComponentsOutput = formatSection(\n 'snapped components (tag pending)',\n snappedDesc,\n snappedComponents.map((c) => format(c))\n );\n\n const unavailableOnMainDesc = '(use \"bit checkout head\" to make them available)';\n const unavailableOnMainOutput = formatSection(\n 'components unavailable on main',\n unavailableOnMainDesc,\n unavailableOnMain.map((c) => format(c))\n );\n\n const getUpdateFromMsg = (divergeData: SnapsDistance, from = 'main'): string => {\n if (divergeData.err) return divergeData.err.message;\n let msg = `${from} is ahead by ${divergeData.snapsOnTargetOnly.length || 0} snaps`;\n if (divergeData.snapsOnSourceOnly && verbose) {\n msg += ` (diverged since ${divergeData.commonSnapBeforeDiverge?.toShortString()})`;\n }\n return msg;\n };\n\n const updatesFromMainDesc = '(use \"bit lane merge main\" to merge the changes)';\n const pendingUpdatesFromMainIds = pendingUpdatesFromMain.map((c) =>\n format(c.id, false, getUpdateFromMsg(c.divergeData))\n );\n const updatesFromMainOutput = formatSection(\n 'pending updates from main',\n updatesFromMainDesc,\n pendingUpdatesFromMainIds\n );\n\n let updatesFromForkedOutput = '';\n if (forkedLaneId) {\n const updatesFromForkedDesc = `(use \"bit lane merge ${forkedLaneId.toString()}\" to merge the changes\nuse \"bit fetch ${forkedLaneId.toString()} --lanes\" to update ${forkedLaneId.name} locally)`;\n const pendingUpdatesFromForkedIds = updatesFromForked.map((c) =>\n format(c.id, false, getUpdateFromMsg(c.divergeData, forkedLaneId.name))\n );\n updatesFromForkedOutput = formatSection(\n `updates from ${forkedLaneId.name}`,\n updatesFromForkedDesc,\n pendingUpdatesFromForkedIds\n );\n }\n\n const getLaneStr = () => {\n if (currentLaneId.isDefault()) return '';\n const prefix = `\\n\\ncurrent lane ${chalk.bold(currentLaneId.toString())}`;\n return prefix;\n };\n\n const getWorkspaceIssuesOutput = () => {\n if (!workspaceIssues.length) return '';\n const title = chalk.bold.white('workspace issues');\n const issues = workspaceIssues.join('\\n');\n return `\\n\\n${title}\\n${issues}`;\n };\n\n const troubleshootingStr = showTroubleshootingLink ? `\\n${TROUBLESHOOTING_MESSAGE}` : '';\n const wereWarningsFilteredOut = componentsWithIssuesToPrint.length < componentsWithIssues.length;\n const showWarningsStr = wereWarningsFilteredOut\n ? `\\n${chalk.yellow('to view the warnings, use --warnings flag.')}`\n : '';\n\n const statusMsg =\n importPendingWarning +\n compact([\n outdatedStr,\n pendingMergeStr,\n updatesFromMainOutput,\n updatesFromForkedOutput,\n compDuringMergeStr,\n localOnlyComponentsOutput,\n newComponentsOutput,\n modifiedComponentOutput,\n snappedComponentsOutput,\n stagedComponentsOutput,\n softTaggedComponentsOutput,\n unavailableOnMainOutput,\n autoTagPendingOutput,\n compWithIssuesOutput,\n invalidComponentOutput,\n locallySoftRemovedOutput,\n remotelySoftRemovedOutput,\n ]).join('\\n\\n') +\n showWarningsStr +\n troubleshootingStr;\n\n const results =\n (statusMsg || `${Logger.successSymbol()} ${chalk.yellow(statusWorkspaceIsCleanMsg)}`) +\n getWorkspaceIssuesOutput() +\n getLaneStr();\n\n // Determine exit code based on flags\n let exitCode = 0;\n if (strict && componentsWithIssues.length > 0) {\n // Strict mode: fail on any issues (both errors and warnings)\n exitCode = 1;\n } else if (failOnError) {\n // Fail only on tag blocker issues (errors), not warnings\n const hasTagBlockerIssues = componentsWithIssues.some((c) => c.issues.hasTagBlockerIssues());\n if (hasTagBlockerIssues) {\n exitCode = 1;\n }\n }\n\n return {\n data: results,\n code: exitCode,\n };\n}\n\nexport function formatIssues(issues: IssuesList) {\n return ` ${issues?.outputForCLI()}\\n`;\n}\n\nfunction getInvalidComponentLabel(error: Error) {\n switch (error.name) {\n case 'MainFileRemoved':\n return 'main-file was removed (use \"bit add\" with \"--main\" and \"--id\" flags to add a main file)';\n case 'ComponentNotFoundInPath':\n return 'component files were deleted (use \"bit remove [component_id]\") or moved (use \"bit move <old-dir> <new-dir>\"). to restore use \"bit checkout reset [component_id]\"';\n case 'ExtensionFileNotFound':\n // @ts-ignore error.path is set for ExtensionFileNotFound\n return `extension file is missing at ${chalk.bold(error.path)}`;\n case 'ComponentsPendingImport':\n return 'component objects are missing from the scope (use \"bit import [component_id] --objects\" to get them back)';\n case 'NoComponentDir':\n return `component files were added individually without root directory (invalid on Harmony. re-add as a directory or use \"bit move --component\" to help with the move)`;\n case 'IgnoredDirectory':\n return `component files or directory were ignored (probably by .gitignore)`;\n case 'NoCommonSnap':\n return `component history is unrelated to main (merge main with --resolve-unrelated flag)`;\n default:\n return error.name;\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,37 +1,37 @@
1
1
  {
2
2
  "name": "@teambit/status",
3
- "version": "1.0.940",
3
+ "version": "1.0.942",
4
4
  "homepage": "https://bit.cloud/teambit/component/status",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "status",
9
- "version": "1.0.940"
9
+ "version": "1.0.942"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "4.1.2",
13
13
  "lodash": "4.17.21",
14
14
  "p-map-series": "2.1.0",
15
- "@teambit/cli": "0.0.1305",
16
15
  "@teambit/component-id": "1.2.4",
17
16
  "@teambit/legacy.constants": "0.0.24",
18
17
  "@teambit/component-issues": "0.0.171",
19
18
  "@teambit/component-version": "1.0.4",
20
19
  "@teambit/component.snap-distance": "0.0.104",
21
- "@teambit/logger": "0.0.1398",
22
20
  "@teambit/harmony": "0.4.7",
23
21
  "@teambit/lane-id": "0.0.312",
24
22
  "@teambit/legacy.component-list": "0.0.157",
25
23
  "@teambit/legacy.consumer-component": "0.0.104",
26
24
  "@teambit/legacy.consumer": "0.0.103",
27
- "@teambit/component": "1.0.923",
28
- "@teambit/insights": "1.0.924",
29
- "@teambit/issues": "1.0.923",
30
- "@teambit/lanes": "1.0.937",
31
- "@teambit/merging": "1.0.924",
32
- "@teambit/objects": "0.0.430",
33
- "@teambit/remove": "1.0.923",
34
- "@teambit/workspace": "1.0.923"
25
+ "@teambit/cli": "0.0.1306",
26
+ "@teambit/logger": "0.0.1399",
27
+ "@teambit/component": "1.0.924",
28
+ "@teambit/insights": "1.0.925",
29
+ "@teambit/issues": "1.0.924",
30
+ "@teambit/lanes": "1.0.938",
31
+ "@teambit/merging": "1.0.925",
32
+ "@teambit/objects": "0.0.431",
33
+ "@teambit/remove": "1.0.924",
34
+ "@teambit/workspace": "1.0.924"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/lodash": "4.14.165",