@teambit/lanes 0.0.299 → 0.0.302

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.
@@ -123,11 +123,7 @@ async function mergeLanes({
123
123
  track: false,
124
124
  deleteFiles: true
125
125
  });
126
- } else if (!otherLane) {
127
- deleteResults = {
128
- readmeResult: `missing lane ${laneName}`
129
- };
130
- } else if (!otherLane.readmeComponent) {
126
+ } else if (otherLane && !otherLane.readmeComponent) {
131
127
  deleteResults = {
132
128
  readmeResult: `lane ${otherLane.name} doesn't have a readme component`
133
129
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["merge-lanes.ts"],"names":["mergeLanes","merging","consumer","mergeStrategy","laneName","remoteName","noSnap","snapMessage","existingOnWorkspaceOnly","build","keepReadme","currentLaneId","getCurrentLaneId","name","BitError","laneId","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","mergeResults","mergeSnaps","mergedSuccessfully","failedComponents","every","failedComponent","unchangedLegitimately","deleteResults","readmeComponent","syncWithLanes","workspaceLane","readmeComponentId","hash","ids","force","remote","track","deleteFiles","readmeResult","tmp","Tmp","componentsStatus","Promise","all","bitId","getComponentMergeStatus","clear","err"],"mappings":"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","sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { ApplyVersionResults, MergeStrategy } from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\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 } from '@teambit/merging';\nimport { remove } from '@teambit/legacy/dist/api/consumer';\n\nexport async function mergeLanes({\n merging,\n consumer,\n mergeStrategy,\n laneName,\n remoteName,\n noSnap,\n snapMessage,\n existingOnWorkspaceOnly,\n build,\n keepReadme,\n}: {\n merging: MergingMain;\n consumer: Consumer;\n mergeStrategy: MergeStrategy;\n laneName: string;\n remoteName: string | null;\n noSnap: boolean;\n snapMessage: string;\n existingOnWorkspaceOnly: boolean;\n build: boolean;\n keepReadme?: boolean;\n}): Promise<{ mergeResults: ApplyVersionResults; deleteResults: any }> {\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 laneId = 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(laneId.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}/${laneId.name}`;\n } else {\n otherLane = await consumer.scope.loadLane(laneId);\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 = laneId.name;\n }\n\n const allComponentsStatus = await getAllComponentsStatus();\n\n const mergeResults = await merging.mergeSnaps({\n mergeStrategy,\n allComponentsStatus,\n remoteName,\n laneId,\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) {\n deleteResults = { readmeResult: `missing lane ${laneName}` };\n } else if (!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() {\n const tmp = new Tmp(consumer.scope);\n try {\n const componentsStatus = await Promise.all(\n bitIds.map((bitId) => merging.getComponentMergeStatus(bitId, localLane, otherLaneName, existingOnWorkspaceOnly))\n );\n await tmp.clear();\n return componentsStatus;\n } catch (err: any) {\n await tmp.clear();\n throw err;\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["merge-lanes.ts"],"names":["mergeLanes","merging","consumer","mergeStrategy","laneName","remoteName","noSnap","snapMessage","existingOnWorkspaceOnly","build","keepReadme","currentLaneId","getCurrentLaneId","name","BitError","laneId","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","mergeResults","mergeSnaps","mergedSuccessfully","failedComponents","every","failedComponent","unchangedLegitimately","deleteResults","readmeComponent","syncWithLanes","workspaceLane","readmeComponentId","hash","ids","force","remote","track","deleteFiles","readmeResult","tmp","Tmp","componentsStatus","Promise","all","bitId","getComponentMergeStatus","clear","err"],"mappings":"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","sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { ApplyVersionResults, MergeStrategy } from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\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 } from '@teambit/merging';\nimport { remove } from '@teambit/legacy/dist/api/consumer';\n\nexport async function mergeLanes({\n merging,\n consumer,\n mergeStrategy,\n laneName,\n remoteName,\n noSnap,\n snapMessage,\n existingOnWorkspaceOnly,\n build,\n keepReadme,\n}: {\n merging: MergingMain;\n consumer: Consumer;\n mergeStrategy: MergeStrategy;\n laneName: string;\n remoteName: string | null;\n noSnap: boolean;\n snapMessage: string;\n existingOnWorkspaceOnly: boolean;\n build: boolean;\n keepReadme?: boolean;\n}): Promise<{ mergeResults: ApplyVersionResults; deleteResults: any }> {\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 laneId = 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(laneId.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}/${laneId.name}`;\n } else {\n otherLane = await consumer.scope.loadLane(laneId);\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 = laneId.name;\n }\n\n const allComponentsStatus = await getAllComponentsStatus();\n\n const mergeResults = await merging.mergeSnaps({\n mergeStrategy,\n allComponentsStatus,\n remoteName,\n laneId,\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() {\n const tmp = new Tmp(consumer.scope);\n try {\n const componentsStatus = await Promise.all(\n bitIds.map((bitId) => merging.getComponentMergeStatus(bitId, localLane, otherLaneName, existingOnWorkspaceOnly))\n );\n await tmp.clear();\n return componentsStatus;\n } catch (err: any) {\n await tmp.clear();\n throw err;\n }\n }\n}\n"]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/lanes",
3
- "version": "0.0.299",
3
+ "version": "0.0.302",
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.299"
9
+ "version": "0.0.302"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "4.1.2",
@@ -19,22 +19,22 @@
19
19
  "core-js": "^3.0.0",
20
20
  "@teambit/harmony": "0.3.3",
21
21
  "@teambit/bit-error": "0.0.394",
22
- "@teambit/cli": "0.0.486",
23
- "@teambit/merging": "0.0.42",
24
- "@teambit/scope": "0.0.727",
25
- "@teambit/workspace": "0.0.727",
26
- "@teambit/graphql": "0.0.727",
27
- "@teambit/community": "0.0.34",
28
- "@teambit/component": "0.0.727",
29
- "@teambit/lane-id": "0.0.5",
30
- "@teambit/lanes.modules.diff": "0.0.113",
22
+ "@teambit/cli": "0.0.487",
23
+ "@teambit/merging": "0.0.45",
24
+ "@teambit/scope": "0.0.730",
25
+ "@teambit/workspace": "0.0.730",
26
+ "@teambit/graphql": "0.0.730",
27
+ "@teambit/community": "0.0.35",
28
+ "@teambit/component": "0.0.730",
29
+ "@teambit/lane-id": "0.0.6",
30
+ "@teambit/lanes.modules.diff": "0.0.114",
31
31
  "@teambit/legacy-bit-id": "0.0.399",
32
- "@teambit/logger": "0.0.578",
33
- "@teambit/lanes.ui.lanes": "0.0.52",
34
- "@teambit/sidebar": "0.0.727",
32
+ "@teambit/logger": "0.0.579",
33
+ "@teambit/lanes.ui.lanes": "0.0.53",
34
+ "@teambit/sidebar": "0.0.730",
35
35
  "@teambit/ui-foundation.ui.menu": "0.0.487",
36
36
  "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.489",
37
- "@teambit/ui": "0.0.727"
37
+ "@teambit/ui": "0.0.730"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/react": "^17.0.8",
@@ -50,7 +50,7 @@
50
50
  "@teambit/workspace.testing.mock-workspace": "0.0.5"
51
51
  },
52
52
  "peerDependencies": {
53
- "@teambit/legacy": "1.0.265",
53
+ "@teambit/legacy": "1.0.266",
54
54
  "react-dom": "^16.8.0 || ^17.0.0",
55
55
  "react": "^16.8.0 || ^17.0.0"
56
56
  },
@@ -78,7 +78,7 @@
78
78
  "react": "-"
79
79
  },
80
80
  "peerDependencies": {
81
- "@teambit/legacy": "1.0.265",
81
+ "@teambit/legacy": "1.0.266",
82
82
  "react-dom": "^16.8.0 || ^17.0.0",
83
83
  "react": "^16.8.0 || ^17.0.0"
84
84
  }
@@ -1,2 +1,2 @@
1
- export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.299/dist/lanes.composition.js')]
2
- export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.299/dist/lanes.docs.mdx')]
1
+ export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.302/dist/lanes.composition.js')]
2
+ export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.302/dist/lanes.docs.mdx')]