@teambit/status 1.0.943 → 1.0.944
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/status-cmd.d.ts +2 -1
- package/dist/status-cmd.js +20 -3
- package/dist/status-cmd.js.map +1 -1
- package/dist/status-formatter.d.ts +2 -0
- package/dist/status-formatter.js +96 -15
- package/dist/status-formatter.js.map +1 -1
- package/package.json +12 -12
- /package/dist/{preview-1774909349495.js → preview-1774991821432.js} +0 -0
package/dist/status-cmd.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ type StatusFlags = {
|
|
|
8
8
|
warnings?: boolean;
|
|
9
9
|
failOnError?: boolean;
|
|
10
10
|
quick?: boolean;
|
|
11
|
+
expand?: boolean;
|
|
11
12
|
};
|
|
12
13
|
type QuickStatusJsonResults = {
|
|
13
14
|
modified: string[];
|
|
@@ -70,7 +71,7 @@ export declare class StatusCmd implements Command {
|
|
|
70
71
|
loader: boolean;
|
|
71
72
|
constructor(status: StatusMain);
|
|
72
73
|
json(_args: any, { lanes, ignoreCircularDependencies, quick }: StatusFlags): Promise<StatusJsonResults | QuickStatusJsonResults>;
|
|
73
|
-
report(_args: any, { strict, verbose, lanes, ignoreCircularDependencies, warnings, failOnError, quick }: StatusFlags): Promise<{
|
|
74
|
+
report(_args: any, { strict, verbose, lanes, ignoreCircularDependencies, warnings, failOnError, quick, expand }: StatusFlags): Promise<{
|
|
74
75
|
data: string;
|
|
75
76
|
code: number;
|
|
76
77
|
}>;
|
package/dist/status-cmd.js
CHANGED
|
@@ -4,6 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.StatusCmd = void 0;
|
|
7
|
+
function _cli() {
|
|
8
|
+
const data = require("@teambit/cli");
|
|
9
|
+
_cli = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
7
14
|
function _chalk() {
|
|
8
15
|
const data = _interopRequireDefault(require("chalk"));
|
|
9
16
|
_chalk = function () {
|
|
@@ -43,7 +50,7 @@ essential for understanding workspace health before versioning components.
|
|
|
43
50
|
use --quick for a faster check that only detects file-level changes (new/modified components).
|
|
44
51
|
for maximum speed (skips aspect loading entirely), use "bit mini-status".`);
|
|
45
52
|
_defineProperty(this, "alias", 's');
|
|
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']]);
|
|
53
|
+
_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'], ['', 'expand', 'expand all collapsed sections (e.g. auto-tag pending components)']]);
|
|
47
54
|
_defineProperty(this, "loader", true);
|
|
48
55
|
}
|
|
49
56
|
async json(_args, {
|
|
@@ -138,7 +145,8 @@ for maximum speed (skips aspect loading entirely), use "bit mini-status".`);
|
|
|
138
145
|
ignoreCircularDependencies,
|
|
139
146
|
warnings,
|
|
140
147
|
failOnError,
|
|
141
|
-
quick
|
|
148
|
+
quick,
|
|
149
|
+
expand
|
|
142
150
|
}) {
|
|
143
151
|
if (quick) {
|
|
144
152
|
return this.reportQuick();
|
|
@@ -147,12 +155,21 @@ for maximum speed (skips aspect loading entirely), use "bit mini-status".`);
|
|
|
147
155
|
lanes,
|
|
148
156
|
ignoreCircularDependencies
|
|
149
157
|
});
|
|
150
|
-
|
|
158
|
+
const result = (0, _statusFormatter().formatStatusOutput)(statusResult, {
|
|
151
159
|
strict,
|
|
152
160
|
verbose,
|
|
153
161
|
warnings,
|
|
154
162
|
failOnError
|
|
155
163
|
});
|
|
164
|
+
|
|
165
|
+
// Collapse long informational sections unless --expand
|
|
166
|
+
if (result.sections?.some(s => s.collapsible)) {
|
|
167
|
+
return {
|
|
168
|
+
data: (0, _cli().renderSections)(result.sections, expand),
|
|
169
|
+
code: result.code
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
return result;
|
|
156
173
|
}
|
|
157
174
|
async reportQuick() {
|
|
158
175
|
const {
|
package/dist/status-cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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":[]}
|
|
1
|
+
{"version":3,"names":["_cli","data","require","_chalk","_interopRequireDefault","_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","expand","reportQuick","statusResult","result","formatStatusOutput","sections","some","collapsible","renderSections","code","formatCategory","title","ids","titleOutput","chalk","bold","white","idsStr","Logger","successSymbol","cyan","join","Boolean","yellow","exports"],"sources":["status-cmd.ts"],"sourcesContent":["import type { Command, CommandOptions } from '@teambit/cli';\nimport { renderSections } 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 expand?: 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 ['', 'expand', 'expand all collapsed sections (e.g. auto-tag pending components)'],\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, expand }: StatusFlags\n ) {\n if (quick) {\n return this.reportQuick();\n }\n const statusResult: StatusResult = await this.status.status({ lanes, ignoreCircularDependencies });\n const result = formatStatusOutput(statusResult, { strict, verbose, warnings, failOnError });\n\n // Collapse long informational sections unless --expand\n if (result.sections?.some((s) => s.collapsible)) {\n return { data: renderSections(result.sections, expand), code: result.code };\n }\n\n return result;\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":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { IssuesList } from '@teambit/component-issues';
|
|
2
|
+
import type { OutputSection } from '@teambit/cli';
|
|
2
3
|
import type { StatusResult } from './status.main.runtime';
|
|
3
4
|
export type StatusFormatterOptions = {
|
|
4
5
|
strict?: boolean;
|
|
@@ -9,5 +10,6 @@ export type StatusFormatterOptions = {
|
|
|
9
10
|
export declare function formatStatusOutput(statusResult: StatusResult, options?: StatusFormatterOptions): {
|
|
10
11
|
data: string;
|
|
11
12
|
code: number;
|
|
13
|
+
sections?: OutputSection[];
|
|
12
14
|
};
|
|
13
15
|
export declare function formatIssues(issues: IssuesList): string;
|
package/dist/status-formatter.js
CHANGED
|
@@ -19,13 +19,6 @@ function _legacy() {
|
|
|
19
19
|
};
|
|
20
20
|
return data;
|
|
21
21
|
}
|
|
22
|
-
function _logger() {
|
|
23
|
-
const data = require("@teambit/logger");
|
|
24
|
-
_logger = function () {
|
|
25
|
-
return data;
|
|
26
|
-
};
|
|
27
|
-
return data;
|
|
28
|
-
}
|
|
29
22
|
function _cli() {
|
|
30
23
|
const data = require("@teambit/cli");
|
|
31
24
|
_cli = function () {
|
|
@@ -83,7 +76,7 @@ function formatStatusOutput(statusResult, options = {}) {
|
|
|
83
76
|
// If there is problem with at least one component we want to show a link to the
|
|
84
77
|
// troubleshooting doc
|
|
85
78
|
let showTroubleshootingLink = false;
|
|
86
|
-
function format(id, showIssues = false, message, localVersions, showSoftTagMsg = true) {
|
|
79
|
+
function format(id, showIssues = false, message, localVersions, showSoftTagMsg = true, defaultSym) {
|
|
87
80
|
const idWithIssues = componentsWithIssues.find(c => c.id.isEqual(id));
|
|
88
81
|
const isSoftTagged = Boolean(softTaggedComponents.find(softTaggedId => softTaggedId.isEqual(id)));
|
|
89
82
|
const hasTagBlocker = idWithIssues?.issues.hasTagBlockerIssues();
|
|
@@ -91,7 +84,7 @@ function formatStatusOutput(statusResult, options = {}) {
|
|
|
91
84
|
const getSymbol = () => {
|
|
92
85
|
if (message) return _chalk().default.yellow('⚠');
|
|
93
86
|
if (idWithIssues) return hasTagBlocker ? _chalk().default.red('✖') : _chalk().default.yellow('⚠');
|
|
94
|
-
return
|
|
87
|
+
return defaultSym ?? _cli().bulletSymbol;
|
|
95
88
|
};
|
|
96
89
|
let idFormatted = ` ${getSymbol()} ` + _chalk().default.cyan(id.toStringWithoutVersion());
|
|
97
90
|
if (localVersions) {
|
|
@@ -146,14 +139,14 @@ alternatively, to keep local tags/snaps history, use "bit merge [component-id]")
|
|
|
146
139
|
const compDuringMergeDesc = `(use "bit snap/tag [--unmerged]" to complete the merge process.
|
|
147
140
|
to cancel the merge operation, use either "bit lane merge-abort" (for prior "bit lane merge" command)
|
|
148
141
|
or use "bit merge [component-id] --abort" (for prior "bit merge" command)`;
|
|
149
|
-
const compDuringMergeComps = componentsDuringMergeState.map(c => format(c));
|
|
142
|
+
const compDuringMergeComps = componentsDuringMergeState.map(c => format(c, false, undefined, undefined, true, _cli().warnSymbol));
|
|
150
143
|
const compDuringMergeStr = (0, _cli().formatSection)(compDuringMergeTitle, compDuringMergeDesc, compDuringMergeComps);
|
|
151
144
|
const newComponentDescription = '(use "bit snap/tag" to lock a version with all your changes)';
|
|
152
145
|
const newComponentsOutput = (0, _cli().formatSection)('new components', newComponentDescription, [...(nonMissing || []), ...(missing || [])]);
|
|
153
146
|
const modifiedDesc = '(use "bit diff" to compare changes)';
|
|
154
147
|
const modifiedComponentOutput = (0, _cli().formatSection)('modified components', modifiedDesc, modifiedComponents.map(c => format(c)));
|
|
155
|
-
const
|
|
156
|
-
const autoTagPendingOutput = (0, _cli().formatSection)(
|
|
148
|
+
const autoTagPendingDesc = '(these will be auto-tagged when their modified dependencies are tagged)';
|
|
149
|
+
const autoTagPendingOutput = (0, _cli().formatSection)('components pending auto-tag', autoTagPendingDesc, autoTagPendingComponents.map(c => format(c)));
|
|
157
150
|
const componentsWithIssuesToPrint = componentsWithIssues.filter(c => c.issues.hasTagBlockerIssues() || warnings);
|
|
158
151
|
const compWithIssuesDesc = '(fix the issues according to the suggested solution)';
|
|
159
152
|
const compWithIssuesOutput = (0, _cli().formatSection)('components with issues', compWithIssuesDesc, componentsWithIssuesToPrint.map(c => format(c.id, true)).sort());
|
|
@@ -176,7 +169,7 @@ or use "bit merge [component-id] --abort" (for prior "bit merge" command)`;
|
|
|
176
169
|
const snappedDesc = '(use "bit tag" or "bit tag --snapped" to lock a semver version)';
|
|
177
170
|
const snappedComponentsOutput = (0, _cli().formatSection)('snapped components (tag pending)', snappedDesc, snappedComponents.map(c => format(c)));
|
|
178
171
|
const unavailableOnMainDesc = '(use "bit checkout head" to make them available)';
|
|
179
|
-
const unavailableOnMainOutput = (0, _cli().formatSection)('components unavailable on main', unavailableOnMainDesc, unavailableOnMain.map(c => format(c)));
|
|
172
|
+
const unavailableOnMainOutput = (0, _cli().formatSection)('components unavailable on main', unavailableOnMainDesc, unavailableOnMain.map(c => format(c, false, undefined, undefined, true, _cli().warnSymbol)));
|
|
180
173
|
const getUpdateFromMsg = (divergeData, from = 'main') => {
|
|
181
174
|
if (divergeData.err) return divergeData.err.message;
|
|
182
175
|
let msg = `${from} is ahead by ${divergeData.snapsOnTargetOnly.length || 0} snaps`;
|
|
@@ -210,7 +203,7 @@ use "bit fetch ${forkedLaneId.toString()} --lanes" to update ${forkedLaneId.name
|
|
|
210
203
|
const wereWarningsFilteredOut = componentsWithIssuesToPrint.length < componentsWithIssues.length;
|
|
211
204
|
const showWarningsStr = wereWarningsFilteredOut ? `\n${_chalk().default.yellow('to view the warnings, use --warnings flag.')}` : '';
|
|
212
205
|
const statusMsg = importPendingWarning + (0, _lodash().compact)([outdatedStr, pendingMergeStr, updatesFromMainOutput, updatesFromForkedOutput, compDuringMergeStr, localOnlyComponentsOutput, newComponentsOutput, modifiedComponentOutput, snappedComponentsOutput, stagedComponentsOutput, softTaggedComponentsOutput, unavailableOnMainOutput, autoTagPendingOutput, compWithIssuesOutput, invalidComponentOutput, locallySoftRemovedOutput, remotelySoftRemovedOutput]).join('\n\n') + showWarningsStr + troubleshootingStr;
|
|
213
|
-
const results = (statusMsg || `${
|
|
206
|
+
const results = (statusMsg || `${(0, _cli().successSymbol)()} ${_chalk().default.yellow(_legacy().statusWorkspaceIsCleanMsg)}`) + getWorkspaceIssuesOutput() + getLaneStr();
|
|
214
207
|
|
|
215
208
|
// Determine exit code based on flags
|
|
216
209
|
let exitCode = 0;
|
|
@@ -224,9 +217,97 @@ use "bit fetch ${forkedLaneId.toString()} --lanes" to update ${forkedLaneId.name
|
|
|
224
217
|
exitCode = 1;
|
|
225
218
|
}
|
|
226
219
|
}
|
|
220
|
+
|
|
221
|
+
// Build structured sections for interactive rendering
|
|
222
|
+
const sections = [];
|
|
223
|
+
if (importPendingWarning) {
|
|
224
|
+
sections.push({
|
|
225
|
+
content: importPendingWarning.trimEnd()
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
const sectionEntries = [{
|
|
229
|
+
content: outdatedStr
|
|
230
|
+
}, {
|
|
231
|
+
content: pendingMergeStr
|
|
232
|
+
}, {
|
|
233
|
+
content: updatesFromMainOutput
|
|
234
|
+
}, {
|
|
235
|
+
content: updatesFromForkedOutput
|
|
236
|
+
}, {
|
|
237
|
+
content: compDuringMergeStr
|
|
238
|
+
}, {
|
|
239
|
+
content: localOnlyComponentsOutput
|
|
240
|
+
}, {
|
|
241
|
+
content: newComponentsOutput
|
|
242
|
+
}, {
|
|
243
|
+
content: modifiedComponentOutput
|
|
244
|
+
}, {
|
|
245
|
+
content: snappedComponentsOutput
|
|
246
|
+
}, {
|
|
247
|
+
content: stagedComponentsOutput
|
|
248
|
+
}, {
|
|
249
|
+
content: softTaggedComponentsOutput
|
|
250
|
+
}, {
|
|
251
|
+
content: unavailableOnMainOutput
|
|
252
|
+
}, {
|
|
253
|
+
content: autoTagPendingOutput,
|
|
254
|
+
autoTag: true
|
|
255
|
+
}, {
|
|
256
|
+
content: compWithIssuesOutput
|
|
257
|
+
}, {
|
|
258
|
+
content: invalidComponentOutput
|
|
259
|
+
}, {
|
|
260
|
+
content: locallySoftRemovedOutput
|
|
261
|
+
}, {
|
|
262
|
+
content: remotelySoftRemovedOutput
|
|
263
|
+
}];
|
|
264
|
+
for (const entry of sectionEntries) {
|
|
265
|
+
if (!entry.content) continue;
|
|
266
|
+
if (entry.autoTag) {
|
|
267
|
+
const count = autoTagPendingComponents.length;
|
|
268
|
+
const scopeCounts = (0, _lodash().countBy)(autoTagPendingComponents, id => id.scope);
|
|
269
|
+
const sorted = Object.entries(scopeCounts).sort(([, a], [, b]) => b - a);
|
|
270
|
+
const MAX_SHOWN = 4;
|
|
271
|
+
const shown = sorted.slice(0, MAX_SHOWN).map(([scope, n]) => `${scope} (${n})`);
|
|
272
|
+
const remaining = sorted.length - MAX_SHOWN;
|
|
273
|
+
const scopeLine = remaining > 0 ? [...shown, `+ ${remaining} more scopes`].join(' · ') : shown.join(' · ');
|
|
274
|
+
const title = _chalk().default.bold.white(`components pending auto-tag (${count})`);
|
|
275
|
+
const desc = _chalk().default.dim(` ${autoTagPendingDesc}`);
|
|
276
|
+
const scopes = ` ${scopeLine}`;
|
|
277
|
+
const hint = _chalk().default.dim('— use --expand to list');
|
|
278
|
+
sections.push({
|
|
279
|
+
content: entry.content,
|
|
280
|
+
collapsible: {
|
|
281
|
+
summary: `${title}\n${desc}\n${scopes} ${hint}`
|
|
282
|
+
}
|
|
283
|
+
});
|
|
284
|
+
} else {
|
|
285
|
+
sections.push({
|
|
286
|
+
content: entry.content
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
const suffixParts = [showWarningsStr.trim(), troubleshootingStr.trim()].filter(Boolean);
|
|
291
|
+
if (suffixParts.length) sections.push({
|
|
292
|
+
content: suffixParts.join('\n')
|
|
293
|
+
});
|
|
294
|
+
const wsIssuesStr = getWorkspaceIssuesOutput().trim();
|
|
295
|
+
if (wsIssuesStr) sections.push({
|
|
296
|
+
content: wsIssuesStr
|
|
297
|
+
});
|
|
298
|
+
const laneInfoStr = getLaneStr().trim();
|
|
299
|
+
if (laneInfoStr) sections.push({
|
|
300
|
+
content: laneInfoStr
|
|
301
|
+
});
|
|
302
|
+
if (!sections.length) {
|
|
303
|
+
sections.push({
|
|
304
|
+
content: `${(0, _cli().successSymbol)()} ${_chalk().default.yellow(_legacy().statusWorkspaceIsCleanMsg)}`
|
|
305
|
+
});
|
|
306
|
+
}
|
|
227
307
|
return {
|
|
228
308
|
data: results,
|
|
229
|
-
code: exitCode
|
|
309
|
+
code: exitCode,
|
|
310
|
+
sections
|
|
230
311
|
};
|
|
231
312
|
}
|
|
232
313
|
function formatIssues(issues) {
|
|
@@ -1 +1 @@
|
|
|
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":";;;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAG,QAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAQA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,KAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,IAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,QAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,kBAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,iBAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAoD,SAAAC,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGpD,MAAMG,uBAAuB,GAAGC,gBAAK,CAACC,MAAM,CAC1C,oCAAoCC,0BAAgB,wCACtD,CAAC;AASM,SAASC,kBAAkBA,CAChCC,YAA0B,EAC1BC,OAA+B,GAAG,CAAC,CAAC,EACJ;EAChC,MAAM;IAAEC,MAAM,GAAG,KAAK;IAAEC,OAAO,GAAG,KAAK;IAAEC,QAAQ,GAAG,KAAK;IAAEC,WAAW,GAAG;EAAM,CAAC,GAAGJ,OAAO;EAE1F,MAAM;IACJK,aAAa;IACbC,kBAAkB;IAClBC,gBAAgB;IAChBC,oBAAoB;IACpBC,uBAAuB;IACvBC,wBAAwB;IACxBC,iBAAiB;IACjBC,kBAAkB;IAClBC,mBAAmB;IACnBC,kBAAkB;IAClBC,sBAAsB;IACtBC,0BAA0B;IAC1BC,oBAAoB;IACpBC,iBAAiB;IACjBC,sBAAsB;IACtBC,SAAS;IACTC,iBAAiB;IACjBC,iBAAiB;IACjBC,aAAa;IACbC,YAAY;IACZC;EACF,CAAC,GAAG1B,YAAY;;EAEhB;EACA;EACA,IAAI2B,uBAAuB,GAAG,KAAK;EAEnC,SAASC,MAAMA,CACbC,EAAe,EACfC,UAAU,GAAG,KAAK,EAClBC,OAAgB,EAChBC,aAAwB,EACxBC,cAAc,GAAG,IAAI,EACb;IACR,MAAMC,YAAY,GAAGzB,oBAAoB,CAAC0B,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACP,EAAE,CAACQ,OAAO,CAACR,EAAE,CAAC,CAAC;IACvE,MAAMS,YAAY,GAAGC,OAAO,CAACrB,oBAAoB,CAACiB,IAAI,CAAEK,YAAY,IAAKA,YAAY,CAACH,OAAO,CAACR,EAAE,CAAC,CAAC,CAAC;IACnG,MAAMY,aAAa,GAAGP,YAAY,EAAEQ,MAAM,CAACC,mBAAmB,CAAC,CAAC;IAChE,MAAMC,OAAO,GAAG,CAACb,OAAO,IAAI,CAACG,YAAY;IAEzC,MAAMW,SAAS,GAAGA,CAAA,KAAM;MACtB,IAAId,OAAO,EAAE,OAAOnC,gBAAK,CAACC,MAAM,CAAC,GAAG,CAAC;MACrC,IAAIqC,YAAY,EAAE,OAAOO,aAAa,GAAG7C,gBAAK,CAACkD,GAAG,CAAC,GAAG,CAAC,GAAGlD,gBAAK,CAACC,MAAM,CAAC,GAAG,CAAC;MAC3E,OAAOkD,gBAAM,CAACC,aAAa,CAAC,CAAC;IAC/B,CAAC;IAED,IAAIC,WAAW,GAAG,MAAMJ,SAAS,CAAC,CAAC,GAAG,GAAGjD,gBAAK,CAACsD,IAAI,CAACrB,EAAE,CAACsB,sBAAsB,CAAC,CAAC,CAAC;IAEhF,IAAInB,aAAa,EAAE;MACjB,IAAI7B,OAAO,EAAE;QACX8C,WAAW,IAAI,gBAAgBjB,aAAa,CAACoB,IAAI,CAAC,IAAI,CAAC,EAAE;MAC3D,CAAC,MAAM;QACL,MAAM,CAACC,KAAK,EAAEC,IAAI,CAAC,GAAG,IAAAC,mBAAS,EAACvB,aAAa,EAAGwB,OAAO,IAAK,IAAAC,0BAAM,EAACD,OAAO,CAAC,CAAC;QAC5E,MAAME,OAAO,GAAGJ,IAAI,CAACK,MAAM,GAAG,aAAaL,IAAI,CAACF,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE;QACjE,MAAMQ,QAAQ,GAAGP,KAAK,CAACM,MAAM,GAAG,GAAGN,KAAK,CAACM,MAAM,UAAU,GAAG,EAAE;QAC9DV,WAAW,IAAI,KAAK;QACpBA,WAAW,IAAIS,OAAO,IAAIE,QAAQ,GAAG,GAAGF,OAAO,KAAKE,QAAQ,EAAE,GAAGF,OAAO,IAAIE,QAAQ;MACtF;IACF;IAEA,IAAI9B,UAAU,IAAII,YAAY,EAAE;MAC9BP,uBAAuB,GAAG,IAAI;MAC9B,MAAMkC,SAAS,GAAGpB,aAAa,GAAGqB,0BAAgB,GAAGC,2BAAiB;MACtE,MAAMC,WAAW,GAAGvB,aAAa,GAAG,KAAK,GAAG,QAAQ;MACpD,OAAO,GAAGQ,WAAW,QAAQrD,gBAAK,CAACoE,WAAW,CAAC,CAACH,SAAS,CAAC,GAAGI,YAAY,CAAC/B,YAAY,CAACQ,MAAM,CAAC,EAAE;IAClG;IAEA,IAAIE,OAAO,EAAE;MACX,MAAMsB,aAAa,GAAG5B,YAAY,IAAIL,cAAc,GAAGrC,gBAAK,CAACuE,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE;MACzF,OAAO,GAAGlB,WAAW,GAAGiB,aAAa,EAAE;IACzC;IAEA,MAAME,UAAU,GAAGrC,OAAO,KAAKU,aAAa,GAAGqB,0BAAgB,GAAGC,2BAAiB,CAAC;IACpF,MAAMM,WAA6B,GAAGtC,OAAO,GAAG,QAAQ,GAAGU,aAAa,GAAG,KAAK,GAAG,QAAQ;IAC3F,MAAM6B,qBAAqB,GAAGhC,YAAY,IAAIL,cAAc,GAAG,GAAGmC,UAAU,gBAAgB,GAAGA,UAAU;IACzG,OAAO,GAAGnB,WAAW,QAAQrD,gBAAK,CAACyE,WAAW,CAAC,CAACC,qBAAqB,CAAC,EAAE;EAC1E;EAEA,MAAMC,oBAAoB,GAAG7D,uBAAuB,CAACiD,MAAM,GAAG/D,gBAAK,CAACC,MAAM,CAAC,GAAG2E,4BAAkB,KAAK,CAAC,GAAG,EAAE;EAE3G,MAAMC,gBAAgB,GAAGnE,aAAa,CAACoE,GAAG,CAAEtC,CAAC,IAAKR,MAAM,CAACQ,CAAC,CAAC,CAAC;EAC5D,MAAM;IAAEuC,OAAO;IAAEC;EAAW,CAAC,GAAG,IAAAC,iBAAO,EAACJ,gBAAgB,EAAGK,SAAS,IAAK;IACvE,OAAOA,SAAS,CAACC,QAAQ,CAACjB,0BAAgB,CAAC,GAAG,SAAS,GAAG,YAAY;EACxE,CAAC,CAAC;EAEF,MAAMkB,aAAa,GAAG,iBAAiB;EACvC,MAAMC,YAAY,GAChB,6KAA6K;EAC/K,MAAMC,aAAa,GAAGnE,kBAAkB,CAAC2D,GAAG,CAAEI,SAAS,IAAK;IAC1D,MAAMK,MAAM,GACVL,SAAS,CAACM,aAAa,IAAIN,SAAS,CAACM,aAAa,KAAKN,SAAS,CAACO,WAAW,GACxE,YAAYP,SAAS,CAACM,aAAa,EAAE,GACrC,EAAE;IACR,OAAO,MAAMxF,gBAAK,CAACC,MAAM,CAAC,GAAG,CAAC,IAAID,gBAAK,CAACsD,IAAI,CAAC4B,SAAS,CAACjD,EAAE,CAACsB,sBAAsB,CAAC,CAAC,CAAC,aAAa2B,SAAS,CAACjD,EAAE,CAAC2B,OAAO,UAClHsB,SAAS,CAACO,WAAW,GACpBF,MAAM,EAAE;EACb,CAAC,CAAC;EACF,MAAMG,WAAW,GAAG,IAAAC,oBAAa,EAACP,aAAa,EAAEC,YAAY,EAAEC,aAAa,CAAC;EAE7E,MAAMM,iBAAiB,GAAG,eAAe;EACzC,MAAMC,gBAAgB,GAAG;AAC3B,iFAAiF;EAC/E,MAAMC,iBAAiB,GAAG1E,sBAAsB,CAAC0D,GAAG,CAAEI,SAAS,IAAK;IAClE,OAAO,MAAMlF,gBAAK,CAACC,MAAM,CAAC,GAAG,CAAC,IAAID,gBAAK,CAACsD,IAAI,CAAC4B,SAAS,CAACjD,EAAE,CAAC8D,QAAQ,CAAC,CAAC,CAAC,4CACnEb,SAAS,CAACc,WAAW,CAACC,iBAAiB,CAAClC,MAAM,iBAC/BmB,SAAS,CAACc,WAAW,CAACE,iBAAiB,CAACnC,MAAM,uCAAuC;EACxG,CAAC,CAAC;EAEF,MAAMoC,eAAe,GAAG,IAAAR,oBAAa,EAACC,iBAAiB,EAAEC,gBAAgB,EAAEC,iBAAiB,CAAC;EAE7F,MAAMM,oBAAoB,GAAG,2BAA2B;EACxD,MAAMC,mBAAmB,GAAG;AAC9B;AACA,0EAA0E;EACxE,MAAMC,oBAAoB,GAAGjF,0BAA0B,CAACyD,GAAG,CAAEtC,CAAC,IAAKR,MAAM,CAACQ,CAAC,CAAC,CAAC;EAE7E,MAAM+D,kBAAkB,GAAG,IAAAZ,oBAAa,EAACS,oBAAoB,EAAEC,mBAAmB,EAAEC,oBAAoB,CAAC;EAEzG,MAAME,uBAAuB,GAAG,8DAA8D;EAC9F,MAAMC,mBAAmB,GAAG,IAAAd,oBAAa,EAAC,gBAAgB,EAAEa,uBAAuB,EAAE,CACnF,IAAIxB,UAAU,IAAI,EAAE,CAAC,EACrB,IAAID,OAAO,IAAI,EAAE,CAAC,CACnB,CAAC;EAEF,MAAM2B,YAAY,GAAG,qCAAqC;EAC1D,MAAMC,uBAAuB,GAAG,IAAAhB,oBAAa,EAC3C,qBAAqB,EACrBe,YAAY,EACZ/F,kBAAkB,CAACmE,GAAG,CAAEtC,CAAC,IAAKR,MAAM,CAACQ,CAAC,CAAC,CACzC,CAAC;EAED,MAAMoE,mBAAmB,GAAG,2EAA2E;EACvG,MAAMC,oBAAoB,GAAG,IAAAlB,oBAAa,EACxCiB,mBAAmB,EACnB,EAAE,EACF7F,wBAAwB,CAAC+D,GAAG,CAAEtC,CAAC,IAAKR,MAAM,CAACQ,CAAC,CAAC,CAC/C,CAAC;EAED,MAAMsE,2BAA2B,GAAGjG,oBAAoB,CAACkG,MAAM,CAAEvE,CAAC,IAAKA,CAAC,CAACM,MAAM,CAACC,mBAAmB,CAAC,CAAC,IAAIvC,QAAQ,CAAC;EAClH,MAAMwG,kBAAkB,GAAG,sDAAsD;EACjF,MAAMC,oBAAoB,GAAG,IAAAtB,oBAAa,EACxC,wBAAwB,EACxBqB,kBAAkB,EAClBF,2BAA2B,CAAChC,GAAG,CAAEtC,CAAC,IAAKR,MAAM,CAACQ,CAAC,CAACP,EAAE,EAAE,IAAI,CAAC,CAAC,CAACiF,IAAI,CAAC,CAClE,CAAC;EAED,MAAMC,WAAW,GAAG,iCAAiC;EACrD,MAAMC,YAAY,GAAGpG,iBAAiB,CAAC8D,GAAG,CAAEtC,CAAC,IAAKR,MAAM,CAACQ,CAAC,CAACP,EAAE,EAAE,KAAK,EAAEoF,wBAAwB,CAAC7E,CAAC,CAAC8E,KAAK,CAAC,CAAC,CAAC,CAACJ,IAAI,CAAC,CAAC;EAChH,MAAMK,sBAAsB,GAAG,IAAA5B,oBAAa,EAAC6B,oCAA0B,EAAEL,WAAW,EAAEC,YAAY,CAAC;EAEnG,MAAMK,sBAAsB,GAC1B,gHAAgH;EAClH,MAAMC,wBAAwB,GAAG,IAAA/B,oBAAa,EAC5C,iCAAiC,EACjC8B,sBAAsB,EACtBxG,kBAAkB,CAAC6D,GAAG,CAAEtC,CAAC,IAAKR,MAAM,CAACQ,CAAC,CAAC,CAAC,CAAC0E,IAAI,CAAC,CAChD,CAAC;EAED,MAAMS,uBAAuB,GAC3B,8FAA8F;EAChG,MAAMC,yBAAyB,GAAG,IAAAjC,oBAAa,EAC7C,kCAAkC,EAClCgC,uBAAuB,EACvBzG,mBAAmB,CAAC4D,GAAG,CAAEtC,CAAC,IAAKR,MAAM,CAACQ,CAAC,CAAC,CAAC,CAAC0E,IAAI,CAAC,CACjD,CAAC;EAED,MAAMW,UAAU,GAAG,yEAAyE;EAC5F,MAAMC,WAAW,GAAGlH,gBAAgB,CAACkE,GAAG,CAAEtC,CAAC,IAAKR,MAAM,CAACQ,CAAC,CAACP,EAAE,EAAE,KAAK,EAAE8F,SAAS,EAAEvF,CAAC,CAACwF,QAAQ,CAAC,CAAC;EAC3F,MAAMC,sBAAsB,GAAG,IAAAtC,oBAAa,EAAC,mBAAmB,EAAEkC,UAAU,EAAEC,WAAW,CAAC;EAE1F,MAAMI,aAAa,GAAG,+DAA+D;EACrF,MAAMC,cAAc,GAAG1G,SAAS,CAACqD,GAAG,CAAEtC,CAAC,IAAKR,MAAM,CAACQ,CAAC,CAAC,CAAC,CAAC0E,IAAI,CAAC,CAAC;EAC7D,MAAMkB,yBAAyB,GAAG,IAAAzC,oBAAa,EAAC,uBAAuB,EAAEuC,aAAa,EAAEC,cAAc,CAAC;EAEvG,MAAME,cAAc,GAAG,+CAA+C;EACtE,MAAMC,eAAe,GAAGhH,oBAAoB,CAACwD,GAAG,CAAE7C,EAAE,IAAKD,MAAM,CAACC,EAAE,EAAE,KAAK,EAAE8F,SAAS,EAAEA,SAAS,EAAE,KAAK,CAAC,CAAC;EACxG,MAAMQ,0BAA0B,GAAG,IAAA5C,oBAAa,EAAC,wBAAwB,EAAE0C,cAAc,EAAEC,eAAe,CAAC;EAE3G,MAAME,WAAW,GAAG,iEAAiE;EACrF,MAAMC,uBAAuB,GAAG,IAAA9C,oBAAa,EAC3C,kCAAkC,EAClC6C,WAAW,EACXjH,iBAAiB,CAACuD,GAAG,CAAEtC,CAAC,IAAKR,MAAM,CAACQ,CAAC,CAAC,CACxC,CAAC;EAED,MAAMkG,qBAAqB,GAAG,kDAAkD;EAChF,MAAMC,uBAAuB,GAAG,IAAAhD,oBAAa,EAC3C,gCAAgC,EAChC+C,qBAAqB,EACrB/G,iBAAiB,CAACmD,GAAG,CAAEtC,CAAC,IAAKR,MAAM,CAACQ,CAAC,CAAC,CACxC,CAAC;EAED,MAAMoG,gBAAgB,GAAGA,CAAC5C,WAA0B,EAAE6C,IAAI,GAAG,MAAM,KAAa;IAC9E,IAAI7C,WAAW,CAAC8C,GAAG,EAAE,OAAO9C,WAAW,CAAC8C,GAAG,CAAC3G,OAAO;IACnD,IAAI4G,GAAG,GAAG,GAAGF,IAAI,gBAAgB7C,WAAW,CAACE,iBAAiB,CAACnC,MAAM,IAAI,CAAC,QAAQ;IAClF,IAAIiC,WAAW,CAACC,iBAAiB,IAAI1F,OAAO,EAAE;MAC5CwI,GAAG,IAAI,oBAAoB/C,WAAW,CAACgD,uBAAuB,EAAEC,aAAa,CAAC,CAAC,GAAG;IACpF;IACA,OAAOF,GAAG;EACZ,CAAC;EAED,MAAMG,mBAAmB,GAAG,kDAAkD;EAC9E,MAAMC,yBAAyB,GAAG3H,sBAAsB,CAACsD,GAAG,CAAEtC,CAAC,IAC7DR,MAAM,CAACQ,CAAC,CAACP,EAAE,EAAE,KAAK,EAAE2G,gBAAgB,CAACpG,CAAC,CAACwD,WAAW,CAAC,CACrD,CAAC;EACD,MAAMoD,qBAAqB,GAAG,IAAAzD,oBAAa,EACzC,2BAA2B,EAC3BuD,mBAAmB,EACnBC,yBACF,CAAC;EAED,IAAIE,uBAAuB,GAAG,EAAE;EAChC,IAAIxH,YAAY,EAAE;IAChB,MAAMyH,qBAAqB,GAAG,wBAAwBzH,YAAY,CAACkE,QAAQ,CAAC,CAAC;AACjF,iBAAiBlE,YAAY,CAACkE,QAAQ,CAAC,CAAC,uBAAuBlE,YAAY,CAAC0H,IAAI,WAAW;IACvF,MAAMC,2BAA2B,GAAG9H,iBAAiB,CAACoD,GAAG,CAAEtC,CAAC,IAC1DR,MAAM,CAACQ,CAAC,CAACP,EAAE,EAAE,KAAK,EAAE2G,gBAAgB,CAACpG,CAAC,CAACwD,WAAW,EAAEnE,YAAY,CAAC0H,IAAI,CAAC,CACxE,CAAC;IACDF,uBAAuB,GAAG,IAAA1D,oBAAa,EACrC,gBAAgB9D,YAAY,CAAC0H,IAAI,EAAE,EACnCD,qBAAqB,EACrBE,2BACF,CAAC;EACH;EAEA,MAAMC,UAAU,GAAGA,CAAA,KAAM;IACvB,IAAI7H,aAAa,CAAC8H,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE;IACxC,MAAMC,MAAM,GAAG,oBAAoB3J,gBAAK,CAAC4J,IAAI,CAAChI,aAAa,CAACmE,QAAQ,CAAC,CAAC,CAAC,EAAE;IACzE,OAAO4D,MAAM;EACf,CAAC;EAED,MAAME,wBAAwB,GAAGA,CAAA,KAAM;IACrC,IAAI,CAAC/H,eAAe,CAACiC,MAAM,EAAE,OAAO,EAAE;IACtC,MAAM+F,KAAK,GAAG9J,gBAAK,CAAC4J,IAAI,CAACG,KAAK,CAAC,kBAAkB,CAAC;IAClD,MAAMjH,MAAM,GAAGhB,eAAe,CAAC0B,IAAI,CAAC,IAAI,CAAC;IACzC,OAAO,OAAOsG,KAAK,KAAKhH,MAAM,EAAE;EAClC,CAAC;EAED,MAAMkH,kBAAkB,GAAGjI,uBAAuB,GAAG,KAAKhC,uBAAuB,EAAE,GAAG,EAAE;EACxF,MAAMkK,uBAAuB,GAAGnD,2BAA2B,CAAC/C,MAAM,GAAGlD,oBAAoB,CAACkD,MAAM;EAChG,MAAMmG,eAAe,GAAGD,uBAAuB,GAC3C,KAAKjK,gBAAK,CAACC,MAAM,CAAC,4CAA4C,CAAC,EAAE,GACjE,EAAE;EAEN,MAAMkK,SAAS,GACbxF,oBAAoB,GACpB,IAAAyF,iBAAO,EAAC,CACN1E,WAAW,EACXS,eAAe,EACfiD,qBAAqB,EACrBC,uBAAuB,EACvB9C,kBAAkB,EAClB6B,yBAAyB,EACzB3B,mBAAmB,EACnBE,uBAAuB,EACvB8B,uBAAuB,EACvBR,sBAAsB,EACtBM,0BAA0B,EAC1BI,uBAAuB,EACvB9B,oBAAoB,EACpBI,oBAAoB,EACpBM,sBAAsB,EACtBG,wBAAwB,EACxBE,yBAAyB,CAC1B,CAAC,CAACpE,IAAI,CAAC,MAAM,CAAC,GACf0G,eAAe,GACfF,kBAAkB;EAEpB,MAAMK,OAAO,GACX,CAACF,SAAS,IAAI,GAAGhH,gBAAM,CAACC,aAAa,CAAC,CAAC,IAAIpD,gBAAK,CAACC,MAAM,CAACqK,mCAAyB,CAAC,EAAE,IACpFT,wBAAwB,CAAC,CAAC,GAC1BJ,UAAU,CAAC,CAAC;;EAEd;EACA,IAAIc,QAAQ,GAAG,CAAC;EAChB,IAAIjK,MAAM,IAAIO,oBAAoB,CAACkD,MAAM,GAAG,CAAC,EAAE;IAC7C;IACAwG,QAAQ,GAAG,CAAC;EACd,CAAC,MAAM,IAAI9J,WAAW,EAAE;IACtB;IACA,MAAMsC,mBAAmB,GAAGlC,oBAAoB,CAAC2J,IAAI,CAAEhI,CAAC,IAAKA,CAAC,CAACM,MAAM,CAACC,mBAAmB,CAAC,CAAC,CAAC;IAC5F,IAAIA,mBAAmB,EAAE;MACvBwH,QAAQ,GAAG,CAAC;IACd;EACF;EAEA,OAAO;IACLnL,IAAI,EAAEiL,OAAO;IACbI,IAAI,EAAEF;EACR,CAAC;AACH;AAEO,SAASlG,YAAYA,CAACvB,MAAkB,EAAE;EAC/C,OAAO,UAAUA,MAAM,EAAE4H,YAAY,CAAC,CAAC,IAAI;AAC7C;AAEA,SAASrD,wBAAwBA,CAACC,KAAY,EAAE;EAC9C,QAAQA,KAAK,CAACiC,IAAI;IAChB,KAAK,iBAAiB;MACpB,OAAO,yFAAyF;IAClG,KAAK,yBAAyB;MAC5B,OAAO,kKAAkK;IAC3K,KAAK,uBAAuB;MAC1B;MACA,OAAO,gCAAgCvJ,gBAAK,CAAC4J,IAAI,CAACtC,KAAK,CAACqD,IAAI,CAAC,EAAE;IACjE,KAAK,yBAAyB;MAC5B,OAAO,2GAA2G;IACpH,KAAK,gBAAgB;MACnB,OAAO,gKAAgK;IACzK,KAAK,kBAAkB;MACrB,OAAO,oEAAoE;IAC7E,KAAK,cAAc;MACjB,OAAO,mFAAmF;IAC5F;MACE,OAAOrD,KAAK,CAACiC,IAAI;EACrB;AACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_legacy","_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","defaultSym","idWithIssues","find","c","isEqual","isSoftTagged","Boolean","softTaggedId","hasTagBlocker","issues","hasTagBlockerIssues","isClean","getSymbol","red","bulletSymbol","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","undefined","warnSymbol","compDuringMergeStr","newComponentDescription","newComponentsOutput","modifiedDesc","modifiedComponentOutput","autoTagPendingDesc","autoTagPendingOutput","componentsWithIssuesToPrint","filter","compWithIssuesDesc","compWithIssuesOutput","sort","invalidDesc","invalidComps","getInvalidComponentLabel","error","invalidComponentOutput","statusInvalidComponentsMsg","locallySoftRemovedDesc","locallySoftRemovedOutput","remotelySoftRemovedDesc","remotelySoftRemovedOutput","stagedDesc","stagedComps","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","successSymbol","statusWorkspaceIsCleanMsg","exitCode","some","sections","push","content","trimEnd","sectionEntries","autoTag","entry","count","scopeCounts","countBy","scope","sorted","Object","entries","a","b","MAX_SHOWN","shown","slice","n","remaining","scopeLine","desc","dim","scopes","hint","collapsible","summary","suffixParts","trim","wsIssuesStr","laneInfoStr","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 { formatSection, bulletSymbol, successSymbol, warnSymbol } from '@teambit/cli';\nimport type { OutputSection } from '@teambit/cli';\nimport { compact, countBy, 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; sections?: OutputSection[] } {\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 defaultSym?: string\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 defaultSym ?? bulletSymbol;\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) =>\n format(c, false, undefined, undefined, true, warnSymbol)\n );\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 autoTagPendingDesc = '(these will be auto-tagged when their modified dependencies are tagged)';\n const autoTagPendingOutput = formatSection(\n 'components pending auto-tag',\n autoTagPendingDesc,\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, false, undefined, undefined, true, warnSymbol))\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 || `${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 // Build structured sections for interactive rendering\n const sections: OutputSection[] = [];\n if (importPendingWarning) {\n sections.push({ content: importPendingWarning.trimEnd() });\n }\n\n const sectionEntries: Array<{ content: string; autoTag?: boolean }> = [\n { content: outdatedStr },\n { content: pendingMergeStr },\n { content: updatesFromMainOutput },\n { content: updatesFromForkedOutput },\n { content: compDuringMergeStr },\n { content: localOnlyComponentsOutput },\n { content: newComponentsOutput },\n { content: modifiedComponentOutput },\n { content: snappedComponentsOutput },\n { content: stagedComponentsOutput },\n { content: softTaggedComponentsOutput },\n { content: unavailableOnMainOutput },\n { content: autoTagPendingOutput, autoTag: true },\n { content: compWithIssuesOutput },\n { content: invalidComponentOutput },\n { content: locallySoftRemovedOutput },\n { content: remotelySoftRemovedOutput },\n ];\n\n for (const entry of sectionEntries) {\n if (!entry.content) continue;\n if (entry.autoTag) {\n const count = autoTagPendingComponents.length;\n const scopeCounts = countBy(autoTagPendingComponents, (id) => id.scope);\n const sorted = Object.entries(scopeCounts).sort(([, a], [, b]) => b - a);\n const MAX_SHOWN = 4;\n const shown = sorted.slice(0, MAX_SHOWN).map(([scope, n]) => `${scope} (${n})`);\n const remaining = sorted.length - MAX_SHOWN;\n const scopeLine = remaining > 0 ? [...shown, `+ ${remaining} more scopes`].join(' · ') : shown.join(' · ');\n const title = chalk.bold.white(`components pending auto-tag (${count})`);\n const desc = chalk.dim(` ${autoTagPendingDesc}`);\n const scopes = ` ${scopeLine}`;\n const hint = chalk.dim('— use --expand to list');\n sections.push({\n content: entry.content,\n collapsible: {\n summary: `${title}\\n${desc}\\n${scopes} ${hint}`,\n },\n });\n } else {\n sections.push({ content: entry.content });\n }\n }\n\n const suffixParts = [showWarningsStr.trim(), troubleshootingStr.trim()].filter(Boolean);\n if (suffixParts.length) sections.push({ content: suffixParts.join('\\n') });\n\n const wsIssuesStr = getWorkspaceIssuesOutput().trim();\n if (wsIssuesStr) sections.push({ content: wsIssuesStr });\n\n const laneInfoStr = getLaneStr().trim();\n if (laneInfoStr) sections.push({ content: laneInfoStr });\n\n if (!sections.length) {\n sections.push({ content: `${successSymbol()} ${chalk.yellow(statusWorkspaceIsCleanMsg)}` });\n }\n\n return {\n data: results,\n code: exitCode,\n sections,\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,21 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/status",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.944",
|
|
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.
|
|
9
|
+
"version": "1.0.944"
|
|
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.1306",
|
|
16
15
|
"@teambit/component-id": "1.2.4",
|
|
17
16
|
"@teambit/legacy.constants": "0.0.24",
|
|
18
|
-
"@teambit/logger": "0.0.1399",
|
|
19
17
|
"@teambit/component-issues": "0.0.171",
|
|
20
18
|
"@teambit/component-version": "1.0.4",
|
|
21
19
|
"@teambit/component.snap-distance": "0.0.104",
|
|
@@ -24,14 +22,16 @@
|
|
|
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/
|
|
28
|
-
"@teambit/
|
|
29
|
-
"@teambit/
|
|
30
|
-
"@teambit/
|
|
31
|
-
"@teambit/
|
|
32
|
-
"@teambit/
|
|
33
|
-
"@teambit/
|
|
34
|
-
"@teambit/
|
|
25
|
+
"@teambit/cli": "0.0.1307",
|
|
26
|
+
"@teambit/logger": "0.0.1400",
|
|
27
|
+
"@teambit/component": "1.0.926",
|
|
28
|
+
"@teambit/insights": "1.0.927",
|
|
29
|
+
"@teambit/issues": "1.0.926",
|
|
30
|
+
"@teambit/lanes": "1.0.940",
|
|
31
|
+
"@teambit/merging": "1.0.927",
|
|
32
|
+
"@teambit/objects": "0.0.433",
|
|
33
|
+
"@teambit/remove": "1.0.926",
|
|
34
|
+
"@teambit/workspace": "1.0.926"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@types/lodash": "4.14.165",
|
|
File without changes
|