@teambit/lanes 1.0.310 → 1.0.311

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 +1 @@
1
- {"version":3,"names":["_laneId","data","require","_componentId","_bitError","_createLane","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","localLane","loadLane","getMainIds","mainIds","getIdsOfDefaultLane","head","legacyScope","scopeImporter","importWithoutDeps","cache","isDefault","populatePropsAccordingToDefaultLane","laneIds","populatePropsAccordingToLocalLane","populatePropsAccordingToRemoteLane","idsOnLaneOnly","find","isEqualWithoutVersion","idsOnMainOnly","laneBitIds","populateIdsAccordingToPattern","pattern","bitMap","getAllBitIdsFromAllLanes","BitError","allIds","patternIds","filterIdsFromPoolIdsByPattern","remoteLaneId","laneIdToSwitchTo","debug","toString","throwForSwitchingToCurrentLane","remoteLane","fetchLaneWithItsComponents","name","localTrackedLane","getAliasByLaneId","undefined","components","l","changeVersion","LaneId","from","DEFAULT_LANE","toLaneId","c","getCurrentLaneId","isEqual","laneIdStr","localLaneName","alias","trackLane","remoteScope","setCurrentLane","isNew","syncWithIds","ComponentIdList","fromArray","exports"],"sources":["switch-lanes.ts"],"sourcesContent":["import { Consumer } from '@teambit/legacy/dist/consumer';\nimport { LaneId, DEFAULT_LANE } from '@teambit/lane-id';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { ApplyVersionResults } from '@teambit/merging';\nimport { Lane } from '@teambit/legacy/dist/scope/models';\nimport { CheckoutProps } from '@teambit/checkout';\nimport { Workspace } from '@teambit/workspace';\nimport { Logger } from '@teambit/logger';\nimport { BitError } from '@teambit/bit-error';\nimport { LanesMain } from './lanes.main.runtime';\nimport { throwForStagedComponents } from './create-lane';\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 head?: 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.consumer);\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\n const localLane = await this.consumer.scope.loadLane(laneId);\n const getMainIds = async () => {\n const mainIds = await this.consumer.getIdsOfDefaultLane();\n if (this.switchProps.head) {\n await this.workspace.scope.legacyScope.scopeImporter.importWithoutDeps(mainIds, { cache: false });\n return this.consumer.getIdsOfDefaultLane();\n }\n return mainIds;\n };\n const mainIds = await getMainIds();\n if (laneId.isDefault()) {\n await this.populatePropsAccordingToDefaultLane();\n this.switchProps.ids = mainIds;\n } else {\n const laneIds =\n localLane && !this.switchProps.head\n ? this.populatePropsAccordingToLocalLane(localLane)\n : await this.populatePropsAccordingToRemoteLane(laneId);\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 const patternIds = await this.workspace.filterIdsFromPoolIdsByPattern(this.switchProps.pattern, allIds);\n this.switchProps.ids = patternIds.map((id) => id);\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.components.map((l) => l.id.changeVersion(l.head.toString()));\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.components.map((c) => c.id.changeVersion(c.head.toString()));\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}\n"],"mappings":";;;;;;AACA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,aAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,YAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAMA,SAAAG,UAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,SAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,YAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,WAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAyD,SAAAK,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAgB,gBAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAmB,cAAA,CAAAnB,CAAA,MAAAD,CAAA,GAAAG,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,IAAAoB,KAAA,EAAAnB,CAAA,EAAAO,UAAA,MAAAa,YAAA,MAAAC,QAAA,UAAAvB,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAoB,eAAAlB,CAAA,QAAAsB,CAAA,GAAAC,YAAA,CAAAvB,CAAA,uCAAAsB,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAvB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAwB,MAAA,CAAAC,WAAA,kBAAA3B,CAAA,QAAAwB,CAAA,GAAAxB,CAAA,CAAA4B,IAAA,CAAA1B,CAAA,EAAAD,CAAA,uCAAAuB,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAA5B,CAAA,GAAA6B,MAAA,GAAAC,MAAA,EAAA7B,CAAA;AAclD,MAAM8B,YAAY,CAAC;EAGkB;EAC1CC,WAAWA,CACDC,SAAoB,EACpBC,MAAc,EACdC,WAAwB,EACxBC,aAA4B,EAC5BC,KAAgB,EACxB;IAAA,KALQJ,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,MAAc,GAAdA,MAAc;IAAA,KACdC,WAAwB,GAAxBA,WAAwB;IAAA,KACxBC,aAA4B,GAA5BA,aAA4B;IAAA,KAC5BC,KAAgB,GAAhBA,KAAgB;IAAAtB,eAAA;IAAAA,eAAA;IAPQ;IAAAA,eAAA;IAShC,IAAI,CAACuB,QAAQ,GAAG,IAAI,CAACL,SAAS,CAACK,QAAQ;EACzC;EAEA,MAAMC,MAAMA,CAAA,EAAiC;IAC3C,IAAI,CAACL,MAAM,CAACM,aAAa,CAAC,iBAAiB,CAAC;IAC5C,IAAI,IAAI,CAACP,SAAS,CAACQ,QAAQ,CAAC,CAAC,EAAE;MAC7B,MAAM,IAAAC,sCAAwB,EAAC,IAAI,CAACJ,QAAQ,CAAC;IAC/C;IACA,MAAM,IAAI,CAACK,mBAAmB,CAAC,CAAC;IAChC,MAAMC,SAAS,GAAG,IAAI,CAACX,SAAS,CAACK,QAAQ,CAACO,sCAAsC;IAChF,MAAMC,WAAW,GAAG,IAAI,CAACX,WAAW,CAACY,GAAG,IAAI,EAAE;IAC9C,MAAMA,GAAG,GAAGD,WAAW,CAACE,GAAG,CAAEC,EAAE,IAAK;MAClC,MAAMC,QAAQ,GAAGN,SAAS,CAACO,oBAAoB,CAACF,EAAE,CAAC;MACnD,OAAOC,QAAQ,IAAID,EAAE;IACvB,CAAC,CAAC;IAEF,MAAMb,aAA4B,GAAAzB,aAAA,CAAAA,aAAA,KAC7B,IAAI,CAACyB,aAAa;MACrBW,GAAG;MACHK,8BAA8B,EAAE,IAAI;MACpCC,YAAY,EAAE,MAAM,IAAI,CAACpB,SAAS,CAACqB,2BAA2B,CAACR,WAAW,CAAC;MAC3ES,IAAI,EAAE,IAAI,CAACC;IAAc,EAC1B;IAED,MAAMC,OAAO,GAAG,MAAM,IAAI,CAACpB,KAAK,CAACqB,QAAQ,CAACA,QAAQ,CAACtB,aAAa,CAAC;IAEjE,MAAM,IAAI,CAACuB,aAAa,CAAC,CAAC;IAC1B,MAAM,IAAI,CAACrB,QAAQ,CAACsB,SAAS,CAAC,aAAa,CAAC;IAE5C,OAAOH,OAAO;EAChB;EAEA,MAAcd,mBAAmBA,CAAA,EAAG;IAClC,MAAMkB,MAAM,GAAG,MAAM,IAAI,CAACvB,QAAQ,CAACwB,KAAK,CAACzB,KAAK,CAAC0B,qBAAqB,CAAC,IAAI,CAAC5B,WAAW,CAAC6B,QAAQ,CAAC;IAE/F,MAAMC,SAAS,GAAG,MAAM,IAAI,CAAC3B,QAAQ,CAACwB,KAAK,CAACI,QAAQ,CAACL,MAAM,CAAC;IAC5D,MAAMM,UAAU,GAAG,MAAAA,CAAA,KAAY;MAC7B,MAAMC,OAAO,GAAG,MAAM,IAAI,CAAC9B,QAAQ,CAAC+B,mBAAmB,CAAC,CAAC;MACzD,IAAI,IAAI,CAAClC,WAAW,CAACmC,IAAI,EAAE;QACzB,MAAM,IAAI,CAACrC,SAAS,CAAC6B,KAAK,CAACS,WAAW,CAACC,aAAa,CAACC,iBAAiB,CAACL,OAAO,EAAE;UAAEM,KAAK,EAAE;QAAM,CAAC,CAAC;QACjG,OAAO,IAAI,CAACpC,QAAQ,CAAC+B,mBAAmB,CAAC,CAAC;MAC5C;MACA,OAAOD,OAAO;IAChB,CAAC;IACD,MAAMA,OAAO,GAAG,MAAMD,UAAU,CAAC,CAAC;IAClC,IAAIN,MAAM,CAACc,SAAS,CAAC,CAAC,EAAE;MACtB,MAAM,IAAI,CAACC,mCAAmC,CAAC,CAAC;MAChD,IAAI,CAACzC,WAAW,CAACY,GAAG,GAAGqB,OAAO;IAChC,CAAC,MAAM;MACL,MAAMS,OAAO,GACXZ,SAAS,IAAI,CAAC,IAAI,CAAC9B,WAAW,CAACmC,IAAI,GAC/B,IAAI,CAACQ,iCAAiC,CAACb,SAAS,CAAC,GACjD,MAAM,IAAI,CAACc,kCAAkC,CAAClB,MAAM,CAAC;MAC3D,MAAMmB,aAAa,GAAGH,OAAO,CAACvE,MAAM,CAAE2C,EAAE,IAAK,CAACmB,OAAO,CAACa,IAAI,CAAE1D,CAAC,IAAKA,CAAC,CAAC2D,qBAAqB,CAACjC,EAAE,CAAC,CAAC,CAAC;MAC/F,MAAMkC,aAAa,GAAGf,OAAO,CAAC9D,MAAM,CAAE2C,EAAE,IAAK,CAAC4B,OAAO,CAACI,IAAI,CAAE1D,CAAC,IAAKA,CAAC,CAAC2D,qBAAqB,CAACjC,EAAE,CAAC,CAAC,CAAC;MAC/F,IAAI,CAACd,WAAW,CAACY,GAAG,GAAG,CAAC,GAAGoC,aAAa,EAAE,GAAGN,OAAO,CAAC;MACrD,IAAI,CAAC1C,WAAW,CAACiD,UAAU,GAAGJ,aAAa;IAC7C;IACA,MAAM,IAAI,CAACK,6BAA6B,CAAC,CAAC;EAC5C;EAEA,MAAcA,6BAA6BA,CAAA,EAAG;IAC5C,IAAI,CAAC,IAAI,CAAClD,WAAW,CAACmD,OAAO,EAAE;MAC7B;IACF;IACA,IAAI,IAAI,CAAChD,QAAQ,CAACiD,MAAM,CAACC,wBAAwB,CAAC,CAAC,CAAC3E,MAAM,EAAE;MAC1D;MACA;MACA;MACA,MAAM,KAAI4E,oBAAQ,EAAC,uDAAuD,CAAC;IAC7E;IACA,MAAMC,MAAM,GAAG,IAAI,CAACvD,WAAW,CAACY,GAAG,IAAI,EAAE;IACzC,MAAM4C,UAAU,GAAG,MAAM,IAAI,CAAC1D,SAAS,CAAC2D,6BAA6B,CAAC,IAAI,CAACzD,WAAW,CAACmD,OAAO,EAAEI,MAAM,CAAC;IACvG,IAAI,CAACvD,WAAW,CAACY,GAAG,GAAG4C,UAAU,CAAC3C,GAAG,CAAEC,EAAE,IAAKA,EAAE,CAAC;EACnD;EAEA,MAAc8B,kCAAkCA,CAACc,YAAoB,EAA0B;IAC7F,IAAI,CAACC,gBAAgB,GAAGD,YAAY;IACpC,IAAI,CAAC3D,MAAM,CAAC6D,KAAK,CAAC,qDAAqDF,YAAY,CAACG,QAAQ,CAAC,CAAC,EAAE,CAAC;IACjG,IAAI,CAACC,8BAA8B,CAAC,CAAC;IACrC,MAAMC,UAAU,GAAG,MAAM,IAAI,CAAC7D,KAAK,CAAC8D,0BAA0B,CAACN,YAAY,CAAC;IAC5E,IAAI,CAAC1D,WAAW,CAAC6B,QAAQ,GAAG6B,YAAY,CAACO,IAAI;IAC7C,IAAI,CAACjE,WAAW,CAACkE,gBAAgB,GAAG,IAAI,CAAC/D,QAAQ,CAACwB,KAAK,CAACzB,KAAK,CAACiE,gBAAgB,CAACT,YAAY,CAAC,IAAIU,SAAS;IACzG,IAAI,CAACpE,WAAW,CAAC+D,UAAU,GAAGA,UAAU;IACxC,IAAI,CAAC1C,cAAc,GAAG0C,UAAU;IAChC,IAAI,CAAChE,MAAM,CAAC6D,KAAK,CAAC,+CAA+C,CAAC;IAClE,OAAOG,UAAU,CAACM,UAAU,CAACxD,GAAG,CAAEyD,CAAC,IAAKA,CAAC,CAACxD,EAAE,CAACyD,aAAa,CAACD,CAAC,CAACnC,IAAI,CAAC0B,QAAQ,CAAC,CAAC,CAAC,CAAC;EAChF;EAEA,MAAcpB,mCAAmCA,CAAA,EAAG;IAClD,IAAI,CAACkB,gBAAgB,GAAGa,gBAAM,CAACC,IAAI,CAACC,sBAAY,EAAE,IAAI,CAACvE,QAAQ,CAACwB,KAAK,CAACsC,IAAI,CAAC;IAC3E,IAAI,CAACH,8BAA8B,CAAC,CAAC;EACvC;EAEQnB,iCAAiCA,CAACb,SAAe,EAAiB;IACxE,IAAI,CAAC6B,gBAAgB,GAAG7B,SAAS,CAAC6C,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAACtD,cAAc,GAAGS,SAAS;IAC/B,IAAI,CAACgC,8BAA8B,CAAC,CAAC;IACrC,OAAOhC,SAAS,CAACuC,UAAU,CAACxD,GAAG,CAAE+D,CAAC,IAAKA,CAAC,CAAC9D,EAAE,CAACyD,aAAa,CAACK,CAAC,CAACzC,IAAI,CAAC0B,QAAQ,CAAC,CAAC,CAAC,CAAC;EAC/E;EAEQC,8BAA8BA,CAAA,EAAG;IACvC,IAAI,IAAI,CAAC3D,QAAQ,CAAC0E,gBAAgB,CAAC,CAAC,CAACC,OAAO,CAAC,IAAI,CAACnB,gBAAgB,CAAC,EAAE;MACnE,MAAMoB,SAAS,GAAG,IAAI,CAACpB,gBAAgB,CAACnB,SAAS,CAAC,CAAC,GAC/C,IAAI,CAACmB,gBAAgB,CAACM,IAAI,GAC1B,IAAI,CAACN,gBAAgB,CAACE,QAAQ,CAAC,CAAC;MACpC,MAAM,KAAIP,oBAAQ,EAAC,2BAA2ByB,SAAS;AAC7D,sEAAsE,CAAC;IACnE;EACF;EAEA,MAAcvD,aAAaA,CAAA,EAAG;IAC5B,MAAMwD,aAAa,GAAG,IAAI,CAAChF,WAAW,CAACiF,KAAK,IAAI,IAAI,CAACtB,gBAAgB,CAACM,IAAI;IAC1E,IAAI,IAAI,CAACjE,WAAW,CAAC+D,UAAU,EAAE;MAC/B,IAAI,CAAC,IAAI,CAAC/D,WAAW,CAACkE,gBAAgB,EAAE;QACtC,IAAI,CAAC/D,QAAQ,CAACwB,KAAK,CAACzB,KAAK,CAACgF,SAAS,CAAC;UAClCpD,SAAS,EAAEkD,aAAa;UACxBjB,UAAU,EAAE,IAAI,CAACJ,gBAAgB,CAACM,IAAI;UACtCkB,WAAW,EAAE,IAAI,CAACxB,gBAAgB,CAAChC;QACrC,CAAC,CAAC;MACJ;IACF;IAEA,IAAI,CAACxB,QAAQ,CAACiF,cAAc,CAAC,IAAI,CAACzB,gBAAgB,EAAE,CAAC,IAAI,CAACtC,cAAc,EAAEgE,KAAK,CAAC;IAChF,IAAI,CAAClF,QAAQ,CAACiD,MAAM,CAACkC,WAAW,CAC9BC,8BAAe,CAACC,SAAS,CAAC,IAAI,CAACxF,WAAW,CAACY,GAAG,IAAI,EAAE,CAAC,EACrD2E,8BAAe,CAACC,SAAS,CAAC,IAAI,CAACxF,WAAW,CAACiD,UAAU,IAAI,EAAE,CAC7D,CAAC;EACH;AACF;AAACwC,OAAA,CAAA7F,YAAA,GAAAA,YAAA","ignoreList":[]}
1
+ {"version":3,"names":["_laneId","data","require","_componentId","_bitError","_createLane","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","localLane","loadLane","getMainIds","head","allIds","listIds","legacyScope","scopeImporter","importWithoutDeps","cache","ignoreMissingHead","getIdsOfDefaultLane","mainIds","isDefault","populatePropsAccordingToDefaultLane","laneIds","populatePropsAccordingToLocalLane","populatePropsAccordingToRemoteLane","idsOnLaneOnly","find","isEqualWithoutVersion","idsOnMainOnly","laneBitIds","populateIdsAccordingToPattern","pattern","bitMap","getAllBitIdsFromAllLanes","BitError","filterIdsFromPoolIdsByPattern","remoteLaneId","laneIdToSwitchTo","debug","toString","throwForSwitchingToCurrentLane","remoteLane","fetchLaneWithItsComponents","name","localTrackedLane","getAliasByLaneId","undefined","components","l","changeVersion","LaneId","from","DEFAULT_LANE","toLaneId","c","getCurrentLaneId","isEqual","laneIdStr","localLaneName","alias","trackLane","remoteScope","setCurrentLane","isNew","syncWithIds","ComponentIdList","fromArray","exports"],"sources":["switch-lanes.ts"],"sourcesContent":["import { Consumer } from '@teambit/legacy/dist/consumer';\nimport { LaneId, DEFAULT_LANE } from '@teambit/lane-id';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { ApplyVersionResults } from '@teambit/merging';\nimport { Lane } from '@teambit/legacy/dist/scope/models';\nimport { CheckoutProps } from '@teambit/checkout';\nimport { Workspace } from '@teambit/workspace';\nimport { Logger } from '@teambit/logger';\nimport { BitError } from '@teambit/bit-error';\nimport { LanesMain } from './lanes.main.runtime';\nimport { throwForStagedComponents } from './create-lane';\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 head?: 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.consumer);\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\n const localLane = await this.consumer.scope.loadLane(laneId);\n const getMainIds = async () => {\n if (this.switchProps.head) {\n const allIds = this.workspace.listIds();\n await this.workspace.scope.legacyScope.scopeImporter.importWithoutDeps(allIds, {\n cache: false,\n ignoreMissingHead: true,\n });\n return this.consumer.getIdsOfDefaultLane();\n }\n const mainIds = await this.consumer.getIdsOfDefaultLane();\n return mainIds;\n };\n const mainIds = await getMainIds();\n if (laneId.isDefault()) {\n await this.populatePropsAccordingToDefaultLane();\n this.switchProps.ids = mainIds;\n } else {\n const laneIds =\n localLane && !this.switchProps.head\n ? this.populatePropsAccordingToLocalLane(localLane)\n : await this.populatePropsAccordingToRemoteLane(laneId);\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.components.map((l) => l.id.changeVersion(l.head.toString()));\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.components.map((c) => c.id.changeVersion(c.head.toString()));\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}\n"],"mappings":"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","ignoreList":[]}
@@ -25,6 +25,7 @@ import { useViewedLaneFromUrl } from '@teambit/lanes.hooks.use-viewed-lane-from-
25
25
  import { ComponentCompareAspect, ComponentCompareUI } from '@teambit/component-compare';
26
26
  import { LaneComparePage } from '@teambit/lanes.ui.compare.lane-compare-page';
27
27
  import { ScopeIcon } from '@teambit/scope.ui.scope-icon';
28
+ import { CommandBarUI, CommandBarAspect } from '@teambit/command-bar';
28
29
 
29
30
  import { LanesAspect } from './lanes.aspect';
30
31
  import styles from './lanes.ui.module.scss';
@@ -84,7 +85,14 @@ export function useComponentId() {
84
85
  }
85
86
 
86
87
  export class LanesUI {
87
- static dependencies = [UIAspect, ComponentAspect, WorkspaceAspect, ScopeAspect, ComponentCompareAspect];
88
+ static dependencies = [
89
+ UIAspect,
90
+ ComponentAspect,
91
+ WorkspaceAspect,
92
+ ScopeAspect,
93
+ ComponentCompareAspect,
94
+ CommandBarAspect,
95
+ ];
88
96
 
89
97
  static runtime = UIRuntime;
90
98
  static slots = [
@@ -346,12 +354,13 @@ export class LanesUI {
346
354
  };
347
355
 
348
356
  static async provider(
349
- [uiUi, componentUI, workspaceUi, scopeUi, componentCompareUI]: [
357
+ [uiUi, componentUI, workspaceUi, scopeUi, componentCompareUI, commandBarUI]: [
350
358
  UiUI,
351
359
  ComponentUI,
352
360
  WorkspaceUI,
353
361
  ScopeUI,
354
- ComponentCompareUI
362
+ ComponentCompareUI,
363
+ CommandBarUI
355
364
  ],
356
365
  _,
357
366
  [routeSlot, overviewSlot, navSlot, menuWidgetSlot, laneProviderIgnoreSlot]: [
@@ -401,6 +410,9 @@ export class LanesUI {
401
410
  );
402
411
  });
403
412
  lanesUi.registerLanesDropdown();
413
+ if (workspace) {
414
+ lanesUi.registerMenuWidget(commandBarUI.CommandBarButton);
415
+ }
404
416
  return lanesUi;
405
417
  }
406
418
  }
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/lanes",
3
- "version": "1.0.310",
3
+ "version": "1.0.311",
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.310"
9
+ "version": "1.0.311"
10
10
  },
11
11
  "dependencies": {
12
12
  "lodash": "4.17.21",
@@ -30,30 +30,31 @@
30
30
  "@teambit/lanes.ui.compare.lane-compare-page": "0.0.162",
31
31
  "@teambit/lanes.ui.compare.lane-compare": "0.0.193",
32
32
  "@teambit/lanes.ui.navigation.lane-switcher": "0.0.225",
33
- "@teambit/scope": "1.0.310",
34
- "@teambit/workspace": "1.0.310",
33
+ "@teambit/scope": "1.0.311",
34
+ "@teambit/workspace": "1.0.311",
35
35
  "@teambit/lanes.ui.models.lanes-model": "0.0.216",
36
- "@teambit/checkout": "1.0.310",
37
- "@teambit/cli": "0.0.887",
38
- "@teambit/importer": "1.0.310",
39
- "@teambit/express": "0.0.986",
40
- "@teambit/logger": "0.0.980",
41
- "@teambit/graphql": "1.0.310",
42
- "@teambit/component-compare": "1.0.310",
43
- "@teambit/component-writer": "1.0.310",
44
- "@teambit/component": "1.0.310",
45
- "@teambit/export": "1.0.310",
46
- "@teambit/install": "1.0.310",
36
+ "@teambit/checkout": "1.0.311",
37
+ "@teambit/cli": "0.0.888",
38
+ "@teambit/importer": "1.0.311",
39
+ "@teambit/express": "0.0.987",
40
+ "@teambit/logger": "0.0.981",
41
+ "@teambit/graphql": "1.0.311",
42
+ "@teambit/component-compare": "1.0.311",
43
+ "@teambit/component-writer": "1.0.311",
44
+ "@teambit/component": "1.0.311",
45
+ "@teambit/export": "1.0.311",
46
+ "@teambit/install": "1.0.311",
47
47
  "@teambit/lanes.entities.lane-diff": "0.0.166",
48
48
  "@teambit/lanes.modules.diff": "0.0.443",
49
- "@teambit/merging": "1.0.310",
50
- "@teambit/remove": "1.0.310",
49
+ "@teambit/merging": "1.0.311",
50
+ "@teambit/remove": "1.0.311",
51
+ "@teambit/command-bar": "1.0.311",
51
52
  "@teambit/lanes.hooks.use-lanes": "0.0.264",
52
53
  "@teambit/lanes.hooks.use-viewed-lane-from-url": "0.0.223",
53
54
  "@teambit/lanes.ui.lane-overview": "0.0.232",
54
55
  "@teambit/lanes.ui.menus.use-lanes-menu": "0.0.216",
55
56
  "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.509",
56
- "@teambit/ui": "1.0.310"
57
+ "@teambit/ui": "1.0.311"
57
58
  },
58
59
  "devDependencies": {
59
60
  "@types/lodash": "4.14.165",
@@ -65,7 +66,8 @@
65
66
  "@teambit/harmony.envs.core-aspect-env": "0.0.39",
66
67
  "@teambit/component.testing.mock-components": "0.0.205",
67
68
  "@teambit/harmony.testing.load-aspect": "0.0.200",
68
- "@teambit/snapping": "1.0.310",
69
+ "@teambit/merge-lanes": "1.0.311",
70
+ "@teambit/snapping": "1.0.311",
69
71
  "@teambit/workspace.testing.mock-workspace": "0.0.27"
70
72
  },
71
73
  "peerDependencies": {