@teambit/status 1.0.936 → 1.0.938
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-formatter.js
CHANGED
|
@@ -19,6 +19,13 @@ 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
|
+
}
|
|
22
29
|
function _lodash() {
|
|
23
30
|
const data = require("lodash");
|
|
24
31
|
_lodash = function () {
|
|
@@ -72,49 +79,44 @@ function formatStatusOutput(statusResult, options = {}) {
|
|
|
72
79
|
function format(id, showIssues = false, message, localVersions, showSoftTagMsg = true) {
|
|
73
80
|
const idWithIssues = componentsWithIssues.find(c => c.id.isEqual(id));
|
|
74
81
|
const isSoftTagged = Boolean(softTaggedComponents.find(softTaggedId => softTaggedId.isEqual(id)));
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
return
|
|
81
|
-
};
|
|
82
|
-
const getColor = () => {
|
|
83
|
-
if (message) return 'yellow';
|
|
84
|
-
if (idWithIssues) return idWithIssues.issues.hasTagBlockerIssues() ? 'red' : 'yellow';
|
|
85
|
-
return 'green';
|
|
82
|
+
const hasTagBlocker = idWithIssues?.issues.hasTagBlockerIssues();
|
|
83
|
+
const isClean = !message && !idWithIssues;
|
|
84
|
+
const getSymbol = () => {
|
|
85
|
+
if (message) return _chalk().default.yellow('⚠');
|
|
86
|
+
if (idWithIssues) return hasTagBlocker ? _chalk().default.red('✖') : _chalk().default.yellow('⚠');
|
|
87
|
+
return _logger().Logger.successSymbol();
|
|
86
88
|
};
|
|
87
|
-
|
|
88
|
-
const messageStatusTextWithSoftTag = isSoftTagged && showSoftTagMsg ? `${messageStatusText} (soft-tagged)` : messageStatusText;
|
|
89
|
-
const messageStatus = _chalk().default[getColor()](messageStatusTextWithSoftTag);
|
|
90
|
-
let idFormatted = _chalk().default.white(' > ') + _chalk().default.cyan(id.toStringWithoutVersion());
|
|
91
|
-
if (!showIssues && !localVersions) {
|
|
92
|
-
return `${idFormatted} ... ${messageStatus}`;
|
|
93
|
-
}
|
|
89
|
+
let idFormatted = ` ${getSymbol()} ` + _chalk().default.cyan(id.toStringWithoutVersion());
|
|
94
90
|
if (localVersions) {
|
|
95
91
|
if (verbose) {
|
|
96
|
-
idFormatted +=
|
|
92
|
+
idFormatted += ` - versions: ${localVersions.join(', ')}`;
|
|
97
93
|
} else {
|
|
98
94
|
const [snaps, tags] = (0, _lodash().partition)(localVersions, version => (0, _componentVersion().isHash)(version));
|
|
99
95
|
const tagsStr = tags.length ? `versions: ${tags.join(', ')}` : '';
|
|
100
96
|
const snapsStr = snaps.length ? `${snaps.length} snap(s)` : '';
|
|
101
|
-
idFormatted +=
|
|
102
|
-
idFormatted += tagsStr && snapsStr ? `${tagsStr}
|
|
97
|
+
idFormatted += ' - ';
|
|
98
|
+
idFormatted += tagsStr && snapsStr ? `${tagsStr}, ${snapsStr}` : tagsStr || snapsStr;
|
|
103
99
|
}
|
|
104
100
|
}
|
|
105
|
-
idFormatted += ' ... ';
|
|
106
101
|
if (showIssues && idWithIssues) {
|
|
107
102
|
showTroubleshootingLink = true;
|
|
108
|
-
const issuesTxt =
|
|
109
|
-
const issuesColor =
|
|
110
|
-
return `${idFormatted} ${_chalk().default[issuesColor](issuesTxt)}${formatIssues(idWithIssues.issues)}`;
|
|
103
|
+
const issuesTxt = hasTagBlocker ? _legacy().statusFailureMsg : _legacy().statusWarningsMsg;
|
|
104
|
+
const issuesColor = hasTagBlocker ? 'red' : 'yellow';
|
|
105
|
+
return `${idFormatted} ... ${_chalk().default[issuesColor](issuesTxt)}${formatIssues(idWithIssues.issues)}`;
|
|
106
|
+
}
|
|
107
|
+
if (isClean) {
|
|
108
|
+
const softTagSuffix = isSoftTagged && showSoftTagMsg ? _chalk().default.green(' (soft-tagged)') : '';
|
|
109
|
+
return `${idFormatted}${softTagSuffix}`;
|
|
111
110
|
}
|
|
112
|
-
|
|
111
|
+
const statusText = message || (hasTagBlocker ? _legacy().statusFailureMsg : _legacy().statusWarningsMsg);
|
|
112
|
+
const statusColor = message ? 'yellow' : hasTagBlocker ? 'red' : 'yellow';
|
|
113
|
+
const statusTextWithSoftTag = isSoftTagged && showSoftTagMsg ? `${statusText} (soft-tagged)` : statusText;
|
|
114
|
+
return `${idFormatted} ... ${_chalk().default[statusColor](statusTextWithSoftTag)}`;
|
|
113
115
|
}
|
|
114
116
|
function formatCategory(title, description, compsOutput) {
|
|
115
117
|
if (!compsOutput.length) return '';
|
|
116
|
-
const titleOutput = _chalk().default.
|
|
117
|
-
const descOutput = description ? `${description}\n` : '';
|
|
118
|
+
const titleOutput = _chalk().default.bold.white(`${title} (${compsOutput.length})`);
|
|
119
|
+
const descOutput = description ? `${_chalk().default.dim(description)}\n` : '';
|
|
118
120
|
return [titleOutput, descOutput, ...compsOutput].join('\n');
|
|
119
121
|
}
|
|
120
122
|
const importPendingWarning = importPendingComponents.length ? _chalk().default.yellow(`${_legacy().IMPORT_PENDING_MSG}.\n`) : '';
|
|
@@ -129,14 +131,14 @@ function formatStatusOutput(statusResult, options = {}) {
|
|
|
129
131
|
const outdatedDesc = '(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)';
|
|
130
132
|
const outdatedComps = outdatedComponents.map(component => {
|
|
131
133
|
const latest = component.latestVersion && component.latestVersion !== component.headVersion ? ` latest: ${component.latestVersion}` : '';
|
|
132
|
-
return `
|
|
134
|
+
return ` ${_chalk().default.yellow('⚠')} ${_chalk().default.cyan(component.id.toStringWithoutVersion())} current: ${component.id.version} head: ${component.headVersion}${latest}`;
|
|
133
135
|
});
|
|
134
136
|
const outdatedStr = formatCategory(outdatedTitle, outdatedDesc, outdatedComps);
|
|
135
137
|
const pendingMergeTitle = 'pending merge';
|
|
136
138
|
const pendingMergeDesc = `(use "bit reset" to discard local tags/snaps, and bit checkout head to re-merge with the remote.
|
|
137
139
|
alternatively, to keep local tags/snaps history, use "bit merge [component-id]")`;
|
|
138
140
|
const pendingMergeComps = mergePendingComponents.map(component => {
|
|
139
|
-
return `
|
|
141
|
+
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`;
|
|
140
142
|
});
|
|
141
143
|
const pendingMergeStr = formatCategory(pendingMergeTitle, pendingMergeDesc, pendingMergeComps);
|
|
142
144
|
const compDuringMergeTitle = 'components in merge state';
|
|
@@ -145,9 +147,8 @@ to cancel the merge operation, use either "bit lane merge-abort" (for prior "bit
|
|
|
145
147
|
or use "bit merge [component-id] --abort" (for prior "bit merge" command)`;
|
|
146
148
|
const compDuringMergeComps = componentsDuringMergeState.map(c => format(c));
|
|
147
149
|
const compDuringMergeStr = formatCategory(compDuringMergeTitle, compDuringMergeDesc, compDuringMergeComps);
|
|
148
|
-
const newComponentDescription = '
|
|
149
|
-
const
|
|
150
|
-
const newComponentsOutput = [newComponentsTitle, ...(nonMissing || []), ...(missing || [])].join('\n');
|
|
150
|
+
const newComponentDescription = '(use "bit snap/tag" to lock a version with all your changes)';
|
|
151
|
+
const newComponentsOutput = formatCategory('new components', newComponentDescription, [...(nonMissing || []), ...(missing || [])]);
|
|
151
152
|
const modifiedDesc = '(use "bit diff" to compare changes)';
|
|
152
153
|
const modifiedComponentOutput = formatCategory('modified components', modifiedDesc, modifiedComponents.map(c => format(c)));
|
|
153
154
|
const autoTagPendingTitle = 'components pending auto-tag (when their modified dependencies are tagged)';
|
|
@@ -200,15 +201,15 @@ use "bit fetch ${forkedLaneId.toString()} --lanes" to update ${forkedLaneId.name
|
|
|
200
201
|
};
|
|
201
202
|
const getWorkspaceIssuesOutput = () => {
|
|
202
203
|
if (!workspaceIssues.length) return '';
|
|
203
|
-
const title = _chalk().default.
|
|
204
|
+
const title = _chalk().default.bold.white('workspace issues');
|
|
204
205
|
const issues = workspaceIssues.join('\n');
|
|
205
206
|
return `\n\n${title}\n${issues}`;
|
|
206
207
|
};
|
|
207
208
|
const troubleshootingStr = showTroubleshootingLink ? `\n${TROUBLESHOOTING_MESSAGE}` : '';
|
|
208
209
|
const wereWarningsFilteredOut = componentsWithIssuesToPrint.length < componentsWithIssues.length;
|
|
209
210
|
const showWarningsStr = wereWarningsFilteredOut ? `\n${_chalk().default.yellow('to view the warnings, use --warnings flag.')}` : '';
|
|
210
|
-
const statusMsg = importPendingWarning + (0, _lodash().compact)([outdatedStr, pendingMergeStr, updatesFromMainOutput, updatesFromForkedOutput, compDuringMergeStr, localOnlyComponentsOutput, newComponentsOutput, modifiedComponentOutput, snappedComponentsOutput, stagedComponentsOutput, softTaggedComponentsOutput, unavailableOnMainOutput, autoTagPendingOutput, compWithIssuesOutput, invalidComponentOutput, locallySoftRemovedOutput, remotelySoftRemovedOutput]).join(
|
|
211
|
-
const results = (statusMsg || _chalk().default.yellow(_legacy().statusWorkspaceIsCleanMsg)) + getWorkspaceIssuesOutput() + getLaneStr();
|
|
211
|
+
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;
|
|
212
|
+
const results = (statusMsg || `${_logger().Logger.successSymbol()} ${_chalk().default.yellow(_legacy().statusWorkspaceIsCleanMsg)}`) + getWorkspaceIssuesOutput() + getLaneStr();
|
|
212
213
|
|
|
213
214
|
// Determine exit code based on flags
|
|
214
215
|
let exitCode = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_legacy","_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","getStatusText","issues","hasTagBlockerIssues","statusFailureMsg","statusWarningsMsg","getColor","messageStatusText","messageStatusTextWithSoftTag","messageStatus","idFormatted","white","cyan","toStringWithoutVersion","join","snaps","tags","partition","version","isHash","tagsStr","length","snapsStr","issuesTxt","issuesColor","formatIssues","formatCategory","title","description","compsOutput","titleOutput","underline","descOutput","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","newComponentsTitle","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","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 { 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 getStatusText = () => {\n if (message) return message;\n if (idWithIssues) {\n return idWithIssues.issues.hasTagBlockerIssues() ? statusFailureMsg : statusWarningsMsg;\n }\n return 'ok';\n };\n const getColor = () => {\n if (message) return 'yellow';\n if (idWithIssues) return idWithIssues.issues.hasTagBlockerIssues() ? 'red' : 'yellow';\n return 'green';\n };\n const messageStatusText = getStatusText();\n const messageStatusTextWithSoftTag =\n isSoftTagged && showSoftTagMsg ? `${messageStatusText} (soft-tagged)` : messageStatusText;\n const messageStatus = chalk[getColor()](messageStatusTextWithSoftTag);\n let idFormatted = chalk.white(' > ') + chalk.cyan(id.toStringWithoutVersion());\n\n if (!showIssues && !localVersions) {\n return `${idFormatted} ... ${messageStatus}`;\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}. and ${snapsStr}` : tagsStr || snapsStr;\n }\n }\n idFormatted += ' ... ';\n if (showIssues && idWithIssues) {\n showTroubleshootingLink = true;\n const issuesTxt = idWithIssues.issues.hasTagBlockerIssues() ? statusFailureMsg : statusWarningsMsg;\n const issuesColor = idWithIssues.issues.hasTagBlockerIssues() ? 'red' : 'yellow';\n return `${idFormatted} ${chalk[issuesColor](issuesTxt)}${formatIssues(idWithIssues.issues)}`;\n }\n return `${idFormatted}${messageStatus}`;\n }\n\n function formatCategory(title: string, description: string, compsOutput: string[]) {\n if (!compsOutput.length) return '';\n const titleOutput = chalk.underline.white(`${title} (${compsOutput.length})`);\n const descOutput = description ? `${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.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.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 = '\\n(use \"bit snap/tag\" to lock a version with all your changes)\\n';\n const newComponentsTitle = newComponents.length\n ? chalk.underline.white('new components') + newComponentDescription\n : '';\n\n const newComponentsOutput = [newComponentsTitle, ...(nonMissing || []), ...(missing || [])].join('\\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.underline.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(chalk.underline('\\n \\n') + chalk.white('\\n')) +\n showWarningsStr +\n troubleshootingStr;\n\n const results = (statusMsg || chalk.yellow(statusWorkspaceIsCleanMsg)) + getWorkspaceIssuesOutput() + 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","_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":[]}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/status",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.938",
|
|
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.938"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "4.1.2",
|
|
@@ -18,20 +18,20 @@
|
|
|
18
18
|
"@teambit/component-issues": "0.0.170",
|
|
19
19
|
"@teambit/component-version": "1.0.4",
|
|
20
20
|
"@teambit/component.snap-distance": "0.0.103",
|
|
21
|
+
"@teambit/logger": "0.0.1397",
|
|
21
22
|
"@teambit/harmony": "0.4.7",
|
|
22
|
-
"@teambit/component": "1.0.
|
|
23
|
-
"@teambit/insights": "1.0.
|
|
24
|
-
"@teambit/issues": "1.0.
|
|
23
|
+
"@teambit/component": "1.0.921",
|
|
24
|
+
"@teambit/insights": "1.0.922",
|
|
25
|
+
"@teambit/issues": "1.0.921",
|
|
25
26
|
"@teambit/lane-id": "0.0.312",
|
|
27
|
+
"@teambit/lanes": "1.0.935",
|
|
26
28
|
"@teambit/legacy.component-list": "0.0.156",
|
|
27
29
|
"@teambit/legacy.consumer-component": "0.0.103",
|
|
28
30
|
"@teambit/legacy.consumer": "0.0.102",
|
|
29
|
-
"@teambit/
|
|
30
|
-
"@teambit/
|
|
31
|
-
"@teambit/
|
|
32
|
-
"@teambit/
|
|
33
|
-
"@teambit/workspace": "1.0.920",
|
|
34
|
-
"@teambit/lanes": "1.0.934"
|
|
31
|
+
"@teambit/merging": "1.0.922",
|
|
32
|
+
"@teambit/objects": "0.0.428",
|
|
33
|
+
"@teambit/remove": "1.0.921",
|
|
34
|
+
"@teambit/workspace": "1.0.921"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@types/lodash": "4.14.165",
|
|
File without changes
|