@teambit/status 0.0.102 → 0.0.105

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,9 +37,14 @@ 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
- report(_args: any, { strict }: {
45
+ report(_args: any, { strict, verbose }: {
38
46
  strict?: boolean;
47
+ verbose?: boolean;
39
48
  }): Promise<{
40
49
  data: string;
41
50
  code: number;
@@ -113,6 +113,26 @@ function _constants() {
113
113
  return data;
114
114
  }
115
115
 
116
+ function _lodash() {
117
+ const data = require("lodash");
118
+
119
+ _lodash = function () {
120
+ return data;
121
+ };
122
+
123
+ return data;
124
+ }
125
+
126
+ function _componentVersion() {
127
+ const data = require("@teambit/component-version");
128
+
129
+ _componentVersion = function () {
130
+ return data;
131
+ };
132
+
133
+ return data;
134
+ }
135
+
116
136
  const individualFilesDesc = `these components were added as individual files and not as directories, which are invalid in Harmony
117
137
  please make sure each component has its own directory and re-add it. alternatively, use "bit move --component" to help with the move.`;
118
138
  const TROUBLESHOOTING_MESSAGE = `${_chalk().default.yellow(`learn more at https://${_constants().BASE_DOCS_DOMAIN}/components/adding-components`)}`;
@@ -125,7 +145,7 @@ class StatusCmd {
125
145
  (0, _defineProperty2().default)(this, "group", 'development');
126
146
  (0, _defineProperty2().default)(this, "extendedDescription", void 0);
127
147
  (0, _defineProperty2().default)(this, "alias", 's');
128
- (0, _defineProperty2().default)(this, "options", [['j', 'json', 'return a json version of the component'], ['', 'strict', 'in case issues found, exit with code 1']]);
148
+ (0, _defineProperty2().default)(this, "options", [['j', 'json', 'return a json version of the component'], ['', 'verbose', 'show full snap hashes'], ['', 'strict', 'in case issues found, exit with code 1']]);
129
149
  (0, _defineProperty2().default)(this, "loader", true);
130
150
  (0, _defineProperty2().default)(this, "migration", true);
131
151
  }
@@ -144,12 +164,16 @@ class StatusCmd {
144
164
  componentsDuringMergeState,
145
165
  componentsWithIndividualFiles,
146
166
  softTaggedComponents,
147
- snappedComponents
167
+ snappedComponents,
168
+ pendingUpdatesFromMain
148
169
  } = await this.status.status();
149
170
  return {
150
171
  newComponents,
151
172
  modifiedComponent: modifiedComponent.map(c => c.id.toString()),
152
- stagedComponents: stagedComponents.map(c => c.id()),
173
+ stagedComponents: stagedComponents.map(c => ({
174
+ id: c.id(),
175
+ versions: c.getLocalTagsOrHashes()
176
+ })),
153
177
  componentsWithIssues: componentsWithIssues.map(c => {
154
178
  var _c$issues;
155
179
 
@@ -166,12 +190,17 @@ class StatusCmd {
166
190
  componentsDuringMergeState: componentsDuringMergeState.map(id => id.toString()),
167
191
  componentsWithIndividualFiles: componentsWithIndividualFiles.map(c => c.id.toString()),
168
192
  softTaggedComponents: softTaggedComponents.map(s => s.toString()),
169
- 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
+ }))
170
198
  };
171
199
  }
172
200
 
173
201
  async report(_args, {
174
- strict
202
+ strict,
203
+ verbose
175
204
  }) {
176
205
  const {
177
206
  newComponents,
@@ -187,6 +216,7 @@ class StatusCmd {
187
216
  componentsWithIndividualFiles,
188
217
  softTaggedComponents,
189
218
  snappedComponents,
219
+ pendingUpdatesFromMain,
190
220
  laneName
191
221
  } = await this.status.status(); // If there is problem with at least one component we want to show a link to the
192
222
  // troubleshooting doc
@@ -222,7 +252,16 @@ class StatusCmd {
222
252
  }
223
253
 
224
254
  const localVersions = component.getLocalTagsOrHashes();
225
- bitFormatted += `. versions: ${localVersions.join(', ')}`;
255
+
256
+ if (verbose) {
257
+ bitFormatted += `. versions: ${localVersions.join(', ')}`;
258
+ } else {
259
+ const [snaps, tags] = (0, _lodash().partition)(localVersions, version => (0, _componentVersion().isHash)(version));
260
+ const tagsStr = tags.length ? `versions: ${tags.join(', ')}` : '';
261
+ const snapsStr = snaps.length ? `${snaps.length} snap(s)` : '';
262
+ bitFormatted += `. `;
263
+ bitFormatted += tagsStr && snapsStr ? `${tagsStr}. and ${snapsStr}` : tagsStr || snapsStr;
264
+ }
226
265
  }
227
266
 
228
267
  bitFormatted += ' ... ';
@@ -253,7 +292,7 @@ class StatusCmd {
253
292
 
254
293
  const pendingMergeTitle = _chalk().default.underline.white('pending merge');
255
294
 
256
- 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.
257
296
  alternatively, to keep local tags/snaps history, use "bit merge <remote-name>/<lane-name> [component-id]")\n`;
258
297
  const pendingMergeComps = mergePendingComponents.map(component => {
259
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`;
@@ -280,12 +319,29 @@ or use "bit merge [component-id] --abort" to cancel the merge operation)\n`;
280
319
  const stagedDesc = '\n(use "bit export to push these components to a remote scope")\n';
281
320
  const stagedComponentsOutput = (0, _utils().immutableUnshift)( // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
282
321
  stagedComponents.map(c => format(c, true)), stagedComponents.length ? _chalk().default.underline.white('staged components') + stagedDesc : '').join('\n');
283
- 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';
284
323
  const snappedComponentsOutput = (0, _utils().immutableUnshift)( // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
285
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');
286
342
  const laneStr = laneName ? `\non ${_chalk().default.bold(laneName)} lane` : '';
287
343
  const troubleshootingStr = showTroubleshootingLink ? `\n${TROUBLESHOOTING_MESSAGE}` : '';
288
- 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;
289
345
  const results = (statusMsg || _chalk().default.yellow(_constants().statusWorkspaceIsCleanMsg)) + laneStr;
290
346
  const exitCode = componentsWithIssues.length && strict ? 1 : 0;
291
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","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","red","statusFailureMsg","formatIssues","importPendingWarning","length","IMPORT_PENDING_MSG","splitByMissing","R","groupBy","includes","missing","nonMissing","outdatedTitle","underline","white","outdatedDesc","outdatedComps","cyan","version","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 { 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 ['', '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 }: { strict?: 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 bitFormatted += `. versions: ${localVersions.join(', ')}`;\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":"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"}
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,27 +1,30 @@
1
1
  {
2
2
  "name": "@teambit/status",
3
- "version": "0.0.102",
3
+ "version": "0.0.105",
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.102"
9
+ "version": "0.0.105"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
13
+ "lodash": "4.17.21",
13
14
  "ramda": "0.27.1",
14
15
  "@babel/runtime": "7.12.18",
15
16
  "core-js": "^3.0.0",
16
17
  "@teambit/harmony": "0.3.3",
17
- "@teambit/cli": "0.0.523",
18
+ "@teambit/cli": "0.0.526",
19
+ "@teambit/component-version": "0.0.395",
18
20
  "@teambit/legacy-bit-id": "0.0.399",
19
21
  "@teambit/component-issues": "0.0.57",
20
- "@teambit/insights": "0.0.790",
21
- "@teambit/issues": "0.0.98",
22
- "@teambit/workspace": "0.0.790"
22
+ "@teambit/insights": "0.0.793",
23
+ "@teambit/issues": "0.0.101",
24
+ "@teambit/workspace": "0.0.793"
23
25
  },
24
26
  "devDependencies": {
27
+ "@types/lodash": "4.14.165",
25
28
  "@types/mocha": "9.1.0",
26
29
  "@types/testing-library__jest-dom": "5.9.5",
27
30
  "@types/jest": "^26.0.0",
@@ -30,7 +33,7 @@
30
33
  "@types/node": "12.20.4"
31
34
  },
32
35
  "peerDependencies": {
33
- "@teambit/legacy": "1.0.305",
36
+ "@teambit/legacy": "1.0.308",
34
37
  "react-dom": "^16.8.0 || ^17.0.0",
35
38
  "react": "^16.8.0 || ^17.0.0"
36
39
  },