@teambit/lanes 0.0.362 → 0.0.365

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.
@@ -87,6 +87,12 @@ Summary of when/what lanes data is saved per command:
87
87
  - in case the merge wasn't done and the user is trying to export, the remote blocks is as it finds out that its head doesn't exist on the incoming component.
88
88
  - in case the snap-merge failed due to a conflict, it saves the conflict and heads data into `.bit/unmerged.json` file.
89
89
 
90
+ ### Merge components
91
+
92
+ - to merge an entire lane, use `bit lane merge`.
93
+ - to get updates from a remote lane, run `bit import`, and then `bit checkout head`. alternatively, run `bit merge <component-id>` in one command.
94
+ - to merge an individual component from a lane to main, run `bit lane merge <lane> --pattern <component-id>` when on main.
95
+
90
96
  ### Useful APIs
91
97
 
92
98
  - bit-map `getAllIdsAvailableOnLane()` filters the currently checked out lane.
@@ -100,7 +100,7 @@ async function mergeLanes({
100
100
  const currentLaneId = consumer.getCurrentLaneId();
101
101
 
102
102
  if (!remoteName && laneName === currentLaneId.name) {
103
- throw new (_bitError().BitError)(`unable to switch to lane "${laneName}", you're already checked out to this lane`);
103
+ throw new (_bitError().BitError)(`unable to merge lane "${laneName}", you're already at this lane. to get updates, simply run "bit checkout head"`);
104
104
  }
105
105
 
106
106
  const parsedLaneId = await consumer.getParsedLaneId(laneName);
@@ -113,7 +113,8 @@ async function mergeLanes({
113
113
  const isDefaultLane = laneName === _laneId().DEFAULT_LANE;
114
114
 
115
115
  if (isDefaultLane) {
116
- bitIds = consumer.bitMap.getAuthoredAndImportedBitIdsOfDefaultLane().filter(id => id.hasVersion());
116
+ if (!localLane) throw new Error(`unable to merge ${_laneId().DEFAULT_LANE}, the current lane was not found`);
117
+ bitIds = await consumer.scope.getDefaultLaneIdsFromLane(localLane);
117
118
  otherLaneName = _laneId().DEFAULT_LANE;
118
119
  } else if (remoteName) {
119
120
  const remoteLaneId = _laneId().LaneId.from(parsedLaneId.name, remoteName);
@@ -1 +1 @@
1
- {"version":3,"names":["mergeLanes","merging","workspace","laneName","mergeStrategy","remoteName","noSnap","snapMessage","existingOnWorkspaceOnly","build","keepReadme","squash","pattern","includeDeps","consumer","currentLaneId","getCurrentLaneId","name","BitError","parsedLaneId","getParsedLaneId","localLane","isDefault","scope","loadLane","bitIds","otherLane","remoteLane","otherLaneName","isDefaultLane","DEFAULT_LANE","bitMap","getAuthoredAndImportedBitIdsOfDefaultLane","filter","id","hasVersion","remoteLaneId","LaneId","from","objects","remoteLanes","getRemoteLane","length","getRemoteBitIds","components","map","c","changeVersion","head","toString","allComponentsStatus","getAllComponentsStatus","throwForFailures","componentIds","resolveMultipleComponentIds","compIdsFromPattern","filterIdsFromPoolIdsByPattern","filterComponentsStatus","forEach","bitId","find","isEqualWithoutVersion","push","unmergedLegitimately","unmergedMessage","workspaceIds","listIds","_legacy","squashSnaps","mergeResults","mergeSnaps","laneId","mergedSuccessfully","failedComponents","every","failedComponent","unchangedLegitimately","deleteResults","readmeComponent","syncWithLanes","workspaceLane","readmeComponentId","hash","remove","ids","force","remote","track","deleteFiles","readmeResult","tmp","Tmp","componentsStatus","Promise","all","getComponentMergeStatus","clear","err","failureMsgs","chalk","bold","red","join","compIdsToKeep","allBitIds","bitIdsFromPattern","BitIds","fromArray","bitIdsNotFromPattern","hasWithoutVersion","filteredComponentStatus","depsToAdd","pMapSeries","compId","fromStatus","Error","divergeData","remoteVersions","snapsOnRemoteOnly","modelComponent","getModelComponent","localVersion","versionObj","loadVersion","flattenedDeps","getAllFlattenedDependencies","depsNotIncludeInPattern","d","depsUniq","uniqFromArray","succeededComponents","componentFromModel","isDiverged","isLocalAhead","isRemoteAhead","remoteSnaps","commonSnapBeforeDiverge","addAsOnlyParent","parents","ref","removeParent","squashedSnaps","snap","isEqual","setSquashed","add"],"sources":["merge-lanes.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { BitError } from '@teambit/bit-error';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport pMapSeries from 'p-map-series';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { ApplyVersionResults } from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport { BitIds } from '@teambit/legacy/dist/bit-id';\nimport { ComponentID } from '@teambit/component-id';\nimport { Workspace } from '@teambit/workspace';\nimport { LaneId, DEFAULT_LANE } from '@teambit/lane-id';\nimport { Lane } from '@teambit/legacy/dist/scope/models';\nimport { Tmp } from '@teambit/legacy/dist/scope/repositories';\nimport { MergingMain, ComponentMergeStatus } from '@teambit/merging';\nimport { remove } from '@teambit/legacy/dist/api/consumer';\nimport { MergeLaneOptions } from './lanes.main.runtime';\n\nexport async function mergeLanes({\n merging,\n workspace,\n laneName,\n mergeStrategy,\n remoteName,\n noSnap,\n snapMessage,\n existingOnWorkspaceOnly,\n build,\n keepReadme,\n squash,\n pattern,\n includeDeps,\n}: {\n merging: MergingMain;\n workspace: Workspace;\n laneName: string;\n} & MergeLaneOptions): Promise<{ mergeResults: ApplyVersionResults; deleteResults: any }> {\n const consumer = workspace.consumer;\n const currentLaneId = consumer.getCurrentLaneId();\n if (!remoteName && laneName === currentLaneId.name) {\n throw new BitError(`unable to switch to lane \"${laneName}\", you're already checked out to this lane`);\n }\n const parsedLaneId = await consumer.getParsedLaneId(laneName);\n const localLane = currentLaneId.isDefault() ? null : await consumer.scope.loadLane(currentLaneId);\n let bitIds: BitId[];\n let otherLane: Lane | null | undefined;\n let remoteLane;\n let otherLaneName: string;\n const isDefaultLane = laneName === DEFAULT_LANE;\n\n if (isDefaultLane) {\n bitIds = consumer.bitMap.getAuthoredAndImportedBitIdsOfDefaultLane().filter((id) => id.hasVersion());\n otherLaneName = DEFAULT_LANE;\n } else if (remoteName) {\n const remoteLaneId = LaneId.from(parsedLaneId.name, remoteName);\n remoteLane = await consumer.scope.objects.remoteLanes.getRemoteLane(remoteLaneId);\n if (!remoteLane.length) {\n throw new BitError(\n `unable to switch to \"${laneName}\" of \"${remoteName}\", the remote lane was not found or not fetched locally`\n );\n }\n bitIds = await consumer.scope.objects.remoteLanes.getRemoteBitIds(remoteLaneId);\n otherLaneName = `${remoteName}/${parsedLaneId.name}`;\n } else {\n otherLane = await consumer.scope.loadLane(parsedLaneId);\n if (!otherLane) throw new BitError(`unable to switch to \"${laneName}\", the lane was not found`);\n bitIds = otherLane.components.map((c) => c.id.changeVersion(c.head.toString()));\n otherLaneName = parsedLaneId.name;\n }\n\n let allComponentsStatus = await getAllComponentsStatus();\n\n throwForFailures();\n\n if (pattern) {\n const componentIds = await workspace.resolveMultipleComponentIds(bitIds);\n const compIdsFromPattern = workspace.scope.filterIdsFromPoolIdsByPattern(pattern, componentIds);\n allComponentsStatus = await filterComponentsStatus(\n allComponentsStatus,\n compIdsFromPattern,\n bitIds,\n workspace,\n includeDeps\n );\n bitIds.forEach((bitId) => {\n if (!allComponentsStatus.find((c) => c.id.isEqualWithoutVersion(bitId))) {\n allComponentsStatus.push({ id: bitId, unmergedLegitimately: true, unmergedMessage: `excluded by pattern` });\n }\n });\n }\n if (existingOnWorkspaceOnly) {\n const workspaceIds = await workspace.listIds();\n const compIdsFromPattern = workspaceIds.filter((id) =>\n allComponentsStatus.find((c) => c.id.isEqualWithoutVersion(id._legacy))\n );\n allComponentsStatus = await filterComponentsStatus(\n allComponentsStatus,\n compIdsFromPattern,\n bitIds,\n workspace,\n includeDeps\n );\n bitIds.forEach((bitId) => {\n if (!allComponentsStatus.find((c) => c.id.isEqualWithoutVersion(bitId))) {\n allComponentsStatus.push({ id: bitId, unmergedLegitimately: true, unmergedMessage: `not in the workspace` });\n }\n });\n }\n\n if (squash) {\n squashSnaps(allComponentsStatus, laneName, consumer);\n }\n\n const mergeResults = await merging.mergeSnaps({\n mergeStrategy,\n allComponentsStatus,\n remoteName,\n laneId: parsedLaneId,\n localLane,\n noSnap,\n snapMessage,\n build,\n });\n\n const mergedSuccessfully =\n !mergeResults.failedComponents ||\n mergeResults.failedComponents.length === 0 ||\n mergeResults.failedComponents.every((failedComponent) => failedComponent.unchangedLegitimately);\n\n let deleteResults = {};\n\n if (!keepReadme && otherLane && otherLane.readmeComponent && mergedSuccessfully) {\n await consumer.bitMap.syncWithLanes(consumer.bitMap.workspaceLane);\n\n const readmeComponentId = [\n otherLane.readmeComponent.id.changeVersion(otherLane.readmeComponent?.head?.hash).toString(),\n ];\n\n deleteResults = await remove({\n ids: readmeComponentId,\n force: false,\n remote: false,\n track: false,\n deleteFiles: true,\n });\n } else if (otherLane && !otherLane.readmeComponent) {\n deleteResults = { readmeResult: `lane ${otherLane.name} doesn't have a readme component` };\n }\n\n return { mergeResults, deleteResults };\n\n async function getAllComponentsStatus(): Promise<ComponentMergeStatus[]> {\n const tmp = new Tmp(consumer.scope);\n try {\n const componentsStatus = await Promise.all(\n bitIds.map((bitId) => merging.getComponentMergeStatus(bitId, localLane, otherLaneName))\n );\n await tmp.clear();\n return componentsStatus;\n } catch (err: any) {\n await tmp.clear();\n throw err;\n }\n }\n\n function throwForFailures() {\n const failedComponents = allComponentsStatus.filter((c) => c.unmergedMessage && !c.unmergedLegitimately);\n if (failedComponents.length) {\n const failureMsgs = failedComponents\n .map(\n (failedComponent) =>\n `${chalk.bold(failedComponent.id.toString())} - ${chalk.red(failedComponent.unmergedMessage as string)}`\n )\n .join('\\n');\n throw new BitError(`unable to merge due to the following failures:\\n${failureMsgs}`);\n }\n }\n}\n\nasync function filterComponentsStatus(\n allComponentsStatus: ComponentMergeStatus[],\n compIdsToKeep: ComponentID[],\n allBitIds: BitId[],\n workspace: Workspace,\n includeDeps = false\n): Promise<ComponentMergeStatus[]> {\n const bitIdsFromPattern = BitIds.fromArray(compIdsToKeep.map((c) => c._legacy));\n const bitIdsNotFromPattern = allBitIds.filter((bitId) => !bitIdsFromPattern.hasWithoutVersion(bitId));\n const filteredComponentStatus: ComponentMergeStatus[] = [];\n const depsToAdd: BitId[] = [];\n await pMapSeries(compIdsToKeep, async (compId) => {\n const fromStatus = allComponentsStatus.find((c) => c.id.isEqualWithoutVersion(compId._legacy));\n if (!fromStatus) {\n throw new Error(`filterComponentsStatus: unable to find ${compId.toString()} in component-status`);\n }\n filteredComponentStatus.push(fromStatus);\n if (fromStatus.unmergedMessage) {\n return;\n }\n const { divergeData } = fromStatus;\n if (!divergeData) {\n throw new Error(`filterComponentsStatus: unable to find divergeData for ${compId.toString()}`);\n }\n const remoteVersions = divergeData.snapsOnRemoteOnly;\n if (!remoteVersions.length) {\n return;\n }\n const modelComponent = await workspace.consumer.scope.getModelComponent(compId._legacy);\n // optimization suggestion: if squash is given, check only the last version.\n await pMapSeries(remoteVersions, async (localVersion) => {\n const versionObj = await modelComponent.loadVersion(localVersion.toString(), workspace.consumer.scope.objects);\n const flattenedDeps = versionObj.getAllFlattenedDependencies();\n const depsNotIncludeInPattern = bitIdsNotFromPattern.filter((id) => flattenedDeps.hasWithoutVersion(id));\n if (!depsNotIncludeInPattern.length) {\n return;\n }\n if (!includeDeps) {\n throw new BitError(`unable to merge ${compId.toString()}.\nit has the following dependencies which were not included in the pattern. consider adding \"--include-deps\" flag\n${depsNotIncludeInPattern.map((d) => d.toString()).join('\\n')}`);\n }\n depsToAdd.push(...depsNotIncludeInPattern);\n });\n });\n if (depsToAdd.length) {\n const depsUniq = BitIds.uniqFromArray(depsToAdd);\n depsUniq.forEach((id) => {\n const fromStatus = allComponentsStatus.find((c) => c.id.isEqualWithoutVersion(id));\n if (!fromStatus) {\n throw new Error(`filterComponentsStatus: unable to find ${id.toString()} in component-status`);\n }\n filteredComponentStatus.push(fromStatus);\n });\n }\n return filteredComponentStatus;\n}\n\nfunction squashSnaps(allComponentsStatus: ComponentMergeStatus[], laneName: string, consumer: Consumer) {\n const succeededComponents = allComponentsStatus.filter((c) => !c.unmergedMessage);\n succeededComponents.forEach(({ id, divergeData, componentFromModel }) => {\n if (!divergeData) {\n throw new Error(`unable to squash. divergeData is missing from ${id.toString()}`);\n }\n if (divergeData.isDiverged()) {\n throw new BitError(`unable to squash because ${id.toString()} is diverged in history.\nconsider switching to ${laneName} first, merging this lane, then switching back to this lane and merging ${laneName}`);\n }\n if (divergeData.isLocalAhead()) {\n // nothing to do. current is ahead, nothing to merge. (it was probably filtered out already as a \"failedComponent\")\n return;\n }\n if (!divergeData.isRemoteAhead()) {\n // nothing to do. current and remote are the same, nothing to merge. (it was probably filtered out already as a \"failedComponent\")\n return;\n }\n // remote is ahead and was not diverge.\n const remoteSnaps = divergeData.snapsOnRemoteOnly;\n if (remoteSnaps.length === 0) {\n throw new Error(`remote is ahead but it has no snaps. it's impossible`);\n }\n if (remoteSnaps.length === 1) {\n // nothing to squash. it has only one commit.\n return;\n }\n if (!componentFromModel) {\n throw new Error('unable to squash, the componentFromModel is missing');\n }\n\n // do the squash.\n if (divergeData.commonSnapBeforeDiverge) {\n componentFromModel.addAsOnlyParent(divergeData.commonSnapBeforeDiverge);\n } else {\n // there is no commonSnapBeforeDiverge. the local has no snaps, all are remote, no need for parents. keep only head.\n componentFromModel.parents.forEach((ref) => componentFromModel.removeParent(ref));\n }\n const squashedSnaps = remoteSnaps.filter((snap) => !snap.isEqual(componentFromModel.hash()));\n componentFromModel.setSquashed(squashedSnaps);\n consumer.scope.objects.add(componentFromModel);\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["mergeLanes","merging","workspace","laneName","mergeStrategy","remoteName","noSnap","snapMessage","existingOnWorkspaceOnly","build","keepReadme","squash","pattern","includeDeps","consumer","currentLaneId","getCurrentLaneId","name","BitError","parsedLaneId","getParsedLaneId","localLane","isDefault","scope","loadLane","bitIds","otherLane","remoteLane","otherLaneName","isDefaultLane","DEFAULT_LANE","Error","getDefaultLaneIdsFromLane","remoteLaneId","LaneId","from","objects","remoteLanes","getRemoteLane","length","getRemoteBitIds","components","map","c","id","changeVersion","head","toString","allComponentsStatus","getAllComponentsStatus","throwForFailures","componentIds","resolveMultipleComponentIds","compIdsFromPattern","filterIdsFromPoolIdsByPattern","filterComponentsStatus","forEach","bitId","find","isEqualWithoutVersion","push","unmergedLegitimately","unmergedMessage","workspaceIds","listIds","filter","_legacy","squashSnaps","mergeResults","mergeSnaps","laneId","mergedSuccessfully","failedComponents","every","failedComponent","unchangedLegitimately","deleteResults","readmeComponent","bitMap","syncWithLanes","workspaceLane","readmeComponentId","hash","remove","ids","force","remote","track","deleteFiles","readmeResult","tmp","Tmp","componentsStatus","Promise","all","getComponentMergeStatus","clear","err","failureMsgs","chalk","bold","red","join","compIdsToKeep","allBitIds","bitIdsFromPattern","BitIds","fromArray","bitIdsNotFromPattern","hasWithoutVersion","filteredComponentStatus","depsToAdd","pMapSeries","compId","fromStatus","divergeData","remoteVersions","snapsOnRemoteOnly","modelComponent","getModelComponent","localVersion","versionObj","loadVersion","flattenedDeps","getAllFlattenedDependencies","depsNotIncludeInPattern","d","depsUniq","uniqFromArray","succeededComponents","componentFromModel","isDiverged","isLocalAhead","isRemoteAhead","remoteSnaps","commonSnapBeforeDiverge","addAsOnlyParent","parents","ref","removeParent","squashedSnaps","snap","isEqual","setSquashed","add"],"sources":["merge-lanes.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { BitError } from '@teambit/bit-error';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport pMapSeries from 'p-map-series';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { ApplyVersionResults } from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport { BitIds } from '@teambit/legacy/dist/bit-id';\nimport { ComponentID } from '@teambit/component-id';\nimport { Workspace } from '@teambit/workspace';\nimport { LaneId, DEFAULT_LANE } from '@teambit/lane-id';\nimport { Lane } from '@teambit/legacy/dist/scope/models';\nimport { Tmp } from '@teambit/legacy/dist/scope/repositories';\nimport { MergingMain, ComponentMergeStatus } from '@teambit/merging';\nimport { remove } from '@teambit/legacy/dist/api/consumer';\nimport { MergeLaneOptions } from './lanes.main.runtime';\n\nexport async function mergeLanes({\n merging,\n workspace,\n laneName,\n mergeStrategy,\n remoteName,\n noSnap,\n snapMessage,\n existingOnWorkspaceOnly,\n build,\n keepReadme,\n squash,\n pattern,\n includeDeps,\n}: {\n merging: MergingMain;\n workspace: Workspace;\n laneName: string;\n} & MergeLaneOptions): Promise<{ mergeResults: ApplyVersionResults; deleteResults: any }> {\n const consumer = workspace.consumer;\n const currentLaneId = consumer.getCurrentLaneId();\n if (!remoteName && laneName === currentLaneId.name) {\n throw new BitError(\n `unable to merge lane \"${laneName}\", you're already at this lane. to get updates, simply run \"bit checkout head\"`\n );\n }\n const parsedLaneId = await consumer.getParsedLaneId(laneName);\n const localLane = currentLaneId.isDefault() ? null : await consumer.scope.loadLane(currentLaneId);\n let bitIds: BitId[];\n let otherLane: Lane | null | undefined;\n let remoteLane;\n let otherLaneName: string;\n const isDefaultLane = laneName === DEFAULT_LANE;\n\n if (isDefaultLane) {\n if (!localLane) throw new Error(`unable to merge ${DEFAULT_LANE}, the current lane was not found`);\n bitIds = await consumer.scope.getDefaultLaneIdsFromLane(localLane);\n otherLaneName = DEFAULT_LANE;\n } else if (remoteName) {\n const remoteLaneId = LaneId.from(parsedLaneId.name, remoteName);\n remoteLane = await consumer.scope.objects.remoteLanes.getRemoteLane(remoteLaneId);\n if (!remoteLane.length) {\n throw new BitError(\n `unable to switch to \"${laneName}\" of \"${remoteName}\", the remote lane was not found or not fetched locally`\n );\n }\n bitIds = await consumer.scope.objects.remoteLanes.getRemoteBitIds(remoteLaneId);\n otherLaneName = `${remoteName}/${parsedLaneId.name}`;\n } else {\n otherLane = await consumer.scope.loadLane(parsedLaneId);\n if (!otherLane) throw new BitError(`unable to switch to \"${laneName}\", the lane was not found`);\n bitIds = otherLane.components.map((c) => c.id.changeVersion(c.head.toString()));\n otherLaneName = parsedLaneId.name;\n }\n\n let allComponentsStatus = await getAllComponentsStatus();\n\n throwForFailures();\n\n if (pattern) {\n const componentIds = await workspace.resolveMultipleComponentIds(bitIds);\n const compIdsFromPattern = workspace.scope.filterIdsFromPoolIdsByPattern(pattern, componentIds);\n allComponentsStatus = await filterComponentsStatus(\n allComponentsStatus,\n compIdsFromPattern,\n bitIds,\n workspace,\n includeDeps\n );\n bitIds.forEach((bitId) => {\n if (!allComponentsStatus.find((c) => c.id.isEqualWithoutVersion(bitId))) {\n allComponentsStatus.push({ id: bitId, unmergedLegitimately: true, unmergedMessage: `excluded by pattern` });\n }\n });\n }\n if (existingOnWorkspaceOnly) {\n const workspaceIds = await workspace.listIds();\n const compIdsFromPattern = workspaceIds.filter((id) =>\n allComponentsStatus.find((c) => c.id.isEqualWithoutVersion(id._legacy))\n );\n allComponentsStatus = await filterComponentsStatus(\n allComponentsStatus,\n compIdsFromPattern,\n bitIds,\n workspace,\n includeDeps\n );\n bitIds.forEach((bitId) => {\n if (!allComponentsStatus.find((c) => c.id.isEqualWithoutVersion(bitId))) {\n allComponentsStatus.push({ id: bitId, unmergedLegitimately: true, unmergedMessage: `not in the workspace` });\n }\n });\n }\n\n if (squash) {\n squashSnaps(allComponentsStatus, laneName, consumer);\n }\n\n const mergeResults = await merging.mergeSnaps({\n mergeStrategy,\n allComponentsStatus,\n remoteName,\n laneId: parsedLaneId,\n localLane,\n noSnap,\n snapMessage,\n build,\n });\n\n const mergedSuccessfully =\n !mergeResults.failedComponents ||\n mergeResults.failedComponents.length === 0 ||\n mergeResults.failedComponents.every((failedComponent) => failedComponent.unchangedLegitimately);\n\n let deleteResults = {};\n\n if (!keepReadme && otherLane && otherLane.readmeComponent && mergedSuccessfully) {\n await consumer.bitMap.syncWithLanes(consumer.bitMap.workspaceLane);\n\n const readmeComponentId = [\n otherLane.readmeComponent.id.changeVersion(otherLane.readmeComponent?.head?.hash).toString(),\n ];\n\n deleteResults = await remove({\n ids: readmeComponentId,\n force: false,\n remote: false,\n track: false,\n deleteFiles: true,\n });\n } else if (otherLane && !otherLane.readmeComponent) {\n deleteResults = { readmeResult: `lane ${otherLane.name} doesn't have a readme component` };\n }\n\n return { mergeResults, deleteResults };\n\n async function getAllComponentsStatus(): Promise<ComponentMergeStatus[]> {\n const tmp = new Tmp(consumer.scope);\n try {\n const componentsStatus = await Promise.all(\n bitIds.map((bitId) => merging.getComponentMergeStatus(bitId, localLane, otherLaneName))\n );\n await tmp.clear();\n return componentsStatus;\n } catch (err: any) {\n await tmp.clear();\n throw err;\n }\n }\n\n function throwForFailures() {\n const failedComponents = allComponentsStatus.filter((c) => c.unmergedMessage && !c.unmergedLegitimately);\n if (failedComponents.length) {\n const failureMsgs = failedComponents\n .map(\n (failedComponent) =>\n `${chalk.bold(failedComponent.id.toString())} - ${chalk.red(failedComponent.unmergedMessage as string)}`\n )\n .join('\\n');\n throw new BitError(`unable to merge due to the following failures:\\n${failureMsgs}`);\n }\n }\n}\n\nasync function filterComponentsStatus(\n allComponentsStatus: ComponentMergeStatus[],\n compIdsToKeep: ComponentID[],\n allBitIds: BitId[],\n workspace: Workspace,\n includeDeps = false\n): Promise<ComponentMergeStatus[]> {\n const bitIdsFromPattern = BitIds.fromArray(compIdsToKeep.map((c) => c._legacy));\n const bitIdsNotFromPattern = allBitIds.filter((bitId) => !bitIdsFromPattern.hasWithoutVersion(bitId));\n const filteredComponentStatus: ComponentMergeStatus[] = [];\n const depsToAdd: BitId[] = [];\n await pMapSeries(compIdsToKeep, async (compId) => {\n const fromStatus = allComponentsStatus.find((c) => c.id.isEqualWithoutVersion(compId._legacy));\n if (!fromStatus) {\n throw new Error(`filterComponentsStatus: unable to find ${compId.toString()} in component-status`);\n }\n filteredComponentStatus.push(fromStatus);\n if (fromStatus.unmergedMessage) {\n return;\n }\n const { divergeData } = fromStatus;\n if (!divergeData) {\n throw new Error(`filterComponentsStatus: unable to find divergeData for ${compId.toString()}`);\n }\n const remoteVersions = divergeData.snapsOnRemoteOnly;\n if (!remoteVersions.length) {\n return;\n }\n const modelComponent = await workspace.consumer.scope.getModelComponent(compId._legacy);\n // optimization suggestion: if squash is given, check only the last version.\n await pMapSeries(remoteVersions, async (localVersion) => {\n const versionObj = await modelComponent.loadVersion(localVersion.toString(), workspace.consumer.scope.objects);\n const flattenedDeps = versionObj.getAllFlattenedDependencies();\n const depsNotIncludeInPattern = bitIdsNotFromPattern.filter((id) => flattenedDeps.hasWithoutVersion(id));\n if (!depsNotIncludeInPattern.length) {\n return;\n }\n if (!includeDeps) {\n throw new BitError(`unable to merge ${compId.toString()}.\nit has the following dependencies which were not included in the pattern. consider adding \"--include-deps\" flag\n${depsNotIncludeInPattern.map((d) => d.toString()).join('\\n')}`);\n }\n depsToAdd.push(...depsNotIncludeInPattern);\n });\n });\n if (depsToAdd.length) {\n const depsUniq = BitIds.uniqFromArray(depsToAdd);\n depsUniq.forEach((id) => {\n const fromStatus = allComponentsStatus.find((c) => c.id.isEqualWithoutVersion(id));\n if (!fromStatus) {\n throw new Error(`filterComponentsStatus: unable to find ${id.toString()} in component-status`);\n }\n filteredComponentStatus.push(fromStatus);\n });\n }\n return filteredComponentStatus;\n}\n\nfunction squashSnaps(allComponentsStatus: ComponentMergeStatus[], laneName: string, consumer: Consumer) {\n const succeededComponents = allComponentsStatus.filter((c) => !c.unmergedMessage);\n succeededComponents.forEach(({ id, divergeData, componentFromModel }) => {\n if (!divergeData) {\n throw new Error(`unable to squash. divergeData is missing from ${id.toString()}`);\n }\n if (divergeData.isDiverged()) {\n throw new BitError(`unable to squash because ${id.toString()} is diverged in history.\nconsider switching to ${laneName} first, merging this lane, then switching back to this lane and merging ${laneName}`);\n }\n if (divergeData.isLocalAhead()) {\n // nothing to do. current is ahead, nothing to merge. (it was probably filtered out already as a \"failedComponent\")\n return;\n }\n if (!divergeData.isRemoteAhead()) {\n // nothing to do. current and remote are the same, nothing to merge. (it was probably filtered out already as a \"failedComponent\")\n return;\n }\n // remote is ahead and was not diverge.\n const remoteSnaps = divergeData.snapsOnRemoteOnly;\n if (remoteSnaps.length === 0) {\n throw new Error(`remote is ahead but it has no snaps. it's impossible`);\n }\n if (remoteSnaps.length === 1) {\n // nothing to squash. it has only one commit.\n return;\n }\n if (!componentFromModel) {\n throw new Error('unable to squash, the componentFromModel is missing');\n }\n\n // do the squash.\n if (divergeData.commonSnapBeforeDiverge) {\n componentFromModel.addAsOnlyParent(divergeData.commonSnapBeforeDiverge);\n } else {\n // there is no commonSnapBeforeDiverge. the local has no snaps, all are remote, no need for parents. keep only head.\n componentFromModel.parents.forEach((ref) => componentFromModel.removeParent(ref));\n }\n const squashedSnaps = remoteSnaps.filter((snap) => !snap.isEqual(componentFromModel.hash()));\n componentFromModel.setSquashed(squashedSnaps);\n consumer.scope.objects.add(componentFromModel);\n });\n}\n"],"mappings":"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"}
package/lanes.docs.mdx CHANGED
@@ -87,6 +87,12 @@ Summary of when/what lanes data is saved per command:
87
87
  - in case the merge wasn't done and the user is trying to export, the remote blocks is as it finds out that its head doesn't exist on the incoming component.
88
88
  - in case the snap-merge failed due to a conflict, it saves the conflict and heads data into `.bit/unmerged.json` file.
89
89
 
90
+ ### Merge components
91
+
92
+ - to merge an entire lane, use `bit lane merge`.
93
+ - to get updates from a remote lane, run `bit import`, and then `bit checkout head`. alternatively, run `bit merge <component-id>` in one command.
94
+ - to merge an individual component from a lane to main, run `bit lane merge <lane> --pattern <component-id>` when on main.
95
+
90
96
  ### Useful APIs
91
97
 
92
98
  - bit-map `getAllIdsAvailableOnLane()` filters the currently checked out lane.
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/lanes",
3
- "version": "0.0.362",
3
+ "version": "0.0.365",
4
4
  "homepage": "https://bit.dev/teambit/lanes/lanes",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.lanes",
8
8
  "name": "lanes",
9
- "version": "0.0.362"
9
+ "version": "0.0.365"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -18,23 +18,23 @@
18
18
  "core-js": "^3.0.0",
19
19
  "@teambit/harmony": "0.3.3",
20
20
  "@teambit/bit-error": "0.0.394",
21
- "@teambit/cli": "0.0.523",
22
- "@teambit/merging": "0.0.105",
23
- "@teambit/scope": "0.0.790",
24
- "@teambit/workspace": "0.0.790",
25
- "@teambit/graphql": "0.0.790",
26
- "@teambit/community": "0.0.71",
27
- "@teambit/component": "0.0.790",
28
- "@teambit/lane-id": "0.0.42",
29
- "@teambit/lanes.modules.diff": "0.0.151",
21
+ "@teambit/cli": "0.0.526",
22
+ "@teambit/merging": "0.0.108",
23
+ "@teambit/scope": "0.0.793",
24
+ "@teambit/workspace": "0.0.793",
25
+ "@teambit/graphql": "0.0.793",
26
+ "@teambit/community": "0.0.74",
27
+ "@teambit/component": "0.0.793",
28
+ "@teambit/lane-id": "0.0.45",
29
+ "@teambit/lanes.modules.diff": "0.0.154",
30
30
  "@teambit/legacy-bit-id": "0.0.399",
31
- "@teambit/logger": "0.0.616",
31
+ "@teambit/logger": "0.0.619",
32
32
  "@teambit/design.ui.pages.not-found": "0.0.356",
33
- "@teambit/lanes.ui.lanes": "0.0.91",
34
- "@teambit/sidebar": "0.0.790",
33
+ "@teambit/lanes.ui.lanes": "0.0.94",
34
+ "@teambit/sidebar": "0.0.793",
35
35
  "@teambit/ui-foundation.ui.menu": "0.0.487",
36
36
  "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.490",
37
- "@teambit/ui": "0.0.790",
37
+ "@teambit/ui": "0.0.793",
38
38
  "@teambit/component-id": "0.0.402"
39
39
  },
40
40
  "devDependencies": {
@@ -51,7 +51,7 @@
51
51
  },
52
52
  "peerDependencies": {
53
53
  "react-router-dom": "^6.0.0",
54
- "@teambit/legacy": "1.0.305",
54
+ "@teambit/legacy": "1.0.308",
55
55
  "react-dom": "^16.8.0 || ^17.0.0",
56
56
  "react": "^16.8.0 || ^17.0.0"
57
57
  },
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.362/dist/lanes.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.362/dist/lanes.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.365/dist/lanes.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.365/dist/lanes.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];