@teambit/lanes 1.0.1074 → 1.0.1076

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.
@@ -44,7 +44,7 @@ export declare class LanesUI {
44
44
  private scope?;
45
45
  static dependencies: import("@teambit/harmony").Aspect[];
46
46
  static runtime: import("@teambit/harmony").RuntimeDefinition;
47
- static slots: (((registerFn: () => string) => SlotRegistry<RouteProps>) | ((registerFn: () => string) => SlotRegistry<MenuWidgetSlot>) | ((registerFn: () => string) => SlotRegistry<NavigationSlot>) | ((registerFn: () => string) => SlotRegistry<LaneProviderIgnoreSlot>))[];
47
+ static slots: (((registerFn: () => string) => SlotRegistry<RouteProps>) | ((registerFn: () => string) => SlotRegistry<LaneOverviewLineSlot>) | ((registerFn: () => string) => SlotRegistry<NavigationSlot>) | ((registerFn: () => string) => SlotRegistry<LaneProviderIgnoreSlot>))[];
48
48
  constructor(componentUI: ComponentUI, componentCompareUI: ComponentCompareUI, routeSlot: RouteSlot, navSlot: LanesOrderedNavigationSlot, menuWidgetSlot: MenuWidgetSlot,
49
49
  /**
50
50
  * overview line slot to add new lines beneath the overview section
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.lanes_lanes@1.0.1074/dist/lanes.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.lanes_lanes@1.0.1074/dist/lanes.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.lanes_lanes@1.0.1076/dist/lanes.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.lanes_lanes@1.0.1076/dist/lanes.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -80,7 +80,12 @@ class LaneSwitcher {
80
80
  const localLane = await this.consumer.scope.loadLane(laneId);
81
81
  const getMainIds = async () => {
82
82
  if (!skipFetch) {
83
- const allIds = this.workspace.listIds();
83
+ // fetch by "latest" and without a lane, so the remote resolves each id against the head on
84
+ // main of its original scope. passing the ids as-is would send the versions from .bitmap,
85
+ // which on a lane are snap hashes that live on the lane's scope, not on the component's
86
+ // original scope. the original scope can't resolve them, drops them from the response
87
+ // silently, and the local head on main is left stale.
88
+ const allIds = this.workspace.listIds().toVersionLatest();
84
89
  try {
85
90
  await this.workspace.scope.legacyScope.scopeImporter.importWithoutDeps(allIds, {
86
91
  cache: false,
@@ -1 +1 @@
1
- {"version":3,"names":["_laneId","data","require","_componentId","_bitError","_lanesModules","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","LaneSwitcher","constructor","workspace","logger","switchProps","checkoutProps","lanes","consumer","switch","setStatusLine","isOnMain","throwForStagedComponents","populateSwitchProps","bitMapIds","bitmapIdsFromCurrentLaneIncludeRemoved","idsToSwitch","ids","map","id","bitMapId","searchWithoutVersion","allowAddingComponentsFromScope","versionPerId","resolveMultipleComponentIds","lane","laneToSwitchTo","results","checkout","saveLanesData","onDestroy","laneId","scope","parseLaneIdFromString","laneName","skipFetch","localLane","loadLane","getMainIds","allIds","listIds","legacyScope","scopeImporter","importWithoutDeps","cache","ignoreMissingHead","err","consoleWarning","message","getIdsOfDefaultLane","mainIds","isDefault","populatePropsAccordingToDefaultLane","laneIds","BitError","toString","populatePropsAccordingToLocalLane","populatePropsAccordingToRemoteLane","idsOnLaneOnly","find","isEqualWithoutVersion","idsOnMainOnly","laneBitIds","populateIdsAccordingToPattern","pattern","bitMap","getAllBitIdsFromAllLanes","filterIdsFromPoolIdsByPattern","remoteLaneId","laneIdToSwitchTo","debug","throwForSwitchingToCurrentLane","remoteLane","fetchLaneWithItsComponents","name","localTrackedLane","getAliasByLaneId","undefined","toComponentIds","LaneId","from","DEFAULT_LANE","toLaneId","getCurrentLaneId","isEqual","laneIdStr","localLaneName","alias","trackLane","remoteScope","setCurrentLane","isNew","syncWithIds","ComponentIdList","fromArray","objects","clearObjectsFromCache","exports"],"sources":["switch-lanes.ts"],"sourcesContent":["import type { Consumer } from '@teambit/legacy.consumer';\nimport { LaneId, DEFAULT_LANE } from '@teambit/lane-id';\nimport type { ComponentID } from '@teambit/component-id';\nimport { ComponentIdList } from '@teambit/component-id';\nimport type { ApplyVersionResults } from '@teambit/component.modules.merge-helper';\nimport type { Lane } from '@teambit/objects';\nimport type { CheckoutProps } from '@teambit/checkout';\nimport type { Workspace } from '@teambit/workspace';\nimport type { Logger } from '@teambit/logger';\nimport { BitError } from '@teambit/bit-error';\nimport { throwForStagedComponents } from '@teambit/lanes.modules.create-lane';\nimport type { LanesMain } from './lanes.main.runtime';\n\nexport type SwitchProps = {\n laneName: string;\n ids?: ComponentID[];\n laneBitIds?: ComponentID[]; // only needed for the deprecated onLanesOnly prop. once this prop is removed, this prop can be removed as well.\n pattern?: string;\n skipFetch?: boolean;\n existingOnWorkspaceOnly?: boolean;\n remoteLane?: Lane;\n localTrackedLane?: string;\n alias?: string;\n};\n\nexport class LaneSwitcher {\n private consumer: Consumer;\n private laneIdToSwitchTo: LaneId; // populated by `this.populateSwitchProps()`\n private laneToSwitchTo: Lane | undefined; // populated by `this.populateSwitchProps()`, if default-lane, it's undefined\n constructor(\n private workspace: Workspace,\n private logger: Logger,\n private switchProps: SwitchProps,\n private checkoutProps: CheckoutProps,\n private lanes: LanesMain\n ) {\n this.consumer = this.workspace.consumer;\n }\n\n async switch(): Promise<ApplyVersionResults> {\n this.logger.setStatusLine(`switching lanes`);\n if (this.workspace.isOnMain()) {\n await throwForStagedComponents(this.workspace);\n }\n await this.populateSwitchProps();\n const bitMapIds = this.workspace.consumer.bitmapIdsFromCurrentLaneIncludeRemoved;\n const idsToSwitch = this.switchProps.ids || [];\n const ids = idsToSwitch.map((id) => {\n const bitMapId = bitMapIds.searchWithoutVersion(id);\n return bitMapId || id;\n });\n\n const checkoutProps: CheckoutProps = {\n ...this.checkoutProps,\n ids,\n allowAddingComponentsFromScope: true,\n versionPerId: await this.workspace.resolveMultipleComponentIds(idsToSwitch),\n lane: this.laneToSwitchTo,\n };\n\n const results = await this.lanes.checkout.checkout(checkoutProps);\n\n await this.saveLanesData();\n await this.consumer.onDestroy('lane-switch');\n\n return results;\n }\n\n private async populateSwitchProps() {\n const laneId = await this.consumer.scope.lanes.parseLaneIdFromString(this.switchProps.laneName);\n const skipFetch = this.switchProps.skipFetch;\n\n const localLane = await this.consumer.scope.loadLane(laneId);\n const getMainIds = async () => {\n if (!skipFetch) {\n const allIds = this.workspace.listIds();\n try {\n await this.workspace.scope.legacyScope.scopeImporter.importWithoutDeps(allIds, {\n cache: false,\n ignoreMissingHead: true,\n });\n } catch (err: any) {\n this.logger.consoleWarning(\n `failed to fetch the latest from the remote, falling back to local state. ${err.message}\\nuse --skip-fetch to skip this step.`\n );\n }\n }\n return this.consumer.getIdsOfDefaultLane();\n };\n const mainIds = await getMainIds();\n if (laneId.isDefault()) {\n await this.populatePropsAccordingToDefaultLane();\n this.switchProps.ids = mainIds;\n } else {\n let laneIds: ComponentID[];\n if (skipFetch) {\n if (!localLane) {\n throw new BitError(\n `unable to switch to lane \"${laneId.toString()}\" with --skip-fetch: the lane doesn't exist in the local scope. run without --skip-fetch to fetch it from the remote.`\n );\n }\n laneIds = this.populatePropsAccordingToLocalLane(localLane);\n } else {\n try {\n laneIds = await this.populatePropsAccordingToRemoteLane(laneId);\n } catch (err: any) {\n if (!localLane) throw err;\n this.logger.consoleWarning(\n `failed to fetch lane \"${laneId.toString()}\" from the remote, falling back to local state. ${err.message}\\nuse --skip-fetch to skip this step.`\n );\n laneIds = this.populatePropsAccordingToLocalLane(localLane);\n }\n }\n const idsOnLaneOnly = laneIds.filter((id) => !mainIds.find((i) => i.isEqualWithoutVersion(id)));\n const idsOnMainOnly = mainIds.filter((id) => !laneIds.find((i) => i.isEqualWithoutVersion(id)));\n this.switchProps.ids = [...idsOnMainOnly, ...laneIds];\n this.switchProps.laneBitIds = idsOnLaneOnly;\n }\n await this.populateIdsAccordingToPattern();\n }\n\n private async populateIdsAccordingToPattern() {\n if (!this.switchProps.pattern) {\n return;\n }\n if (this.consumer.bitMap.getAllBitIdsFromAllLanes().length) {\n // if the workspace is not empty, it's possible that it has components from lane-x, and is now switching\n // partially to lane-y, while lane-y has the same components as lane-x. in which case, the user ends up with\n // an invalid state of components from lane-x and lane-y together.\n throw new BitError('error: use --pattern only when the workspace is empty');\n }\n const allIds = this.switchProps.ids || [];\n this.switchProps.ids = await this.workspace.filterIdsFromPoolIdsByPattern(this.switchProps.pattern, allIds);\n }\n\n private async populatePropsAccordingToRemoteLane(remoteLaneId: LaneId): Promise<ComponentID[]> {\n this.laneIdToSwitchTo = remoteLaneId;\n this.logger.debug(`populatePropsAccordingToRemoteLane, remoteLaneId: ${remoteLaneId.toString()}`);\n this.throwForSwitchingToCurrentLane();\n const remoteLane = await this.lanes.fetchLaneWithItsComponents(remoteLaneId);\n this.switchProps.laneName = remoteLaneId.name;\n this.switchProps.localTrackedLane = this.consumer.scope.lanes.getAliasByLaneId(remoteLaneId) || undefined;\n this.switchProps.remoteLane = remoteLane;\n this.laneToSwitchTo = remoteLane;\n this.logger.debug(`populatePropsAccordingToRemoteLane, completed`);\n return [...remoteLane.toComponentIds()];\n }\n\n private async populatePropsAccordingToDefaultLane() {\n this.laneIdToSwitchTo = LaneId.from(DEFAULT_LANE, this.consumer.scope.name);\n this.throwForSwitchingToCurrentLane();\n }\n\n private populatePropsAccordingToLocalLane(localLane: Lane): ComponentID[] {\n this.laneIdToSwitchTo = localLane.toLaneId();\n this.laneToSwitchTo = localLane;\n this.throwForSwitchingToCurrentLane();\n return [...localLane.toComponentIds()];\n }\n\n private throwForSwitchingToCurrentLane() {\n if (this.consumer.getCurrentLaneId().isEqual(this.laneIdToSwitchTo)) {\n const laneIdStr = this.laneIdToSwitchTo.isDefault()\n ? this.laneIdToSwitchTo.name\n : this.laneIdToSwitchTo.toString();\n throw new BitError(`already checked out to \"${laneIdStr}\".\nto be up to date with the remote lane, please run \"bit checkout head\"`);\n }\n }\n\n private async saveLanesData() {\n const localLaneName = this.switchProps.alias || this.laneIdToSwitchTo.name;\n if (this.switchProps.remoteLane) {\n if (!this.switchProps.localTrackedLane) {\n this.consumer.scope.lanes.trackLane({\n localLane: localLaneName,\n remoteLane: this.laneIdToSwitchTo.name,\n remoteScope: this.laneIdToSwitchTo.scope,\n });\n }\n }\n\n this.consumer.setCurrentLane(this.laneIdToSwitchTo, !this.laneToSwitchTo?.isNew);\n this.consumer.bitMap.syncWithIds(\n ComponentIdList.fromArray(this.switchProps.ids || []),\n ComponentIdList.fromArray(this.switchProps.laneBitIds || [])\n );\n\n // If this cache isn't cleared, here's what can happen:\n // Switching from \"lane-dev\" to \"main\": while on \"lane-dev\", ModelComponent keeps in-memory props\n // `laneHeadLocal` and `laneHeadRemote`. Methods like `headIncludeRemote()` use them and may return\n // the lane-dev head instead of the head on main.\n this.consumer.scope.objects.clearObjectsFromCache();\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_laneId","data","require","_componentId","_bitError","_lanesModules","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","LaneSwitcher","constructor","workspace","logger","switchProps","checkoutProps","lanes","consumer","switch","setStatusLine","isOnMain","throwForStagedComponents","populateSwitchProps","bitMapIds","bitmapIdsFromCurrentLaneIncludeRemoved","idsToSwitch","ids","map","id","bitMapId","searchWithoutVersion","allowAddingComponentsFromScope","versionPerId","resolveMultipleComponentIds","lane","laneToSwitchTo","results","checkout","saveLanesData","onDestroy","laneId","scope","parseLaneIdFromString","laneName","skipFetch","localLane","loadLane","getMainIds","allIds","listIds","toVersionLatest","legacyScope","scopeImporter","importWithoutDeps","cache","ignoreMissingHead","err","consoleWarning","message","getIdsOfDefaultLane","mainIds","isDefault","populatePropsAccordingToDefaultLane","laneIds","BitError","toString","populatePropsAccordingToLocalLane","populatePropsAccordingToRemoteLane","idsOnLaneOnly","find","isEqualWithoutVersion","idsOnMainOnly","laneBitIds","populateIdsAccordingToPattern","pattern","bitMap","getAllBitIdsFromAllLanes","filterIdsFromPoolIdsByPattern","remoteLaneId","laneIdToSwitchTo","debug","throwForSwitchingToCurrentLane","remoteLane","fetchLaneWithItsComponents","name","localTrackedLane","getAliasByLaneId","undefined","toComponentIds","LaneId","from","DEFAULT_LANE","toLaneId","getCurrentLaneId","isEqual","laneIdStr","localLaneName","alias","trackLane","remoteScope","setCurrentLane","isNew","syncWithIds","ComponentIdList","fromArray","objects","clearObjectsFromCache","exports"],"sources":["switch-lanes.ts"],"sourcesContent":["import type { Consumer } from '@teambit/legacy.consumer';\nimport { LaneId, DEFAULT_LANE } from '@teambit/lane-id';\nimport type { ComponentID } from '@teambit/component-id';\nimport { ComponentIdList } from '@teambit/component-id';\nimport type { ApplyVersionResults } from '@teambit/component.modules.merge-helper';\nimport type { Lane } from '@teambit/objects';\nimport type { CheckoutProps } from '@teambit/checkout';\nimport type { Workspace } from '@teambit/workspace';\nimport type { Logger } from '@teambit/logger';\nimport { BitError } from '@teambit/bit-error';\nimport { throwForStagedComponents } from '@teambit/lanes.modules.create-lane';\nimport type { LanesMain } from './lanes.main.runtime';\n\nexport type SwitchProps = {\n laneName: string;\n ids?: ComponentID[];\n laneBitIds?: ComponentID[]; // only needed for the deprecated onLanesOnly prop. once this prop is removed, this prop can be removed as well.\n pattern?: string;\n skipFetch?: boolean;\n existingOnWorkspaceOnly?: boolean;\n remoteLane?: Lane;\n localTrackedLane?: string;\n alias?: string;\n};\n\nexport class LaneSwitcher {\n private consumer: Consumer;\n private laneIdToSwitchTo: LaneId; // populated by `this.populateSwitchProps()`\n private laneToSwitchTo: Lane | undefined; // populated by `this.populateSwitchProps()`, if default-lane, it's undefined\n constructor(\n private workspace: Workspace,\n private logger: Logger,\n private switchProps: SwitchProps,\n private checkoutProps: CheckoutProps,\n private lanes: LanesMain\n ) {\n this.consumer = this.workspace.consumer;\n }\n\n async switch(): Promise<ApplyVersionResults> {\n this.logger.setStatusLine(`switching lanes`);\n if (this.workspace.isOnMain()) {\n await throwForStagedComponents(this.workspace);\n }\n await this.populateSwitchProps();\n const bitMapIds = this.workspace.consumer.bitmapIdsFromCurrentLaneIncludeRemoved;\n const idsToSwitch = this.switchProps.ids || [];\n const ids = idsToSwitch.map((id) => {\n const bitMapId = bitMapIds.searchWithoutVersion(id);\n return bitMapId || id;\n });\n\n const checkoutProps: CheckoutProps = {\n ...this.checkoutProps,\n ids,\n allowAddingComponentsFromScope: true,\n versionPerId: await this.workspace.resolveMultipleComponentIds(idsToSwitch),\n lane: this.laneToSwitchTo,\n };\n\n const results = await this.lanes.checkout.checkout(checkoutProps);\n\n await this.saveLanesData();\n await this.consumer.onDestroy('lane-switch');\n\n return results;\n }\n\n private async populateSwitchProps() {\n const laneId = await this.consumer.scope.lanes.parseLaneIdFromString(this.switchProps.laneName);\n const skipFetch = this.switchProps.skipFetch;\n\n const localLane = await this.consumer.scope.loadLane(laneId);\n const getMainIds = async () => {\n if (!skipFetch) {\n // fetch by \"latest\" and without a lane, so the remote resolves each id against the head on\n // main of its original scope. passing the ids as-is would send the versions from .bitmap,\n // which on a lane are snap hashes that live on the lane's scope, not on the component's\n // original scope. the original scope can't resolve them, drops them from the response\n // silently, and the local head on main is left stale.\n const allIds = this.workspace.listIds().toVersionLatest();\n try {\n await this.workspace.scope.legacyScope.scopeImporter.importWithoutDeps(allIds, {\n cache: false,\n ignoreMissingHead: true,\n });\n } catch (err: any) {\n this.logger.consoleWarning(\n `failed to fetch the latest from the remote, falling back to local state. ${err.message}\\nuse --skip-fetch to skip this step.`\n );\n }\n }\n return this.consumer.getIdsOfDefaultLane();\n };\n const mainIds = await getMainIds();\n if (laneId.isDefault()) {\n await this.populatePropsAccordingToDefaultLane();\n this.switchProps.ids = mainIds;\n } else {\n let laneIds: ComponentID[];\n if (skipFetch) {\n if (!localLane) {\n throw new BitError(\n `unable to switch to lane \"${laneId.toString()}\" with --skip-fetch: the lane doesn't exist in the local scope. run without --skip-fetch to fetch it from the remote.`\n );\n }\n laneIds = this.populatePropsAccordingToLocalLane(localLane);\n } else {\n try {\n laneIds = await this.populatePropsAccordingToRemoteLane(laneId);\n } catch (err: any) {\n if (!localLane) throw err;\n this.logger.consoleWarning(\n `failed to fetch lane \"${laneId.toString()}\" from the remote, falling back to local state. ${err.message}\\nuse --skip-fetch to skip this step.`\n );\n laneIds = this.populatePropsAccordingToLocalLane(localLane);\n }\n }\n const idsOnLaneOnly = laneIds.filter((id) => !mainIds.find((i) => i.isEqualWithoutVersion(id)));\n const idsOnMainOnly = mainIds.filter((id) => !laneIds.find((i) => i.isEqualWithoutVersion(id)));\n this.switchProps.ids = [...idsOnMainOnly, ...laneIds];\n this.switchProps.laneBitIds = idsOnLaneOnly;\n }\n await this.populateIdsAccordingToPattern();\n }\n\n private async populateIdsAccordingToPattern() {\n if (!this.switchProps.pattern) {\n return;\n }\n if (this.consumer.bitMap.getAllBitIdsFromAllLanes().length) {\n // if the workspace is not empty, it's possible that it has components from lane-x, and is now switching\n // partially to lane-y, while lane-y has the same components as lane-x. in which case, the user ends up with\n // an invalid state of components from lane-x and lane-y together.\n throw new BitError('error: use --pattern only when the workspace is empty');\n }\n const allIds = this.switchProps.ids || [];\n this.switchProps.ids = await this.workspace.filterIdsFromPoolIdsByPattern(this.switchProps.pattern, allIds);\n }\n\n private async populatePropsAccordingToRemoteLane(remoteLaneId: LaneId): Promise<ComponentID[]> {\n this.laneIdToSwitchTo = remoteLaneId;\n this.logger.debug(`populatePropsAccordingToRemoteLane, remoteLaneId: ${remoteLaneId.toString()}`);\n this.throwForSwitchingToCurrentLane();\n const remoteLane = await this.lanes.fetchLaneWithItsComponents(remoteLaneId);\n this.switchProps.laneName = remoteLaneId.name;\n this.switchProps.localTrackedLane = this.consumer.scope.lanes.getAliasByLaneId(remoteLaneId) || undefined;\n this.switchProps.remoteLane = remoteLane;\n this.laneToSwitchTo = remoteLane;\n this.logger.debug(`populatePropsAccordingToRemoteLane, completed`);\n return [...remoteLane.toComponentIds()];\n }\n\n private async populatePropsAccordingToDefaultLane() {\n this.laneIdToSwitchTo = LaneId.from(DEFAULT_LANE, this.consumer.scope.name);\n this.throwForSwitchingToCurrentLane();\n }\n\n private populatePropsAccordingToLocalLane(localLane: Lane): ComponentID[] {\n this.laneIdToSwitchTo = localLane.toLaneId();\n this.laneToSwitchTo = localLane;\n this.throwForSwitchingToCurrentLane();\n return [...localLane.toComponentIds()];\n }\n\n private throwForSwitchingToCurrentLane() {\n if (this.consumer.getCurrentLaneId().isEqual(this.laneIdToSwitchTo)) {\n const laneIdStr = this.laneIdToSwitchTo.isDefault()\n ? this.laneIdToSwitchTo.name\n : this.laneIdToSwitchTo.toString();\n throw new BitError(`already checked out to \"${laneIdStr}\".\nto be up to date with the remote lane, please run \"bit checkout head\"`);\n }\n }\n\n private async saveLanesData() {\n const localLaneName = this.switchProps.alias || this.laneIdToSwitchTo.name;\n if (this.switchProps.remoteLane) {\n if (!this.switchProps.localTrackedLane) {\n this.consumer.scope.lanes.trackLane({\n localLane: localLaneName,\n remoteLane: this.laneIdToSwitchTo.name,\n remoteScope: this.laneIdToSwitchTo.scope,\n });\n }\n }\n\n this.consumer.setCurrentLane(this.laneIdToSwitchTo, !this.laneToSwitchTo?.isNew);\n this.consumer.bitMap.syncWithIds(\n ComponentIdList.fromArray(this.switchProps.ids || []),\n ComponentIdList.fromArray(this.switchProps.laneBitIds || [])\n );\n\n // If this cache isn't cleared, here's what can happen:\n // Switching from \"lane-dev\" to \"main\": while on \"lane-dev\", ModelComponent keeps in-memory props\n // `laneHeadLocal` and `laneHeadRemote`. Methods like `headIncludeRemote()` use them and may return\n // the lane-dev head instead of the head on main.\n this.consumer.scope.objects.clearObjectsFromCache();\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/lanes",
3
- "version": "1.0.1074",
3
+ "version": "1.0.1076",
4
4
  "homepage": "https://bit.cloud/teambit/lanes/lanes",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.lanes",
8
8
  "name": "lanes",
9
- "version": "1.0.1074"
9
+ "version": "1.0.1076"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "4.1.2",
@@ -21,25 +21,39 @@
21
21
  "group-array": "1.0.0",
22
22
  "@teambit/lanes.ui.models.lanes-model": "0.0.233",
23
23
  "@teambit/bit-error": "0.0.404",
24
- "@teambit/cli": "0.0.1350",
24
+ "@teambit/checkout": "1.0.1057",
25
+ "@teambit/cli": "0.0.1351",
25
26
  "@teambit/component.modules.merge-helper": "0.0.79",
27
+ "@teambit/importer": "1.0.1056",
26
28
  "@teambit/lane-id": "0.0.312",
27
29
  "@teambit/legacy.constants": "0.0.34",
28
30
  "@teambit/legacy.scope": "0.0.136",
31
+ "@teambit/scope": "1.0.1056",
32
+ "@teambit/workspace": "1.0.1056",
29
33
  "@teambit/harmony": "0.4.12",
30
- "@teambit/express": "0.0.1449",
31
- "@teambit/logger": "0.0.1443",
34
+ "@teambit/express": "0.0.1450",
35
+ "@teambit/logger": "0.0.1444",
32
36
  "@teambit/component-id": "1.2.4",
37
+ "@teambit/graphql": "1.0.1056",
38
+ "@teambit/component-compare": "1.0.1056",
39
+ "@teambit/component-writer": "1.0.1056",
33
40
  "@teambit/component.snap-distance": "0.0.137",
41
+ "@teambit/component": "1.0.1056",
42
+ "@teambit/export": "1.0.1056",
34
43
  "@teambit/git.modules.git-executable": "0.0.35",
35
44
  "@teambit/harmony.modules.concurrency": "0.0.35",
45
+ "@teambit/install": "1.0.1056",
36
46
  "@teambit/lanes.entities.lane-diff": "0.0.193",
37
47
  "@teambit/lanes.modules.create-lane": "0.0.171",
38
- "@teambit/lanes.modules.diff": "0.0.640",
48
+ "@teambit/lanes.modules.diff": "0.0.641",
39
49
  "@teambit/legacy-bit-id": "1.1.3",
40
50
  "@teambit/legacy.component-diff": "0.0.192",
41
51
  "@teambit/legacy.component-list": "0.0.190",
52
+ "@teambit/merging": "1.0.1059",
53
+ "@teambit/objects": "0.0.563",
54
+ "@teambit/remove": "1.0.1056",
42
55
  "@teambit/scope.remotes": "0.0.136",
56
+ "@teambit/command-bar": "1.0.1056",
43
57
  "@teambit/design.ui.pages.not-found": "0.0.371",
44
58
  "@teambit/lanes.hooks.use-lanes": "0.0.293",
45
59
  "@teambit/lanes.hooks.use-viewed-lane-from-url": "0.0.260",
@@ -53,23 +67,9 @@
53
67
  "@teambit/ui-foundation.ui.menu": "0.0.503",
54
68
  "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.527",
55
69
  "@teambit/ui-foundation.ui.react-router.use-query": "0.0.505",
70
+ "@teambit/ui": "1.0.1056",
56
71
  "@teambit/legacy.consumer": "0.0.136",
57
- "@teambit/scope.network": "0.0.136",
58
- "@teambit/checkout": "1.0.1056",
59
- "@teambit/importer": "1.0.1055",
60
- "@teambit/scope": "1.0.1055",
61
- "@teambit/workspace": "1.0.1055",
62
- "@teambit/graphql": "1.0.1055",
63
- "@teambit/component-compare": "1.0.1055",
64
- "@teambit/component-writer": "1.0.1055",
65
- "@teambit/component": "1.0.1055",
66
- "@teambit/export": "1.0.1055",
67
- "@teambit/install": "1.0.1055",
68
- "@teambit/merging": "1.0.1058",
69
- "@teambit/objects": "0.0.562",
70
- "@teambit/remove": "1.0.1055",
71
- "@teambit/command-bar": "1.0.1055",
72
- "@teambit/ui": "1.0.1055"
72
+ "@teambit/scope.network": "0.0.136"
73
73
  },
74
74
  "devDependencies": {
75
75
  "@types/lodash": "4.14.165",
@@ -77,10 +77,10 @@
77
77
  "@types/mocha": "9.1.0",
78
78
  "@teambit/component.testing.mock-components": "0.0.407",
79
79
  "@teambit/harmony.testing.load-aspect": "0.0.402",
80
+ "@teambit/snapping": "1.0.1056",
80
81
  "@teambit/workspace.testing.mock-workspace": "0.0.210",
81
82
  "@teambit/harmony.envs.core-aspect-env": "1.0.0",
82
- "@teambit/merge-lanes": "1.0.1074",
83
- "@teambit/snapping": "1.0.1055"
83
+ "@teambit/merge-lanes": "1.0.1076"
84
84
  },
85
85
  "peerDependencies": {
86
86
  "react": "^17.0.0 || ^18.0.0 || ^19.0.0",