@teambit/status 0.0.103 → 0.0.106

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.
@@ -1,5 +1,6 @@
1
1
  import { Command, CommandOptions } from '@teambit/cli';
2
2
  import Component from '@teambit/legacy/dist/consumer/component';
3
+ import { DivergeData } from '@teambit/legacy/dist/scope/component-ops/diverge-data';
3
4
  import { StatusMain } from './status.main.runtime';
4
5
  export declare class StatusCmd implements Command {
5
6
  private status;
@@ -15,7 +16,10 @@ export declare class StatusCmd implements Command {
15
16
  json(): Promise<{
16
17
  newComponents: Component[];
17
18
  modifiedComponent: string[];
18
- stagedComponents: string[];
19
+ stagedComponents: {
20
+ id: string;
21
+ versions: string[];
22
+ }[];
19
23
  componentsWithIssues: {
20
24
  id: string;
21
25
  issues: {
@@ -33,6 +37,10 @@ export declare class StatusCmd implements Command {
33
37
  componentsWithIndividualFiles: string[];
34
38
  softTaggedComponents: string[];
35
39
  snappedComponents: string[];
40
+ pendingUpdatesFromMain: {
41
+ id: string;
42
+ divergeData: DivergeData;
43
+ }[];
36
44
  }>;
37
45
  report(_args: any, { strict, verbose }: {
38
46
  strict?: boolean;
@@ -164,12 +164,16 @@ class StatusCmd {
164
164
  componentsDuringMergeState,
165
165
  componentsWithIndividualFiles,
166
166
  softTaggedComponents,
167
- snappedComponents
167
+ snappedComponents,
168
+ pendingUpdatesFromMain
168
169
  } = await this.status.status();
169
170
  return {
170
171
  newComponents,
171
172
  modifiedComponent: modifiedComponent.map(c => c.id.toString()),
172
- stagedComponents: stagedComponents.map(c => c.id()),
173
+ stagedComponents: stagedComponents.map(c => ({
174
+ id: c.id(),
175
+ versions: c.getLocalTagsOrHashes()
176
+ })),
173
177
  componentsWithIssues: componentsWithIssues.map(c => {
174
178
  var _c$issues;
175
179
 
@@ -186,7 +190,11 @@ class StatusCmd {
186
190
  componentsDuringMergeState: componentsDuringMergeState.map(id => id.toString()),
187
191
  componentsWithIndividualFiles: componentsWithIndividualFiles.map(c => c.id.toString()),
188
192
  softTaggedComponents: softTaggedComponents.map(s => s.toString()),
189
- snappedComponents: snappedComponents.map(s => s.toString())
193
+ snappedComponents: snappedComponents.map(s => s.toString()),
194
+ pendingUpdatesFromMain: pendingUpdatesFromMain.map(p => ({
195
+ id: p.id.toString(),
196
+ divergeData: p.divergeData
197
+ }))
190
198
  };
191
199
  }
192
200
 
@@ -208,6 +216,7 @@ class StatusCmd {
208
216
  componentsWithIndividualFiles,
209
217
  softTaggedComponents,
210
218
  snappedComponents,
219
+ pendingUpdatesFromMain,
211
220
  laneName
212
221
  } = await this.status.status(); // If there is problem with at least one component we want to show a link to the
213
222
  // troubleshooting doc
@@ -283,7 +292,7 @@ class StatusCmd {
283
292
 
284
293
  const pendingMergeTitle = _chalk().default.underline.white('pending merge');
285
294
 
286
- const pendingMergeDesc = `(use "bit untag" to add local changes on top of the remote and discard local tags.
295
+ const pendingMergeDesc = `(use "bit reset" to add local changes on top of the remote and discard local tags.
287
296
  alternatively, to keep local tags/snaps history, use "bit merge <remote-name>/<lane-name> [component-id]")\n`;
288
297
  const pendingMergeComps = mergePendingComponents.map(component => {
289
298
  return ` > ${_chalk().default.cyan(component.id.toString())} local and remote have diverged and have ${component.diverge.snapsOnLocalOnly.length} and ${component.diverge.snapsOnRemoteOnly.length} different snaps each, respectively\n`;
@@ -310,12 +319,29 @@ or use "bit merge [component-id] --abort" to cancel the merge operation)\n`;
310
319
  const stagedDesc = '\n(use "bit export to push these components to a remote scope")\n';
311
320
  const stagedComponentsOutput = (0, _utils().immutableUnshift)( // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
312
321
  stagedComponents.map(c => format(c, true)), stagedComponents.length ? _chalk().default.underline.white('staged components') + stagedDesc : '').join('\n');
313
- const snappedDesc = '\n(use "bit tag --all [version]" or "bit tag --snapped [version]" to lock a version)\n';
322
+ const snappedDesc = '\n(use "bit tag [version]" or "bit tag --snapped [version]" to lock a version)\n';
314
323
  const snappedComponentsOutput = (0, _utils().immutableUnshift)( // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
315
324
  snappedComponents.map(c => format(c, true)), snappedComponents.length ? _chalk().default.underline.white('snapped components') + snappedDesc : '').join('\n');
325
+
326
+ const getUpdateFromMainMsg = divergeData => {
327
+ if (divergeData.err) return divergeData.err.message;
328
+ let msg = `main is ahead by ${divergeData.snapsOnRemoteOnly.length || 0} snaps`;
329
+
330
+ if (divergeData.snapsOnLocalOnly && verbose) {
331
+ var _divergeData$commonSn;
332
+
333
+ msg += ` (diverged since ${(_divergeData$commonSn = divergeData.commonSnapBeforeDiverge) === null || _divergeData$commonSn === void 0 ? void 0 : _divergeData$commonSn.toShortString()})`;
334
+ }
335
+
336
+ return msg;
337
+ };
338
+
339
+ const updatesFromMainDesc = '\n(EXPERIMENTAL. use "bit lane merge main" to merge the changes)\n';
340
+ const pendingUpdatesFromMainIds = pendingUpdatesFromMain.map(c => format(c.id, true, getUpdateFromMainMsg(c.divergeData)));
341
+ const updatesFromMainOutput = (0, _utils().immutableUnshift)(pendingUpdatesFromMainIds, pendingUpdatesFromMain.length ? _chalk().default.underline.white('pending updates from main') + updatesFromMainDesc : '').join('\n');
316
342
  const laneStr = laneName ? `\non ${_chalk().default.bold(laneName)} lane` : '';
317
343
  const troubleshootingStr = showTroubleshootingLink ? `\n${TROUBLESHOOTING_MESSAGE}` : '';
318
- const statusMsg = importPendingWarning + [outdatedStr, pendingMergeStr, compWithConflictsStr, newComponentsOutput, modifiedComponentOutput, snappedComponentsOutput, stagedComponentsOutput, autoTagPendingOutput, invalidComponentOutput, individualFilesOutput].filter(x => x).join(_chalk().default.underline('\n \n') + _chalk().default.white('\n')) + troubleshootingStr;
344
+ const statusMsg = importPendingWarning + [outdatedStr, pendingMergeStr, updatesFromMainOutput, compWithConflictsStr, newComponentsOutput, modifiedComponentOutput, snappedComponentsOutput, stagedComponentsOutput, autoTagPendingOutput, invalidComponentOutput, individualFilesOutput].filter(x => x).join(_chalk().default.underline('\n \n') + _chalk().default.white('\n')) + troubleshootingStr;
319
345
  const results = (statusMsg || _chalk().default.yellow(_constants().statusWorkspaceIsCleanMsg)) + laneStr;
320
346
  const exitCode = componentsWithIssues.length && strict ? 1 : 0;
321
347
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["individualFilesDesc","TROUBLESHOOTING_MESSAGE","chalk","yellow","BASE_DOCS_DOMAIN","StatusCmd","constructor","status","json","newComponents","modifiedComponent","stagedComponents","componentsWithIssues","importPendingComponents","autoTagPendingComponents","invalidComponents","outdatedComponents","mergePendingComponents","componentsDuringMergeState","componentsWithIndividualFiles","softTaggedComponents","snappedComponents","map","c","id","toString","issues","toObject","s","report","_args","strict","verbose","laneName","showTroubleshootingLink","format","component","showVersions","message","getBitId","BitId","Component","ModelComponent","toBitId","Error","bitId","find","compWithIssue","isEqual","softTagged","softTaggedId","messageStatusText","messageStatusTextWithSoftTag","color","messageStatus","formatBitString","toStringWithoutVersion","bitFormatted","formatNewBit","localVersions","getLocalTagsOrHashes","join","snaps","tags","partition","version","isHash","tagsStr","length","snapsStr","red","statusFailureMsg","formatIssues","importPendingWarning","IMPORT_PENDING_MSG","splitByMissing","R","groupBy","includes","missing","nonMissing","outdatedTitle","underline","white","outdatedDesc","outdatedComps","cyan","latestVersion","outdatedStr","pendingMergeTitle","pendingMergeDesc","pendingMergeComps","diverge","snapsOnLocalOnly","snapsOnRemoteOnly","pendingMergeStr","compWithConflictsTitle","compWithConflictsDesc","compWithConflictsComps","compWithConflictsStr","newComponentDescription","newComponentsTitle","newComponentsOutput","modifiedDesc","modifiedComponentOutput","immutableUnshift","autoTagPendingOutput","invalidDesc","invalidComponentOutput","getInvalidComponentLabel","error","sort","statusInvalidComponentsMsg","individualFilesOutput","stagedDesc","stagedComponentsOutput","snappedDesc","snappedComponentsOutput","laneStr","bold","troubleshootingStr","statusMsg","filter","x","results","statusWorkspaceIsCleanMsg","exitCode","data","code"],"sources":["status-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport R from 'ramda';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport Component from '@teambit/legacy/dist/consumer/component';\nimport { immutableUnshift } from '@teambit/legacy/dist/utils';\nimport { formatBitString, formatNewBit } from '@teambit/legacy/dist/cli/chalk-box';\nimport { getInvalidComponentLabel, formatIssues } from '@teambit/legacy/dist/cli/templates/component-issues-template';\nimport { ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport {\n BASE_DOCS_DOMAIN,\n IMPORT_PENDING_MSG,\n statusFailureMsg,\n statusInvalidComponentsMsg,\n statusWorkspaceIsCleanMsg,\n} from '@teambit/legacy/dist/constants';\nimport { partition } from 'lodash';\nimport { isHash } from '@teambit/component-version';\nimport { StatusMain, StatusResult } from './status.main.runtime';\n\nconst individualFilesDesc = `these components were added as individual files and not as directories, which are invalid in Harmony\nplease make sure each component has its own directory and re-add it. alternatively, use \"bit move --component\" to help with the move.`;\nconst TROUBLESHOOTING_MESSAGE = `${chalk.yellow(\n `learn more at https://${BASE_DOCS_DOMAIN}/components/adding-components`\n)}`;\n\nexport class StatusCmd implements Command {\n name = 'status';\n description = 'present the current status of components in the workspace, and notifies when issues are detected';\n group = 'development';\n extendedDescription: string;\n alias = 's';\n options = [\n ['j', 'json', 'return a json version of the component'],\n ['', 'verbose', 'show full snap hashes'],\n ['', 'strict', 'in case issues found, exit with code 1'],\n ] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private status: StatusMain) {}\n\n async json() {\n const {\n newComponents,\n modifiedComponent,\n stagedComponents,\n componentsWithIssues,\n importPendingComponents,\n autoTagPendingComponents,\n invalidComponents,\n outdatedComponents,\n mergePendingComponents,\n componentsDuringMergeState,\n componentsWithIndividualFiles,\n softTaggedComponents,\n snappedComponents,\n }: StatusResult = await this.status.status();\n return {\n newComponents,\n modifiedComponent: modifiedComponent.map((c) => c.id.toString()),\n stagedComponents: stagedComponents.map((c) => c.id()),\n componentsWithIssues: componentsWithIssues.map((c) => ({\n id: c.id.toString(),\n issues: c.issues?.toObject(),\n })),\n importPendingComponents: importPendingComponents.map((id) => id.toString()),\n autoTagPendingComponents: autoTagPendingComponents.map((s) => s.toString()),\n invalidComponents,\n outdatedComponents: outdatedComponents.map((c) => c.id.toString()),\n mergePendingComponents: mergePendingComponents.map((c) => c.id.toString()),\n componentsDuringMergeState: componentsDuringMergeState.map((id) => id.toString()),\n componentsWithIndividualFiles: componentsWithIndividualFiles.map((c) => c.id.toString()),\n softTaggedComponents: softTaggedComponents.map((s) => s.toString()),\n snappedComponents: snappedComponents.map((s) => s.toString()),\n };\n }\n\n async report(_args, { strict, verbose }: { strict?: boolean; verbose?: boolean }) {\n const {\n newComponents,\n modifiedComponent,\n stagedComponents,\n componentsWithIssues,\n importPendingComponents,\n autoTagPendingComponents,\n invalidComponents,\n outdatedComponents,\n mergePendingComponents,\n componentsDuringMergeState,\n componentsWithIndividualFiles,\n softTaggedComponents,\n snappedComponents,\n laneName,\n }: StatusResult = await this.status.status();\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(component: BitId | Component | ModelComponent, showVersions = false, message?: string): string {\n const getBitId = () => {\n if (component instanceof BitId) return component;\n if (component instanceof Component) return component.id;\n if (component instanceof ModelComponent) return component.toBitId();\n throw new Error(`type of component ${component} is not supported`);\n };\n const bitId = getBitId();\n const issues = componentsWithIssues.find((compWithIssue: Component) => compWithIssue.id.isEqual(bitId));\n const softTagged = softTaggedComponents.find((softTaggedId) => softTaggedId.isEqual(bitId));\n\n const messageStatusText = message || 'ok';\n const messageStatusTextWithSoftTag = softTagged ? `${messageStatusText} (soft-tagged)` : messageStatusText;\n const color = message ? 'yellow' : 'green';\n const messageStatus = chalk[color](messageStatusTextWithSoftTag);\n\n if (component instanceof BitId) {\n return `${formatBitString(component.toStringWithoutVersion())} ... ${messageStatus}`;\n }\n let bitFormatted = `${formatNewBit(component)}`;\n if (showVersions) {\n if (!(component instanceof ModelComponent)) {\n throw new Error(`expect \"${component}\" to be instance of ModelComponent`);\n }\n const localVersions = component.getLocalTagsOrHashes();\n if (verbose) {\n bitFormatted += `. 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 bitFormatted += `. `;\n bitFormatted += tagsStr && snapsStr ? `${tagsStr}. and ${snapsStr}` : tagsStr || snapsStr;\n }\n }\n bitFormatted += ' ... ';\n if (!issues) return `${bitFormatted}${messageStatus}`;\n showTroubleshootingLink = true;\n return `${bitFormatted} ${chalk.red(statusFailureMsg)}${formatIssues(issues)}`;\n }\n\n const importPendingWarning = importPendingComponents.length ? chalk.yellow(`${IMPORT_PENDING_MSG}.\\n`) : '';\n\n const splitByMissing = R.groupBy((component) => {\n return component.includes(statusFailureMsg) ? 'missing' : 'nonMissing';\n });\n const { missing, nonMissing } = splitByMissing(newComponents.map((c) => format(c)));\n\n const outdatedTitle = chalk.underline.white('pending updates');\n const outdatedDesc =\n '(use \"bit checkout [version] [component_id]\" 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';\n const outdatedComps = outdatedComponents\n .map((component) => {\n return ` > ${chalk.cyan(component.id.toStringWithoutVersion())} current: ${component.id.version} latest: ${\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n component.latestVersion\n }\\n`;\n })\n .join('');\n\n const outdatedStr = outdatedComponents.length ? [outdatedTitle, outdatedDesc, outdatedComps].join('\\n') : '';\n\n const pendingMergeTitle = chalk.underline.white('pending merge');\n const pendingMergeDesc = `(use \"bit untag\" to add local changes on top of the remote and discard local tags.\nalternatively, to keep local tags/snaps history, use \"bit merge <remote-name>/<lane-name> [component-id]\")\\n`;\n const pendingMergeComps = mergePendingComponents\n .map((component) => {\n return ` > ${chalk.cyan(component.id.toString())} local and remote have diverged and have ${\n component.diverge.snapsOnLocalOnly.length\n } and ${component.diverge.snapsOnRemoteOnly.length} different snaps each, respectively\\n`;\n })\n .join('');\n\n const pendingMergeStr = pendingMergeComps.length\n ? [pendingMergeTitle, pendingMergeDesc, pendingMergeComps].join('\\n')\n : '';\n\n const compWithConflictsTitle = chalk.underline.white('components during merge state');\n const compWithConflictsDesc = `(use \"bit merge [component-id] --resolve\" to mark them as resolved and snap the changes\nor use \"bit merge [component-id] --abort\" to cancel the merge operation)\\n`;\n const compWithConflictsComps = componentsDuringMergeState\n .map((id) => {\n return ` > ${chalk.cyan(id.toString())}`;\n })\n .join('');\n\n const compWithConflictsStr = compWithConflictsComps.length\n ? [compWithConflictsTitle, compWithConflictsDesc, compWithConflictsComps].join('\\n')\n : '';\n\n const newComponentDescription = '\\n(use \"bit tag --all [version]\" 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';\n const modifiedComponentOutput = immutableUnshift(\n modifiedComponent.map((c) => format(c)),\n modifiedComponent.length\n ? chalk.underline.white('modified components') + newComponentDescription + modifiedDesc\n : ''\n ).join('\\n');\n\n const autoTagPendingOutput = immutableUnshift(\n autoTagPendingComponents.map((c) => format(c)),\n autoTagPendingComponents.length\n ? chalk.underline.white('components pending to be tagged automatically (when their dependencies are tagged)')\n : ''\n ).join('\\n');\n\n const invalidDesc = '\\nthese components were failed to load.\\n';\n const invalidComponentOutput = immutableUnshift(\n invalidComponents.map((c) => format(c.id, true, getInvalidComponentLabel(c.error))).sort(),\n invalidComponents.length ? chalk.underline.white(statusInvalidComponentsMsg) + invalidDesc : ''\n ).join('\\n');\n\n const individualFilesOutput = immutableUnshift(\n componentsWithIndividualFiles.map((c) => format(c.id, false, 'individual files')).sort(),\n componentsWithIndividualFiles.length\n ? `${chalk.underline.white('components with individual files')}\\n${individualFilesDesc}\\n`\n : ''\n ).join('\\n');\n\n const stagedDesc = '\\n(use \"bit export to push these components to a remote scope\")\\n';\n const stagedComponentsOutput = immutableUnshift(\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n stagedComponents.map((c) => format(c, true)),\n stagedComponents.length ? chalk.underline.white('staged components') + stagedDesc : ''\n ).join('\\n');\n\n const snappedDesc = '\\n(use \"bit tag --all [version]\" or \"bit tag --snapped [version]\" to lock a version)\\n';\n const snappedComponentsOutput = immutableUnshift(\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n snappedComponents.map((c) => format(c, true)),\n snappedComponents.length ? chalk.underline.white('snapped components') + snappedDesc : ''\n ).join('\\n');\n\n const laneStr = laneName ? `\\non ${chalk.bold(laneName)} lane` : '';\n\n const troubleshootingStr = showTroubleshootingLink ? `\\n${TROUBLESHOOTING_MESSAGE}` : '';\n\n const statusMsg =\n importPendingWarning +\n [\n outdatedStr,\n pendingMergeStr,\n compWithConflictsStr,\n newComponentsOutput,\n modifiedComponentOutput,\n snappedComponentsOutput,\n stagedComponentsOutput,\n autoTagPendingOutput,\n invalidComponentOutput,\n individualFilesOutput,\n ]\n .filter((x) => x)\n .join(chalk.underline('\\n \\n') + chalk.white('\\n')) +\n troubleshootingStr;\n\n const results = (statusMsg || chalk.yellow(statusWorkspaceIsCleanMsg)) + laneStr;\n\n const exitCode = componentsWithIssues.length && strict ? 1 : 0;\n\n return {\n data: results,\n code: exitCode,\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["individualFilesDesc","TROUBLESHOOTING_MESSAGE","chalk","yellow","BASE_DOCS_DOMAIN","StatusCmd","constructor","status","json","newComponents","modifiedComponent","stagedComponents","componentsWithIssues","importPendingComponents","autoTagPendingComponents","invalidComponents","outdatedComponents","mergePendingComponents","componentsDuringMergeState","componentsWithIndividualFiles","softTaggedComponents","snappedComponents","pendingUpdatesFromMain","map","c","id","toString","versions","getLocalTagsOrHashes","issues","toObject","s","p","divergeData","report","_args","strict","verbose","laneName","showTroubleshootingLink","format","component","showVersions","message","getBitId","BitId","Component","ModelComponent","toBitId","Error","bitId","find","compWithIssue","isEqual","softTagged","softTaggedId","messageStatusText","messageStatusTextWithSoftTag","color","messageStatus","formatBitString","toStringWithoutVersion","bitFormatted","formatNewBit","localVersions","join","snaps","tags","partition","version","isHash","tagsStr","length","snapsStr","red","statusFailureMsg","formatIssues","importPendingWarning","IMPORT_PENDING_MSG","splitByMissing","R","groupBy","includes","missing","nonMissing","outdatedTitle","underline","white","outdatedDesc","outdatedComps","cyan","latestVersion","outdatedStr","pendingMergeTitle","pendingMergeDesc","pendingMergeComps","diverge","snapsOnLocalOnly","snapsOnRemoteOnly","pendingMergeStr","compWithConflictsTitle","compWithConflictsDesc","compWithConflictsComps","compWithConflictsStr","newComponentDescription","newComponentsTitle","newComponentsOutput","modifiedDesc","modifiedComponentOutput","immutableUnshift","autoTagPendingOutput","invalidDesc","invalidComponentOutput","getInvalidComponentLabel","error","sort","statusInvalidComponentsMsg","individualFilesOutput","stagedDesc","stagedComponentsOutput","snappedDesc","snappedComponentsOutput","getUpdateFromMainMsg","err","msg","commonSnapBeforeDiverge","toShortString","updatesFromMainDesc","pendingUpdatesFromMainIds","updatesFromMainOutput","laneStr","bold","troubleshootingStr","statusMsg","filter","x","results","statusWorkspaceIsCleanMsg","exitCode","data","code"],"sources":["status-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport R from 'ramda';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport Component from '@teambit/legacy/dist/consumer/component';\nimport { DivergeData } from '@teambit/legacy/dist/scope/component-ops/diverge-data';\nimport { immutableUnshift } from '@teambit/legacy/dist/utils';\nimport { formatBitString, formatNewBit } from '@teambit/legacy/dist/cli/chalk-box';\nimport { getInvalidComponentLabel, formatIssues } from '@teambit/legacy/dist/cli/templates/component-issues-template';\nimport { ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport {\n BASE_DOCS_DOMAIN,\n IMPORT_PENDING_MSG,\n statusFailureMsg,\n statusInvalidComponentsMsg,\n statusWorkspaceIsCleanMsg,\n} from '@teambit/legacy/dist/constants';\nimport { partition } from 'lodash';\nimport { isHash } from '@teambit/component-version';\nimport { StatusMain, StatusResult } from './status.main.runtime';\n\nconst individualFilesDesc = `these components were added as individual files and not as directories, which are invalid in Harmony\nplease make sure each component has its own directory and re-add it. alternatively, use \"bit move --component\" to help with the move.`;\nconst TROUBLESHOOTING_MESSAGE = `${chalk.yellow(\n `learn more at https://${BASE_DOCS_DOMAIN}/components/adding-components`\n)}`;\n\nexport class StatusCmd implements Command {\n name = 'status';\n description = 'present the current status of components in the workspace, and notifies when issues are detected';\n group = 'development';\n extendedDescription: string;\n alias = 's';\n options = [\n ['j', 'json', 'return a json version of the component'],\n ['', 'verbose', 'show full snap hashes'],\n ['', 'strict', 'in case issues found, exit with code 1'],\n ] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private status: StatusMain) {}\n\n async json() {\n const {\n newComponents,\n modifiedComponent,\n stagedComponents,\n componentsWithIssues,\n importPendingComponents,\n autoTagPendingComponents,\n invalidComponents,\n outdatedComponents,\n mergePendingComponents,\n componentsDuringMergeState,\n componentsWithIndividualFiles,\n softTaggedComponents,\n snappedComponents,\n pendingUpdatesFromMain,\n }: StatusResult = await this.status.status();\n return {\n newComponents,\n modifiedComponent: modifiedComponent.map((c) => c.id.toString()),\n stagedComponents: stagedComponents.map((c) => ({ id: c.id(), versions: c.getLocalTagsOrHashes() })),\n componentsWithIssues: componentsWithIssues.map((c) => ({\n id: c.id.toString(),\n issues: c.issues?.toObject(),\n })),\n importPendingComponents: importPendingComponents.map((id) => id.toString()),\n autoTagPendingComponents: autoTagPendingComponents.map((s) => s.toString()),\n invalidComponents,\n outdatedComponents: outdatedComponents.map((c) => c.id.toString()),\n mergePendingComponents: mergePendingComponents.map((c) => c.id.toString()),\n componentsDuringMergeState: componentsDuringMergeState.map((id) => id.toString()),\n componentsWithIndividualFiles: componentsWithIndividualFiles.map((c) => c.id.toString()),\n softTaggedComponents: softTaggedComponents.map((s) => s.toString()),\n snappedComponents: snappedComponents.map((s) => s.toString()),\n pendingUpdatesFromMain: pendingUpdatesFromMain.map((p) => ({ id: p.id.toString(), divergeData: p.divergeData })),\n };\n }\n\n async report(_args, { strict, verbose }: { strict?: boolean; verbose?: boolean }) {\n const {\n newComponents,\n modifiedComponent,\n stagedComponents,\n componentsWithIssues,\n importPendingComponents,\n autoTagPendingComponents,\n invalidComponents,\n outdatedComponents,\n mergePendingComponents,\n componentsDuringMergeState,\n componentsWithIndividualFiles,\n softTaggedComponents,\n snappedComponents,\n pendingUpdatesFromMain,\n laneName,\n }: StatusResult = await this.status.status();\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(component: BitId | Component | ModelComponent, showVersions = false, message?: string): string {\n const getBitId = () => {\n if (component instanceof BitId) return component;\n if (component instanceof Component) return component.id;\n if (component instanceof ModelComponent) return component.toBitId();\n throw new Error(`type of component ${component} is not supported`);\n };\n const bitId = getBitId();\n const issues = componentsWithIssues.find((compWithIssue: Component) => compWithIssue.id.isEqual(bitId));\n const softTagged = softTaggedComponents.find((softTaggedId) => softTaggedId.isEqual(bitId));\n\n const messageStatusText = message || 'ok';\n const messageStatusTextWithSoftTag = softTagged ? `${messageStatusText} (soft-tagged)` : messageStatusText;\n const color = message ? 'yellow' : 'green';\n const messageStatus = chalk[color](messageStatusTextWithSoftTag);\n\n if (component instanceof BitId) {\n return `${formatBitString(component.toStringWithoutVersion())} ... ${messageStatus}`;\n }\n let bitFormatted = `${formatNewBit(component)}`;\n if (showVersions) {\n if (!(component instanceof ModelComponent)) {\n throw new Error(`expect \"${component}\" to be instance of ModelComponent`);\n }\n const localVersions = component.getLocalTagsOrHashes();\n if (verbose) {\n bitFormatted += `. 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 bitFormatted += `. `;\n bitFormatted += tagsStr && snapsStr ? `${tagsStr}. and ${snapsStr}` : tagsStr || snapsStr;\n }\n }\n bitFormatted += ' ... ';\n if (!issues) return `${bitFormatted}${messageStatus}`;\n showTroubleshootingLink = true;\n return `${bitFormatted} ${chalk.red(statusFailureMsg)}${formatIssues(issues)}`;\n }\n\n const importPendingWarning = importPendingComponents.length ? chalk.yellow(`${IMPORT_PENDING_MSG}.\\n`) : '';\n\n const splitByMissing = R.groupBy((component) => {\n return component.includes(statusFailureMsg) ? 'missing' : 'nonMissing';\n });\n const { missing, nonMissing } = splitByMissing(newComponents.map((c) => format(c)));\n\n const outdatedTitle = chalk.underline.white('pending updates');\n const outdatedDesc =\n '(use \"bit checkout [version] [component_id]\" 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';\n const outdatedComps = outdatedComponents\n .map((component) => {\n return ` > ${chalk.cyan(component.id.toStringWithoutVersion())} current: ${component.id.version} latest: ${\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n component.latestVersion\n }\\n`;\n })\n .join('');\n\n const outdatedStr = outdatedComponents.length ? [outdatedTitle, outdatedDesc, outdatedComps].join('\\n') : '';\n\n const pendingMergeTitle = chalk.underline.white('pending merge');\n const pendingMergeDesc = `(use \"bit reset\" to add local changes on top of the remote and discard local tags.\nalternatively, to keep local tags/snaps history, use \"bit merge <remote-name>/<lane-name> [component-id]\")\\n`;\n const pendingMergeComps = mergePendingComponents\n .map((component) => {\n return ` > ${chalk.cyan(component.id.toString())} local and remote have diverged and have ${\n component.diverge.snapsOnLocalOnly.length\n } and ${component.diverge.snapsOnRemoteOnly.length} different snaps each, respectively\\n`;\n })\n .join('');\n\n const pendingMergeStr = pendingMergeComps.length\n ? [pendingMergeTitle, pendingMergeDesc, pendingMergeComps].join('\\n')\n : '';\n\n const compWithConflictsTitle = chalk.underline.white('components during merge state');\n const compWithConflictsDesc = `(use \"bit merge [component-id] --resolve\" to mark them as resolved and snap the changes\nor use \"bit merge [component-id] --abort\" to cancel the merge operation)\\n`;\n const compWithConflictsComps = componentsDuringMergeState\n .map((id) => {\n return ` > ${chalk.cyan(id.toString())}`;\n })\n .join('');\n\n const compWithConflictsStr = compWithConflictsComps.length\n ? [compWithConflictsTitle, compWithConflictsDesc, compWithConflictsComps].join('\\n')\n : '';\n\n const newComponentDescription = '\\n(use \"bit tag --all [version]\" 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';\n const modifiedComponentOutput = immutableUnshift(\n modifiedComponent.map((c) => format(c)),\n modifiedComponent.length\n ? chalk.underline.white('modified components') + newComponentDescription + modifiedDesc\n : ''\n ).join('\\n');\n\n const autoTagPendingOutput = immutableUnshift(\n autoTagPendingComponents.map((c) => format(c)),\n autoTagPendingComponents.length\n ? chalk.underline.white('components pending to be tagged automatically (when their dependencies are tagged)')\n : ''\n ).join('\\n');\n\n const invalidDesc = '\\nthese components were failed to load.\\n';\n const invalidComponentOutput = immutableUnshift(\n invalidComponents.map((c) => format(c.id, true, getInvalidComponentLabel(c.error))).sort(),\n invalidComponents.length ? chalk.underline.white(statusInvalidComponentsMsg) + invalidDesc : ''\n ).join('\\n');\n\n const individualFilesOutput = immutableUnshift(\n componentsWithIndividualFiles.map((c) => format(c.id, false, 'individual files')).sort(),\n componentsWithIndividualFiles.length\n ? `${chalk.underline.white('components with individual files')}\\n${individualFilesDesc}\\n`\n : ''\n ).join('\\n');\n\n const stagedDesc = '\\n(use \"bit export to push these components to a remote scope\")\\n';\n const stagedComponentsOutput = immutableUnshift(\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n stagedComponents.map((c) => format(c, true)),\n stagedComponents.length ? chalk.underline.white('staged components') + stagedDesc : ''\n ).join('\\n');\n\n const snappedDesc = '\\n(use \"bit tag [version]\" or \"bit tag --snapped [version]\" to lock a version)\\n';\n const snappedComponentsOutput = immutableUnshift(\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n snappedComponents.map((c) => format(c, true)),\n snappedComponents.length ? chalk.underline.white('snapped components') + snappedDesc : ''\n ).join('\\n');\n\n const getUpdateFromMainMsg = (divergeData: DivergeData): string => {\n if (divergeData.err) return divergeData.err.message;\n let msg = `main is ahead by ${divergeData.snapsOnRemoteOnly.length || 0} snaps`;\n if (divergeData.snapsOnLocalOnly && verbose) {\n msg += ` (diverged since ${divergeData.commonSnapBeforeDiverge?.toShortString()})`;\n }\n return msg;\n };\n const updatesFromMainDesc = '\\n(EXPERIMENTAL. use \"bit lane merge main\" to merge the changes)\\n';\n const pendingUpdatesFromMainIds = pendingUpdatesFromMain.map((c) =>\n format(c.id, true, getUpdateFromMainMsg(c.divergeData))\n );\n const updatesFromMainOutput = immutableUnshift(\n pendingUpdatesFromMainIds,\n pendingUpdatesFromMain.length ? chalk.underline.white('pending updates from main') + updatesFromMainDesc : ''\n ).join('\\n');\n\n const laneStr = laneName ? `\\non ${chalk.bold(laneName)} lane` : '';\n\n const troubleshootingStr = showTroubleshootingLink ? `\\n${TROUBLESHOOTING_MESSAGE}` : '';\n\n const statusMsg =\n importPendingWarning +\n [\n outdatedStr,\n pendingMergeStr,\n updatesFromMainOutput,\n compWithConflictsStr,\n newComponentsOutput,\n modifiedComponentOutput,\n snappedComponentsOutput,\n stagedComponentsOutput,\n autoTagPendingOutput,\n invalidComponentOutput,\n individualFilesOutput,\n ]\n .filter((x) => x)\n .join(chalk.underline('\\n \\n') + chalk.white('\\n')) +\n troubleshootingStr;\n\n const results = (statusMsg || chalk.yellow(statusWorkspaceIsCleanMsg)) + laneStr;\n\n const exitCode = componentsWithIssues.length && strict ? 1 : 0;\n\n return {\n data: results,\n code: exitCode,\n };\n }\n}\n"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { CLIMain } from '@teambit/cli';
2
2
  import { Workspace } from '@teambit/workspace';
3
3
  import { BitId, BitIds } from '@teambit/legacy/dist/bit-id';
4
4
  import ConsumerComponent from '@teambit/legacy/dist/consumer/component';
5
- import { DivergedComponent } from '@teambit/legacy/dist/consumer/component/components-list';
5
+ import { DivergeDataPerId, DivergedComponent } from '@teambit/legacy/dist/consumer/component/components-list';
6
6
  import { InvalidComponent } from '@teambit/legacy/dist/consumer/component/consumer-component';
7
7
  import { ModelComponent } from '@teambit/legacy/dist/scope/models';
8
8
  import { InsightsMain } from '@teambit/insights';
@@ -21,6 +21,7 @@ export declare type StatusResult = {
21
21
  componentsWithIndividualFiles: ConsumerComponent[];
22
22
  softTaggedComponents: BitId[];
23
23
  snappedComponents: BitId[];
24
+ pendingUpdatesFromMain: DivergeDataPerId[];
24
25
  laneName: string | null;
25
26
  };
26
27
  export declare class StatusMain {
@@ -198,6 +198,7 @@ class StatusMain {
198
198
  const componentsDuringMergeState = componentsList.listDuringMergeStateComponents();
199
199
  const softTaggedComponents = componentsList.listSoftTaggedComponents();
200
200
  const snappedComponents = (await componentsList.listSnappedComponentsOnMain()).map(c => c.toBitId());
201
+ const pendingUpdatesFromMain = await componentsList.listUpdatesFromMainPending();
201
202
  const currentLane = consumer.getCurrentLaneId();
202
203
  const laneName = currentLane.isDefault() ? null : currentLane.name;
203
204
 
@@ -230,6 +231,7 @@ class StatusMain {
230
231
  componentsWithIndividualFiles: await componentsList.listComponentsWithIndividualFiles(),
231
232
  softTaggedComponents,
232
233
  snappedComponents,
234
+ pendingUpdatesFromMain,
233
235
  laneName
234
236
  };
235
237
  }
@@ -1 +1 @@
1
- {"version":3,"names":["StatusMain","constructor","workspace","issues","insights","status","ConsumerNotFound","loader","start","BEFORE_STATUS","consumer","laneObj","getCurrentLaneObject","componentsList","ComponentsList","newComponents","listNewComponents","modifiedComponent","listModifiedComponents","stagedComponents","listExportPendingComponents","autoTagPendingComponents","listAutoTagPendingComponents","autoTagPendingComponentsIds","map","component","id","allInvalidComponents","listInvalidComponents","importPendingComponents","filter","c","error","ComponentsPendingImport","i","invalidComponents","outdatedComponents","listOutdatedComponents","mergePendingComponents","listMergePendingComponents","newAndModifiedLegacy","concat","issuesToIgnore","getIssuesToIgnoreGlobally","length","newAndModified","getManyByLegacy","includes","IssuesClasses","CircularDependencies","name","addInsightsAsComponentIssues","removeIgnoredIssuesFromComponents","componentsWithIssues","isEmpty","componentsDuringMergeState","listDuringMergeStateComponents","softTaggedComponents","listSoftTaggedComponents","snappedComponents","listSnappedComponentsOnMain","toBitId","currentLane","getCurrentLaneId","laneName","isDefault","Analytics","setExtraData","onDestroy","sortComponentsByName","componentsWithIndividualFiles","listComponentsWithIndividualFiles","provider","cli","statusMain","register","StatusCmd","CLIAspect","WorkspaceAspect","InsightsAspect","IssuesAspect","MainRuntime","StatusAspect","addRuntime"],"sources":["status.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { Analytics } from '@teambit/legacy/dist/analytics/analytics';\nimport { BitId, BitIds } from '@teambit/legacy/dist/bit-id';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport { BEFORE_STATUS } from '@teambit/legacy/dist/cli/loader/loader-messages';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport ComponentsPendingImport from '@teambit/legacy/dist/consumer/component-ops/exceptions/components-pending-import';\nimport ComponentsList, { DivergedComponent } from '@teambit/legacy/dist/consumer/component/components-list';\nimport { InvalidComponent } from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport { ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport { InsightsAspect, InsightsMain } from '@teambit/insights';\nimport IssuesAspect, { IssuesMain } from '@teambit/issues';\nimport { StatusCmd } from './status-cmd';\nimport { StatusAspect } from './status.aspect';\n\nexport type StatusResult = {\n newComponents: ConsumerComponent[];\n modifiedComponent: ConsumerComponent[];\n stagedComponents: ModelComponent[];\n componentsWithIssues: ConsumerComponent[];\n importPendingComponents: BitId[];\n autoTagPendingComponents: BitId[];\n invalidComponents: InvalidComponent[];\n outdatedComponents: ConsumerComponent[];\n mergePendingComponents: DivergedComponent[];\n componentsDuringMergeState: BitIds;\n componentsWithIndividualFiles: ConsumerComponent[];\n softTaggedComponents: BitId[];\n snappedComponents: BitId[];\n laneName: string | null; // null if default\n};\n\nexport class StatusMain {\n constructor(private workspace: Workspace, private issues: IssuesMain, private insights: InsightsMain) {}\n\n async status(): Promise<StatusResult> {\n if (!this.workspace) throw new ConsumerNotFound();\n loader.start(BEFORE_STATUS);\n const consumer = this.workspace.consumer;\n const laneObj = await consumer.getCurrentLaneObject();\n const componentsList = new ComponentsList(consumer);\n const newComponents: ConsumerComponent[] = (await componentsList.listNewComponents(true)) as ConsumerComponent[];\n const modifiedComponent = (await componentsList.listModifiedComponents(true)) as ConsumerComponent[];\n const stagedComponents: ModelComponent[] = await componentsList.listExportPendingComponents(laneObj);\n const autoTagPendingComponents = await componentsList.listAutoTagPendingComponents();\n const autoTagPendingComponentsIds = autoTagPendingComponents.map((component) => component.id);\n const allInvalidComponents = await componentsList.listInvalidComponents();\n const importPendingComponents = allInvalidComponents\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n .filter((c) => c.error instanceof ComponentsPendingImport)\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n .map((i) => i.id);\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const invalidComponents = allInvalidComponents.filter((c) => !(c.error instanceof ComponentsPendingImport));\n const outdatedComponents = await componentsList.listOutdatedComponents();\n const mergePendingComponents = await componentsList.listMergePendingComponents();\n const newAndModifiedLegacy: ConsumerComponent[] = newComponents.concat(modifiedComponent);\n const issuesToIgnore = this.issues.getIssuesToIgnoreGlobally();\n if (newAndModifiedLegacy.length) {\n const newAndModified = await this.workspace.getManyByLegacy(newAndModifiedLegacy);\n if (!issuesToIgnore.includes(IssuesClasses.CircularDependencies.name)) {\n await this.insights.addInsightsAsComponentIssues(newAndModified);\n }\n this.issues.removeIgnoredIssuesFromComponents(newAndModified);\n }\n const componentsWithIssues = newAndModifiedLegacy.filter((component: ConsumerComponent) => {\n return component.issues && !component.issues.isEmpty();\n });\n const componentsDuringMergeState = componentsList.listDuringMergeStateComponents();\n const softTaggedComponents = componentsList.listSoftTaggedComponents();\n const snappedComponents = (await componentsList.listSnappedComponentsOnMain()).map((c) => c.toBitId());\n const currentLane = consumer.getCurrentLaneId();\n const laneName = currentLane.isDefault() ? null : currentLane.name;\n Analytics.setExtraData('new_components', newComponents.length);\n Analytics.setExtraData('staged_components', stagedComponents.length);\n Analytics.setExtraData('num_components_with_missing_dependencies', componentsWithIssues.length);\n Analytics.setExtraData('autoTagPendingComponents', autoTagPendingComponents.length);\n Analytics.setExtraData('deleted', invalidComponents.length);\n await consumer.onDestroy();\n return {\n newComponents: ComponentsList.sortComponentsByName(newComponents),\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n modifiedComponent: ComponentsList.sortComponentsByName(modifiedComponent),\n stagedComponents: ComponentsList.sortComponentsByName(stagedComponents),\n componentsWithIssues, // no need to sort, we don't print it as is\n importPendingComponents, // no need to sort, we use only its length\n autoTagPendingComponents: ComponentsList.sortComponentsByName(autoTagPendingComponentsIds),\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n invalidComponents,\n outdatedComponents,\n mergePendingComponents,\n componentsDuringMergeState,\n componentsWithIndividualFiles: await componentsList.listComponentsWithIndividualFiles(),\n softTaggedComponents,\n snappedComponents,\n laneName,\n };\n }\n\n static slots = [];\n static dependencies = [CLIAspect, WorkspaceAspect, InsightsAspect, IssuesAspect];\n static runtime = MainRuntime;\n static async provider([cli, workspace, insights, issues]: [CLIMain, Workspace, InsightsMain, IssuesMain]) {\n const statusMain = new StatusMain(workspace, issues, insights);\n cli.register(new StatusCmd(statusMain));\n return statusMain;\n }\n}\n\nStatusAspect.addRuntime(StatusMain);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAmBO,MAAMA,UAAN,CAAiB;EACtBC,WAAW,CAASC,SAAT,EAAuCC,MAAvC,EAAmEC,QAAnE,EAA2F;IAAA,KAAlFF,SAAkF,GAAlFA,SAAkF;IAAA,KAApDC,MAAoD,GAApDA,MAAoD;IAAA,KAAxBC,QAAwB,GAAxBA,QAAwB;EAAE;;EAE5F,MAANC,MAAM,GAA0B;IACpC,IAAI,CAAC,KAAKH,SAAV,EAAqB,MAAM,KAAII,8BAAJ,GAAN;;IACrBC,iBAAA,CAAOC,KAAP,CAAaC,+BAAb;;IACA,MAAMC,QAAQ,GAAG,KAAKR,SAAL,CAAeQ,QAAhC;IACA,MAAMC,OAAO,GAAG,MAAMD,QAAQ,CAACE,oBAAT,EAAtB;IACA,MAAMC,cAAc,GAAG,KAAIC,yBAAJ,EAAmBJ,QAAnB,CAAvB;IACA,MAAMK,aAAkC,GAAI,MAAMF,cAAc,CAACG,iBAAf,CAAiC,IAAjC,CAAlD;IACA,MAAMC,iBAAiB,GAAI,MAAMJ,cAAc,CAACK,sBAAf,CAAsC,IAAtC,CAAjC;IACA,MAAMC,gBAAkC,GAAG,MAAMN,cAAc,CAACO,2BAAf,CAA2CT,OAA3C,CAAjD;IACA,MAAMU,wBAAwB,GAAG,MAAMR,cAAc,CAACS,4BAAf,EAAvC;IACA,MAAMC,2BAA2B,GAAGF,wBAAwB,CAACG,GAAzB,CAA8BC,SAAD,IAAeA,SAAS,CAACC,EAAtD,CAApC;IACA,MAAMC,oBAAoB,GAAG,MAAMd,cAAc,CAACe,qBAAf,EAAnC;IACA,MAAMC,uBAAuB,GAAGF,oBAAoB,CAClD;IADkD,CAEjDG,MAF6B,CAErBC,CAAD,IAAOA,CAAC,CAACC,KAAF,YAAmBC,kCAFJ,EAG9B;IAH8B,CAI7BT,GAJ6B,CAIxBU,CAAD,IAAOA,CAAC,CAACR,EAJgB,CAAhC,CAZoC,CAiBpC;;IACA,MAAMS,iBAAiB,GAAGR,oBAAoB,CAACG,MAArB,CAA6BC,CAAD,IAAO,EAAEA,CAAC,CAACC,KAAF,YAAmBC,kCAArB,CAAnC,CAA1B;IACA,MAAMG,kBAAkB,GAAG,MAAMvB,cAAc,CAACwB,sBAAf,EAAjC;IACA,MAAMC,sBAAsB,GAAG,MAAMzB,cAAc,CAAC0B,0BAAf,EAArC;IACA,MAAMC,oBAAyC,GAAGzB,aAAa,CAAC0B,MAAd,CAAqBxB,iBAArB,CAAlD;IACA,MAAMyB,cAAc,GAAG,KAAKvC,MAAL,CAAYwC,yBAAZ,EAAvB;;IACA,IAAIH,oBAAoB,CAACI,MAAzB,EAAiC;MAC/B,MAAMC,cAAc,GAAG,MAAM,KAAK3C,SAAL,CAAe4C,eAAf,CAA+BN,oBAA/B,CAA7B;;MACA,IAAI,CAACE,cAAc,CAACK,QAAf,CAAwBC,gCAAA,CAAcC,oBAAd,CAAmCC,IAA3D,CAAL,EAAuE;QACrE,MAAM,KAAK9C,QAAL,CAAc+C,4BAAd,CAA2CN,cAA3C,CAAN;MACD;;MACD,KAAK1C,MAAL,CAAYiD,iCAAZ,CAA8CP,cAA9C;IACD;;IACD,MAAMQ,oBAAoB,GAAGb,oBAAoB,CAACV,MAArB,CAA6BL,SAAD,IAAkC;MACzF,OAAOA,SAAS,CAACtB,MAAV,IAAoB,CAACsB,SAAS,CAACtB,MAAV,CAAiBmD,OAAjB,EAA5B;IACD,CAF4B,CAA7B;IAGA,MAAMC,0BAA0B,GAAG1C,cAAc,CAAC2C,8BAAf,EAAnC;IACA,MAAMC,oBAAoB,GAAG5C,cAAc,CAAC6C,wBAAf,EAA7B;IACA,MAAMC,iBAAiB,GAAG,CAAC,MAAM9C,cAAc,CAAC+C,2BAAf,EAAP,EAAqDpC,GAArD,CAA0DO,CAAD,IAAOA,CAAC,CAAC8B,OAAF,EAAhE,CAA1B;IACA,MAAMC,WAAW,GAAGpD,QAAQ,CAACqD,gBAAT,EAApB;IACA,MAAMC,QAAQ,GAAGF,WAAW,CAACG,SAAZ,KAA0B,IAA1B,GAAiCH,WAAW,CAACZ,IAA9D;;IACAgB,sBAAA,CAAUC,YAAV,CAAuB,gBAAvB,EAAyCpD,aAAa,CAAC6B,MAAvD;;IACAsB,sBAAA,CAAUC,YAAV,CAAuB,mBAAvB,EAA4ChD,gBAAgB,CAACyB,MAA7D;;IACAsB,sBAAA,CAAUC,YAAV,CAAuB,0CAAvB,EAAmEd,oBAAoB,CAACT,MAAxF;;IACAsB,sBAAA,CAAUC,YAAV,CAAuB,0BAAvB,EAAmD9C,wBAAwB,CAACuB,MAA5E;;IACAsB,sBAAA,CAAUC,YAAV,CAAuB,SAAvB,EAAkChC,iBAAiB,CAACS,MAApD;;IACA,MAAMlC,QAAQ,CAAC0D,SAAT,EAAN;IACA,OAAO;MACLrD,aAAa,EAAED,yBAAA,CAAeuD,oBAAf,CAAoCtD,aAApC,CADV;MAEL;MACAE,iBAAiB,EAAEH,yBAAA,CAAeuD,oBAAf,CAAoCpD,iBAApC,CAHd;MAILE,gBAAgB,EAAEL,yBAAA,CAAeuD,oBAAf,CAAoClD,gBAApC,CAJb;MAKLkC,oBALK;MAKiB;MACtBxB,uBANK;MAMoB;MACzBR,wBAAwB,EAAEP,yBAAA,CAAeuD,oBAAf,CAAoC9C,2BAApC,CAPrB;MAQL;MACAY,iBATK;MAULC,kBAVK;MAWLE,sBAXK;MAYLiB,0BAZK;MAaLe,6BAA6B,EAAE,MAAMzD,cAAc,CAAC0D,iCAAf,EAbhC;MAcLd,oBAdK;MAeLE,iBAfK;MAgBLK;IAhBK,CAAP;EAkBD;;EAKoB,aAARQ,QAAQ,CAAC,CAACC,GAAD,EAAMvE,SAAN,EAAiBE,QAAjB,EAA2BD,MAA3B,CAAD,EAAqF;IACxG,MAAMuE,UAAU,GAAG,IAAI1E,UAAJ,CAAeE,SAAf,EAA0BC,MAA1B,EAAkCC,QAAlC,CAAnB;IACAqE,GAAG,CAACE,QAAJ,CAAa,KAAIC,sBAAJ,EAAcF,UAAd,CAAb;IACA,OAAOA,UAAP;EACD;;AA1EqB;;;gCAAX1E,U,WAmEI,E;gCAnEJA,U,kBAoEW,CAAC6E,gBAAD,EAAYC,oBAAZ,EAA6BC,0BAA7B,EAA6CC,iBAA7C,C;gCApEXhF,U,aAqEMiF,kB;;AAQnBC,sBAAA,CAAaC,UAAb,CAAwBnF,UAAxB"}
1
+ {"version":3,"names":["StatusMain","constructor","workspace","issues","insights","status","ConsumerNotFound","loader","start","BEFORE_STATUS","consumer","laneObj","getCurrentLaneObject","componentsList","ComponentsList","newComponents","listNewComponents","modifiedComponent","listModifiedComponents","stagedComponents","listExportPendingComponents","autoTagPendingComponents","listAutoTagPendingComponents","autoTagPendingComponentsIds","map","component","id","allInvalidComponents","listInvalidComponents","importPendingComponents","filter","c","error","ComponentsPendingImport","i","invalidComponents","outdatedComponents","listOutdatedComponents","mergePendingComponents","listMergePendingComponents","newAndModifiedLegacy","concat","issuesToIgnore","getIssuesToIgnoreGlobally","length","newAndModified","getManyByLegacy","includes","IssuesClasses","CircularDependencies","name","addInsightsAsComponentIssues","removeIgnoredIssuesFromComponents","componentsWithIssues","isEmpty","componentsDuringMergeState","listDuringMergeStateComponents","softTaggedComponents","listSoftTaggedComponents","snappedComponents","listSnappedComponentsOnMain","toBitId","pendingUpdatesFromMain","listUpdatesFromMainPending","currentLane","getCurrentLaneId","laneName","isDefault","Analytics","setExtraData","onDestroy","sortComponentsByName","componentsWithIndividualFiles","listComponentsWithIndividualFiles","provider","cli","statusMain","register","StatusCmd","CLIAspect","WorkspaceAspect","InsightsAspect","IssuesAspect","MainRuntime","StatusAspect","addRuntime"],"sources":["status.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { Analytics } from '@teambit/legacy/dist/analytics/analytics';\nimport { BitId, BitIds } from '@teambit/legacy/dist/bit-id';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport { BEFORE_STATUS } from '@teambit/legacy/dist/cli/loader/loader-messages';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport ComponentsPendingImport from '@teambit/legacy/dist/consumer/component-ops/exceptions/components-pending-import';\nimport ComponentsList, {\n DivergeDataPerId,\n DivergedComponent,\n} from '@teambit/legacy/dist/consumer/component/components-list';\nimport { InvalidComponent } from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport { ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport { InsightsAspect, InsightsMain } from '@teambit/insights';\nimport IssuesAspect, { IssuesMain } from '@teambit/issues';\nimport { StatusCmd } from './status-cmd';\nimport { StatusAspect } from './status.aspect';\n\nexport type StatusResult = {\n newComponents: ConsumerComponent[];\n modifiedComponent: ConsumerComponent[];\n stagedComponents: ModelComponent[];\n componentsWithIssues: ConsumerComponent[];\n importPendingComponents: BitId[];\n autoTagPendingComponents: BitId[];\n invalidComponents: InvalidComponent[];\n outdatedComponents: ConsumerComponent[];\n mergePendingComponents: DivergedComponent[];\n componentsDuringMergeState: BitIds;\n componentsWithIndividualFiles: ConsumerComponent[];\n softTaggedComponents: BitId[];\n snappedComponents: BitId[];\n pendingUpdatesFromMain: DivergeDataPerId[];\n laneName: string | null; // null if default\n};\n\nexport class StatusMain {\n constructor(private workspace: Workspace, private issues: IssuesMain, private insights: InsightsMain) {}\n\n async status(): Promise<StatusResult> {\n if (!this.workspace) throw new ConsumerNotFound();\n loader.start(BEFORE_STATUS);\n const consumer = this.workspace.consumer;\n const laneObj = await consumer.getCurrentLaneObject();\n const componentsList = new ComponentsList(consumer);\n const newComponents: ConsumerComponent[] = (await componentsList.listNewComponents(true)) as ConsumerComponent[];\n const modifiedComponent = (await componentsList.listModifiedComponents(true)) as ConsumerComponent[];\n const stagedComponents: ModelComponent[] = await componentsList.listExportPendingComponents(laneObj);\n const autoTagPendingComponents = await componentsList.listAutoTagPendingComponents();\n const autoTagPendingComponentsIds = autoTagPendingComponents.map((component) => component.id);\n const allInvalidComponents = await componentsList.listInvalidComponents();\n const importPendingComponents = allInvalidComponents\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n .filter((c) => c.error instanceof ComponentsPendingImport)\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n .map((i) => i.id);\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const invalidComponents = allInvalidComponents.filter((c) => !(c.error instanceof ComponentsPendingImport));\n const outdatedComponents = await componentsList.listOutdatedComponents();\n const mergePendingComponents = await componentsList.listMergePendingComponents();\n const newAndModifiedLegacy: ConsumerComponent[] = newComponents.concat(modifiedComponent);\n const issuesToIgnore = this.issues.getIssuesToIgnoreGlobally();\n if (newAndModifiedLegacy.length) {\n const newAndModified = await this.workspace.getManyByLegacy(newAndModifiedLegacy);\n if (!issuesToIgnore.includes(IssuesClasses.CircularDependencies.name)) {\n await this.insights.addInsightsAsComponentIssues(newAndModified);\n }\n this.issues.removeIgnoredIssuesFromComponents(newAndModified);\n }\n const componentsWithIssues = newAndModifiedLegacy.filter((component: ConsumerComponent) => {\n return component.issues && !component.issues.isEmpty();\n });\n const componentsDuringMergeState = componentsList.listDuringMergeStateComponents();\n const softTaggedComponents = componentsList.listSoftTaggedComponents();\n const snappedComponents = (await componentsList.listSnappedComponentsOnMain()).map((c) => c.toBitId());\n const pendingUpdatesFromMain = await componentsList.listUpdatesFromMainPending();\n const currentLane = consumer.getCurrentLaneId();\n const laneName = currentLane.isDefault() ? null : currentLane.name;\n Analytics.setExtraData('new_components', newComponents.length);\n Analytics.setExtraData('staged_components', stagedComponents.length);\n Analytics.setExtraData('num_components_with_missing_dependencies', componentsWithIssues.length);\n Analytics.setExtraData('autoTagPendingComponents', autoTagPendingComponents.length);\n Analytics.setExtraData('deleted', invalidComponents.length);\n await consumer.onDestroy();\n return {\n newComponents: ComponentsList.sortComponentsByName(newComponents),\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n modifiedComponent: ComponentsList.sortComponentsByName(modifiedComponent),\n stagedComponents: ComponentsList.sortComponentsByName(stagedComponents),\n componentsWithIssues, // no need to sort, we don't print it as is\n importPendingComponents, // no need to sort, we use only its length\n autoTagPendingComponents: ComponentsList.sortComponentsByName(autoTagPendingComponentsIds),\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n invalidComponents,\n outdatedComponents,\n mergePendingComponents,\n componentsDuringMergeState,\n componentsWithIndividualFiles: await componentsList.listComponentsWithIndividualFiles(),\n softTaggedComponents,\n snappedComponents,\n pendingUpdatesFromMain,\n laneName,\n };\n }\n\n static slots = [];\n static dependencies = [CLIAspect, WorkspaceAspect, InsightsAspect, IssuesAspect];\n static runtime = MainRuntime;\n static async provider([cli, workspace, insights, issues]: [CLIMain, Workspace, InsightsMain, IssuesMain]) {\n const statusMain = new StatusMain(workspace, issues, insights);\n cli.register(new StatusCmd(statusMain));\n return statusMain;\n }\n}\n\nStatusAspect.addRuntime(StatusMain);\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/status",
3
- "version": "0.0.103",
3
+ "version": "0.0.106",
4
4
  "homepage": "https://bit.dev/teambit/component/status",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "status",
9
- "version": "0.0.103"
9
+ "version": "0.0.106"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -15,13 +15,13 @@
15
15
  "@babel/runtime": "7.12.18",
16
16
  "core-js": "^3.0.0",
17
17
  "@teambit/harmony": "0.3.3",
18
- "@teambit/cli": "0.0.524",
18
+ "@teambit/cli": "0.0.527",
19
19
  "@teambit/component-version": "0.0.395",
20
20
  "@teambit/legacy-bit-id": "0.0.399",
21
21
  "@teambit/component-issues": "0.0.57",
22
- "@teambit/insights": "0.0.791",
23
- "@teambit/issues": "0.0.99",
24
- "@teambit/workspace": "0.0.791"
22
+ "@teambit/insights": "0.0.794",
23
+ "@teambit/issues": "0.0.102",
24
+ "@teambit/workspace": "0.0.794"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/lodash": "4.14.165",
@@ -33,7 +33,7 @@
33
33
  "@types/node": "12.20.4"
34
34
  },
35
35
  "peerDependencies": {
36
- "@teambit/legacy": "1.0.306",
36
+ "@teambit/legacy": "1.0.309",
37
37
  "react-dom": "^16.8.0 || ^17.0.0",
38
38
  "react": "^16.8.0 || ^17.0.0"
39
39
  },