@teambit/lanes 0.0.306 → 0.0.309

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.
@@ -147,11 +147,11 @@ function lanesSchema(lanesMainRuntime) {
147
147
  isMerged: lane => lane.isMerged,
148
148
  remote: lane => lane.remote,
149
149
  components: async lane => {
150
- const laneComponents = await lanesMainRuntime.getLaneComponentModels(lane.name);
150
+ const laneComponents = await lanesMainRuntime.getLaneComponentModels(lane);
151
151
  return laneComponents;
152
152
  },
153
153
  readmeComponent: async lane => {
154
- const laneReadmeComponent = await lanesMainRuntime.getLaneReadmeComponent(lane.name);
154
+ const laneReadmeComponent = await lanesMainRuntime.getLaneReadmeComponent(lane);
155
155
  return laneReadmeComponent;
156
156
  }
157
157
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["lanes.graphql.ts"],"names":["lanesSchema","lanesMainRuntime","typeDefs","resolvers","Lanes","id","list","lanesMain","ids","limit","offset","lanes","length","getLanes","Promise","all","map","name","current","currentLaneId","getCurrentLane","undefined","currentLane","diff","from","to","options","getDiffResults","getDiff","compsWithDiff","item","toString","Lane","lane","isMerged","remote","components","laneComponents","getLaneComponentModels","readmeComponent","laneReadmeComponent","getLaneReadmeComponent","Query"],"mappings":"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","sourcesContent":["import { Schema } from '@teambit/graphql';\nimport { LaneData } from '@teambit/legacy/dist/scope/lanes/lanes';\nimport gql from 'graphql-tag';\nimport { flatten, slice } from 'lodash';\n\nimport { LanesMain } from './lanes.main.runtime';\n\nexport function lanesSchema(lanesMainRuntime: LanesMain): Schema {\n return {\n typeDefs: gql`\n type FileDiff {\n filePath: String!\n diffOutput: String\n }\n\n type FieldsDiff {\n fieldName: String!\n diffOutput: String\n }\n\n type DiffResults {\n id: String\n hasDiff: Boolean\n filesDiff: [FileDiff]\n fieldsDiff: [FieldsDiff]\n }\n\n type GetDiffResult {\n newComps: [String]\n compsWithNoChanges: [String]\n toLaneName: String\n compsWithDiff: [DiffResults]\n }\n\n input DiffOptions {\n color: Boolean\n }\n\n type Lane {\n id: String!\n isMerged: Boolean\n remote: String\n components(offset: Int, limit: Int): [Component!]!\n readmeComponent: Component\n }\n\n # Lane API\n type Lanes {\n id: String!\n list(ids: [String!], offset: Int, limit: Int): [Lane!]!\n diff(from: String!, to: String!, options: DiffOptions): GetDiffResult\n current: Lane\n }\n\n type Query {\n lanes: Lanes\n }\n `,\n resolvers: {\n Lanes: {\n // need this for Apollo InMemory Caching\n id: () => 'lanes',\n list: async (\n lanesMain: LanesMain,\n { ids, limit, offset }: { ids?: string[]; offset?: number; limit?: number }\n ) => {\n let lanes: LaneData[] = [];\n\n if (!ids || ids.length === 0) {\n lanes = await lanesMain.getLanes({});\n } else {\n lanes = flatten(await Promise.all(ids.map((id) => lanesMain.getLanes({ name: id }))));\n }\n\n if (limit || offset) {\n lanes = slice(lanes, offset, limit && limit + (offset || 0));\n }\n\n return lanes;\n },\n current: async (lanesMain: LanesMain) => {\n const currentLaneId = lanesMain.getCurrentLane();\n if (!currentLaneId) return undefined;\n const [currentLane] = await lanesMain.getLanes({ name: currentLaneId });\n return currentLane;\n },\n diff: async (\n lanesMain: LanesMain,\n { from, to, options }: { to: string; from: string; options: { color?: boolean } }\n ) => {\n const getDiffResults = await lanesMain.getDiff([from, to], options);\n return {\n ...getDiffResults,\n compsWithDiff: getDiffResults.compsWithDiff.map((item) => ({ ...item, id: item.id.toString() })),\n };\n },\n },\n Lane: {\n id: (lane: LaneData) => lane.name,\n isMerged: (lane: LaneData) => lane.isMerged,\n remote: (lane: LaneData) => lane.remote,\n components: async (lane: LaneData) => {\n const laneComponents = await lanesMainRuntime.getLaneComponentModels(lane.name);\n return laneComponents;\n },\n readmeComponent: async (lane: LaneData) => {\n const laneReadmeComponent = await lanesMainRuntime.getLaneReadmeComponent(lane.name);\n return laneReadmeComponent;\n },\n },\n Query: {\n lanes: () => lanesMainRuntime,\n },\n },\n };\n}\n"]}
1
+ {"version":3,"sources":["lanes.graphql.ts"],"names":["lanesSchema","lanesMainRuntime","typeDefs","resolvers","Lanes","id","list","lanesMain","ids","limit","offset","lanes","length","getLanes","Promise","all","map","name","current","currentLaneId","getCurrentLane","undefined","currentLane","diff","from","to","options","getDiffResults","getDiff","compsWithDiff","item","toString","Lane","lane","isMerged","remote","components","laneComponents","getLaneComponentModels","readmeComponent","laneReadmeComponent","getLaneReadmeComponent","Query"],"mappings":"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","sourcesContent":["import { Schema } from '@teambit/graphql';\nimport { LaneData } from '@teambit/legacy/dist/scope/lanes/lanes';\nimport gql from 'graphql-tag';\nimport { flatten, slice } from 'lodash';\n\nimport { LanesMain } from './lanes.main.runtime';\n\nexport function lanesSchema(lanesMainRuntime: LanesMain): Schema {\n return {\n typeDefs: gql`\n type FileDiff {\n filePath: String!\n diffOutput: String\n }\n\n type FieldsDiff {\n fieldName: String!\n diffOutput: String\n }\n\n type DiffResults {\n id: String\n hasDiff: Boolean\n filesDiff: [FileDiff]\n fieldsDiff: [FieldsDiff]\n }\n\n type GetDiffResult {\n newComps: [String]\n compsWithNoChanges: [String]\n toLaneName: String\n compsWithDiff: [DiffResults]\n }\n\n input DiffOptions {\n color: Boolean\n }\n\n type Lane {\n id: String!\n isMerged: Boolean\n remote: String\n components(offset: Int, limit: Int): [Component!]!\n readmeComponent: Component\n }\n\n # Lane API\n type Lanes {\n id: String!\n list(ids: [String!], offset: Int, limit: Int): [Lane!]!\n diff(from: String!, to: String!, options: DiffOptions): GetDiffResult\n current: Lane\n }\n\n type Query {\n lanes: Lanes\n }\n `,\n resolvers: {\n Lanes: {\n // need this for Apollo InMemory Caching\n id: () => 'lanes',\n list: async (\n lanesMain: LanesMain,\n { ids, limit, offset }: { ids?: string[]; offset?: number; limit?: number }\n ) => {\n let lanes: LaneData[] = [];\n\n if (!ids || ids.length === 0) {\n lanes = await lanesMain.getLanes({});\n } else {\n lanes = flatten(await Promise.all(ids.map((id) => lanesMain.getLanes({ name: id }))));\n }\n\n if (limit || offset) {\n lanes = slice(lanes, offset, limit && limit + (offset || 0));\n }\n\n return lanes;\n },\n current: async (lanesMain: LanesMain) => {\n const currentLaneId = lanesMain.getCurrentLane();\n if (!currentLaneId) return undefined;\n const [currentLane] = await lanesMain.getLanes({ name: currentLaneId });\n return currentLane;\n },\n diff: async (\n lanesMain: LanesMain,\n { from, to, options }: { to: string; from: string; options: { color?: boolean } }\n ) => {\n const getDiffResults = await lanesMain.getDiff([from, to], options);\n return {\n ...getDiffResults,\n compsWithDiff: getDiffResults.compsWithDiff.map((item) => ({ ...item, id: item.id.toString() })),\n };\n },\n },\n Lane: {\n id: (lane: LaneData) => lane.name,\n isMerged: (lane: LaneData) => lane.isMerged,\n remote: (lane: LaneData) => lane.remote,\n components: async (lane: LaneData) => {\n const laneComponents = await lanesMainRuntime.getLaneComponentModels(lane);\n return laneComponents;\n },\n readmeComponent: async (lane: LaneData) => {\n const laneReadmeComponent = await lanesMainRuntime.getLaneReadmeComponent(lane);\n return laneReadmeComponent;\n },\n },\n Query: {\n lanes: () => lanesMainRuntime,\n },\n },\n };\n}\n"]}
@@ -100,8 +100,8 @@ export declare class LanesMain {
100
100
  compsWithNoChanges: string[];
101
101
  toLaneName: string;
102
102
  }>;
103
- getLaneComponentModels(name: string): Promise<Component[]>;
104
- getLaneReadmeComponent(name: string): Promise<Component | undefined>;
103
+ getLaneComponentModels(lane: LaneData): Promise<Component[]>;
104
+ getLaneReadmeComponent(lane: LaneData): Promise<Component | undefined>;
105
105
  removeLaneReadme(laneName?: string): Promise<{
106
106
  result: boolean;
107
107
  message?: string;
@@ -630,11 +630,8 @@ class LanesMain {
630
630
  return laneDiffGenerator.generate(values, diffOptions);
631
631
  }
632
632
 
633
- async getLaneComponentModels(name) {
634
- if (!name) return [];
635
- const [lane] = await this.getLanes({
636
- name
637
- });
633
+ async getLaneComponentModels(lane) {
634
+ if (!lane) return [];
638
635
  const laneComponents = lane.components;
639
636
  const host = this.componentAspect.getHost();
640
637
  const laneComponentIds = await Promise.all(laneComponents.map(laneComponent => {
@@ -645,11 +642,8 @@ class LanesMain {
645
642
  return components;
646
643
  }
647
644
 
648
- async getLaneReadmeComponent(name) {
649
- if (!name) return undefined;
650
- const [lane] = await this.getLanes({
651
- name
652
- });
645
+ async getLaneReadmeComponent(lane) {
646
+ if (!lane) return undefined;
653
647
  const laneReadmeComponent = lane.readmeComponent;
654
648
  if (!laneReadmeComponent) return undefined;
655
649
  const host = this.componentAspect.getHost();
@@ -1 +1 @@
1
- {"version":3,"sources":["lanes.main.runtime.ts"],"names":["LanesMain","constructor","workspace","scope","merging","componentAspect","logger","getLanes","name","remote","merged","showDefaultLane","notMerged","showMergeData","Boolean","consumer","remoteObj","lanes","listLanes","DEFAULT_LANE","defaultLane","getLaneDataOfDefaultLane","legacyScope","getLanesData","push","getCurrentLane","getCurrentLaneName","getCurrentLaneId","createLane","remoteScope","alias","BitError","defaultScope","setCurrentLane","trackLaneData","localLane","remoteLane","trackLane","onDestroy","localName","remoteName","laneId","parseLaneIdFromString","lane","loadLane","beforeTrackData","getRemoteTrackedDataByLocalLane","beforeTrackDataCloned","undefined","afterTrackData","aliasLane","laneName","includes","LANE_REMOTE_DELIMITER","trackData","laneNameWithoutScope","split","removeTrackLane","changeScope","remoteScopeBefore","saveLane","rename","currentName","newName","existingAliasWithNewName","remoteIdStr","previousAlias","getAliasByLaneId","WorkspaceLane","getPath","objects","remoteLanes","renameRefByNewLaneName","currentLaneName","clonedLaneToExport","clone","components","exported","exportErr","exportLane","err","error","id","toString","message","isLegacy","laneObject","ids","BitIds","codemod","changeLocallyAlthoughRemoteIsDifferent","includeDependencies","idsWithFutureScope","allVersions","removeLanes","laneNames","force","results","laneResults","mergeLane","options","bitMap","syncWithLanes","workspaceLane","switchLanes","merge","getAll","skipDependencyInstallation","mergeStrategy","mergeOptions","Object","keys","MergeOptions","join","switchProps","existingOnWorkspaceOnly","checkoutProps","skipNpmInstall","verbose","ignorePackageJson","ignoreDist","isLane","promptMergeOptions","writeConfig","reset","all","LaneSwitcher","switch","getDiff","values","diffOptions","laneDiffGenerator","LaneDiffGenerator","generate","getLaneComponentModels","laneComponents","host","getHost","laneComponentIds","Promise","map","laneComponent","legacyIdWithVersion","changeVersion","head","resolveComponentId","getMany","getLaneReadmeComponent","laneReadmeComponent","readmeComponent","laneReadmeComponentId","get","removeLaneReadme","result","readmeComponentId","existingLaneConfig","getSpecificComponentConfig","LanesAspect","remoteLaneIdStr","toLaneId","readme","removeSpecificComponentConfig","addSpecificComponentConfig","setReadmeComponent","write","addLaneReadme","readmeComponentIdStr","readmeComponentBitId","_legacy","bitIds","scopeComponents","list","filter","component","getAuthoredAndImportedBitIdsOfDefaultLane","bitId","version","isMerged","provider","cli","graphql","community","loggerMain","createLogger","lanesMain","switchCmd","SwitchCmd","laneCmd","LaneCmd","getDocsDomain","commands","LaneListCmd","LaneShowCmd","LaneCreateCmd","LaneMergeCmd","LaneRemoveCmd","LaneChangeScopeCmd","LaneAliasCmd","LaneRenameCmd","LaneDiffCmd","LaneAddReadmeCmd","LaneRemoveReadmeCmd","LaneImportCmd","register","CLIAspect","ScopeAspect","WorkspaceAspect","GraphqlAspect","CommunityAspect","MergingAspect","ComponentAspect","LoggerAspect","MainRuntime","addRuntime"],"mappings":"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","sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { ScopeMain, ScopeAspect } from '@teambit/scope';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport getRemoteByName from '@teambit/legacy/dist/remotes/get-remote-by-name';\nimport { LaneDiffCmd, LaneDiffGenerator } from '@teambit/lanes.modules.diff';\nimport { LaneData } from '@teambit/legacy/dist/scope/lanes/lanes';\nimport { LaneId, DEFAULT_LANE, LANE_REMOTE_DELIMITER } from '@teambit/lane-id';\nimport { BitError } from '@teambit/bit-error';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { DiffOptions } from '@teambit/legacy/dist/consumer/component-ops/components-diff';\nimport { exportMany } from '@teambit/legacy/dist/scope/component-ops/export-scope-components';\nimport {\n MergeStrategy,\n ApplyVersionResults,\n MergeOptions,\n} from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport { TrackLane } from '@teambit/legacy/dist/scope/scope-json';\nimport { CommunityAspect } from '@teambit/community';\nimport type { CommunityMain } from '@teambit/community';\nimport ComponentAspect, { Component, ComponentMain } from '@teambit/component';\nimport removeLanes from '@teambit/legacy/dist/consumer/lanes/remove-lanes';\nimport WorkspaceLane from '@teambit/legacy/dist/consumer/bit-map/workspace-lane';\nimport { Lane } from '@teambit/legacy/dist/scope/models';\nimport { Scope as LegacyScope } from '@teambit/legacy/dist/scope';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport { BitIds } from '@teambit/legacy/dist/bit-id';\nimport { MergingMain, MergingAspect } from '@teambit/merging';\nimport { LanesAspect } from './lanes.aspect';\nimport {\n LaneCmd,\n LaneCreateCmd,\n LaneImportCmd,\n LaneListCmd,\n LaneMergeCmd,\n LaneRemoveCmd,\n LaneShowCmd,\n LaneChangeScopeCmd,\n LaneAliasCmd,\n LaneRenameCmd,\n LaneAddReadmeCmd,\n LaneRemoveReadmeCmd,\n} from './lane.cmd';\nimport { lanesSchema } from './lanes.graphql';\nimport { SwitchCmd } from './switch.cmd';\nimport { mergeLanes } from './merge-lanes';\nimport { LaneSwitcher } from './switch-lanes';\nimport { createLane, throwForInvalidLaneName } from './create-lane';\n\nexport { Lane };\n\nexport type LaneResults = {\n lanes: LaneData[];\n currentLane?: string | null;\n};\n\nexport type MergeLaneOptions = {\n remoteName: string | null;\n mergeStrategy: MergeStrategy;\n noSnap: boolean;\n snapMessage: string;\n existingOnWorkspaceOnly: boolean;\n build: boolean;\n keepReadme: boolean;\n};\n\nexport type CreateLaneOptions = {\n remoteScope?: string; // default to the defaultScope in workspace.jsonc\n alias?: string; // default to the remote name\n};\n\nexport type SwitchLaneOptions = {\n alias?: string;\n merge?: MergeStrategy;\n getAll?: boolean;\n skipDependencyInstallation?: boolean;\n verbose?: boolean;\n override?: boolean;\n};\n\nexport class LanesMain {\n constructor(\n private workspace: Workspace | undefined,\n private scope: ScopeMain,\n private merging: MergingMain,\n private componentAspect: ComponentMain,\n private logger: Logger\n ) {}\n\n async getLanes({\n name,\n remote,\n merged,\n showDefaultLane,\n notMerged,\n }: {\n name?: string;\n remote?: string;\n merged?: boolean;\n showDefaultLane?: boolean;\n notMerged?: boolean;\n }): Promise<LaneData[]> {\n const showMergeData = Boolean(merged || notMerged);\n const consumer = this.workspace?.consumer;\n if (remote) {\n const remoteObj = await getRemoteByName(remote, consumer);\n const lanes = await remoteObj.listLanes(name, showMergeData);\n return lanes;\n }\n\n if (name === DEFAULT_LANE) {\n const defaultLane = await this.getLaneDataOfDefaultLane();\n return defaultLane ? [defaultLane] : [];\n }\n\n const lanes = await this.scope.legacyScope.lanes.getLanesData(this.scope.legacyScope, name, showMergeData);\n\n if (showDefaultLane) {\n const defaultLane = await this.getLaneDataOfDefaultLane();\n if (defaultLane) lanes.push(defaultLane);\n }\n\n return lanes;\n }\n\n getCurrentLane(): string | null {\n if (!this.workspace?.consumer) return null;\n return this.scope.legacyScope.lanes.getCurrentLaneName();\n }\n\n getCurrentLaneId(): LaneId | null {\n if (!this.workspace) return null;\n return this.scope.legacyScope.lanes.getCurrentLaneId();\n }\n\n async createLane(name: string, { remoteScope, alias }: CreateLaneOptions = {}): Promise<TrackLane> {\n if (!this.workspace) {\n throw new BitError(`unable to create a lane outside of Bit workspace`);\n }\n if (alias) {\n throwForInvalidLaneName(alias);\n }\n const scope = remoteScope || this.workspace.defaultScope;\n await createLane(this.workspace.consumer, name, scope);\n this.scope.legacyScope.lanes.setCurrentLane(name);\n const trackLaneData = {\n localLane: alias || name,\n remoteLane: name,\n remoteScope: scope,\n };\n this.scope.legacyScope.lanes.trackLane(trackLaneData);\n await this.workspace.consumer.onDestroy();\n\n return trackLaneData;\n }\n\n async trackLane(\n localName: string,\n remoteScope: string,\n remoteName?: string\n ): Promise<{ beforeTrackData?: TrackLane; afterTrackData: TrackLane }> {\n if (!this.workspace) {\n throw new BitError(`unable to track a lane outside of Bit workspace`);\n }\n const laneId = await this.scope.legacyScope.lanes.parseLaneIdFromString(localName);\n const lane = await this.scope.legacyScope.lanes.loadLane(laneId);\n if (!lane) {\n throw new BitError(`unable to find a local lane \"${localName}\"`);\n }\n const beforeTrackData = this.scope.legacyScope.lanes.getRemoteTrackedDataByLocalLane(localName);\n const beforeTrackDataCloned = beforeTrackData ? { ...beforeTrackData } : undefined;\n const afterTrackData = {\n localLane: localName,\n remoteLane: remoteName || beforeTrackData?.remoteLane || localName,\n remoteScope,\n };\n this.scope.legacyScope.lanes.trackLane(afterTrackData);\n await this.workspace.consumer.onDestroy();\n\n return { beforeTrackData: beforeTrackDataCloned, afterTrackData };\n }\n\n async aliasLane(laneName: string, alias: string): Promise<{ laneId: LaneId }> {\n if (!this.workspace) {\n throw new BitError(`unable to alias a lane outside of Bit workspace`);\n }\n if (alias.includes(LANE_REMOTE_DELIMITER)) {\n throw new BitError(`an alias cannot include a delimiter \"${LANE_REMOTE_DELIMITER}\"`);\n }\n if (alias === laneName) {\n throw new BitError(`an alias cannot be the same as the lane name`);\n }\n const laneId = await this.scope.legacyScope.lanes.parseLaneIdFromString(laneName);\n const lane = await this.scope.legacyScope.lanes.loadLane(laneId);\n if (!lane) {\n throw new BitError(`unable to find a local lane \"${laneName}\"`);\n }\n const trackData = {\n localLane: alias,\n remoteLane: laneId.name,\n remoteScope: laneId.scope,\n };\n const laneNameWithoutScope = laneName.includes(LANE_REMOTE_DELIMITER)\n ? laneName.split(LANE_REMOTE_DELIMITER)[1]\n : laneName;\n this.scope.legacyScope.lanes.removeTrackLane(laneNameWithoutScope);\n this.scope.legacyScope.lanes.trackLane(trackData);\n await this.workspace.consumer.onDestroy();\n\n return { laneId };\n }\n\n async changeScope(laneName: string, remoteScope: string): Promise<{ remoteScopeBefore: string }> {\n if (!this.workspace) {\n throw new BitError(`unable to change-scope of a lane outside of Bit workspace`);\n }\n const laneNameWithoutScope = laneName.includes(LANE_REMOTE_DELIMITER)\n ? laneName.split(LANE_REMOTE_DELIMITER)[1]\n : laneName;\n const laneId = await this.scope.legacyScope.lanes.parseLaneIdFromString(laneName);\n const lane = await this.scope.legacyScope.lanes.loadLane(laneId);\n if (!lane) {\n throw new BitError(`unable to find a local lane \"${laneName}\"`);\n }\n const remoteScopeBefore = lane.scope;\n lane.scope = remoteScope;\n const trackData = {\n localLane: laneNameWithoutScope,\n remoteLane: laneId.name,\n remoteScope,\n };\n this.scope.legacyScope.lanes.trackLane(trackData);\n await this.scope.legacyScope.lanes.saveLane(lane);\n await this.workspace.consumer.onDestroy();\n\n return { remoteScopeBefore };\n }\n\n /**\n * change a lane-name and if possible, export the lane to the remote\n */\n async rename(currentName: string, newName: string): Promise<{ exported: boolean; exportErr?: Error }> {\n if (!this.workspace) {\n throw new BitError(`unable to rename a lane outside of Bit workspace`);\n }\n throwForInvalidLaneName(newName);\n const existingAliasWithNewName = this.scope.legacyScope.lanes.getRemoteTrackedDataByLocalLane(newName);\n if (existingAliasWithNewName) {\n const remoteIdStr = `${existingAliasWithNewName.remoteLane}/${existingAliasWithNewName.remoteScope}`;\n throw new BitError(`unable to rename to ${newName}. this name is already used to track: ${remoteIdStr}`);\n }\n const laneNameWithoutScope = currentName.includes(LANE_REMOTE_DELIMITER)\n ? currentName.split(LANE_REMOTE_DELIMITER)[1]\n : currentName;\n const laneId = await this.scope.legacyScope.lanes.parseLaneIdFromString(currentName);\n const lane = await this.scope.legacyScope.lanes.loadLane(laneId);\n if (!lane) {\n throw new BitError(`unable to find a local lane \"${currentName}\"`);\n }\n\n // rename the workspace-lane file\n const previousAlias = this.scope.legacyScope.lanes.getAliasByLaneId(laneId);\n if (previousAlias) {\n await WorkspaceLane.rename(this.scope.legacyScope.getPath(), previousAlias, newName);\n }\n\n // rename the ref file\n await this.scope.legacyScope.objects.remoteLanes.renameRefByNewLaneName(laneNameWithoutScope, newName, lane.scope);\n\n // change tracking data\n const afterTrackData = {\n localLane: newName,\n remoteLane: newName,\n remoteScope: lane.scope,\n };\n this.scope.legacyScope.lanes.trackLane(afterTrackData);\n this.scope.legacyScope.lanes.removeTrackLane(laneNameWithoutScope);\n\n // change the lane object\n lane.name = newName;\n await this.scope.legacyScope.lanes.saveLane(lane);\n\n // change current-lane if needed\n const currentLaneName = this.getCurrentLane();\n if (currentLaneName === laneNameWithoutScope) this.scope.legacyScope.lanes.setCurrentLane(newName);\n\n // export the lane with only the name-change\n const clonedLaneToExport = lane.clone();\n clonedLaneToExport.components = []; // otherwise, it'll export the changes done on the components.\n let exported = false;\n let exportErr: Error | undefined;\n try {\n await this.exportLane(clonedLaneToExport);\n exported = true;\n } catch (err: any) {\n this.logger.error(`unable to export ${lane.id.toString()}: ${err.message}`);\n exportErr = err;\n }\n\n await this.workspace.consumer.onDestroy();\n\n return { exported, exportErr };\n }\n\n async exportLane(lane: Lane) {\n await exportMany({\n scope: this.scope.legacyScope,\n isLegacy: false,\n laneObject: lane,\n ids: new BitIds(),\n codemod: false,\n changeLocallyAlthoughRemoteIsDifferent: false,\n includeDependencies: false,\n remoteName: null,\n idsWithFutureScope: new BitIds(),\n allVersions: false,\n });\n }\n\n async removeLanes(laneNames: string[], { remote, force }: { remote: boolean; force: boolean }): Promise<string[]> {\n const results = await removeLanes(this.workspace?.consumer, laneNames, remote, force);\n if (this.workspace) await this.workspace.consumer.onDestroy();\n\n return results.laneResults;\n }\n\n async mergeLane(\n laneName: string,\n options: MergeLaneOptions\n ): Promise<{ mergeResults: ApplyVersionResults; deleteResults: any }> {\n if (!this.workspace) {\n throw new BitError(`unable to merge a lane outside of Bit workspace`);\n }\n const results = await mergeLanes({\n merging: this.merging,\n consumer: this.workspace.consumer,\n laneName,\n ...options,\n });\n\n await this.workspace.consumer.onDestroy();\n this.workspace.consumer.bitMap.syncWithLanes(this.workspace.consumer.bitMap.workspaceLane);\n return results;\n }\n\n /**\n * switch to a different local or remote lane.\n * switching to a remote lane also imports and writes the components of that remote lane.\n * by default, only the components existing on the workspace will be imported from that lane, unless the \"getAll\"\n * flag is true.\n */\n async switchLanes(\n laneName: string,\n { alias, merge, getAll = false, skipDependencyInstallation = false }: SwitchLaneOptions\n ) {\n if (!this.workspace) {\n throw new BitError(`unable to switch lanes outside of Bit workspace`);\n }\n let mergeStrategy;\n if (merge && typeof merge === 'string') {\n const mergeOptions = Object.keys(MergeOptions);\n if (!mergeOptions.includes(merge)) {\n throw new BitError(`merge must be one of the following: ${mergeOptions.join(', ')}`);\n }\n mergeStrategy = merge;\n }\n if (alias) {\n throwForInvalidLaneName(alias);\n }\n\n const switchProps = {\n laneName,\n existingOnWorkspaceOnly: !getAll,\n alias,\n };\n const checkoutProps = {\n mergeStrategy,\n skipNpmInstall: skipDependencyInstallation,\n verbose: false, // not relevant in Harmony\n ignorePackageJson: true, // not relevant in Harmony\n ignoreDist: true, // not relevant in Harmony\n isLane: true,\n promptMergeOptions: false,\n writeConfig: false,\n reset: false,\n all: false,\n };\n return new LaneSwitcher(this.workspace, this.logger, switchProps, checkoutProps).switch();\n }\n\n /**\n * the values array may include zero to two values and will be processed as following:\n * [] => diff between the current lane and default lane. (only inside workspace).\n * [to] => diff between the current lane (or default-lane when in scope) and \"to\" lane.\n * [from, to] => diff between \"from\" lane and \"to\" lane.\n */\n public getDiff(values: string[], diffOptions: DiffOptions = {}) {\n const laneDiffGenerator = new LaneDiffGenerator(this.workspace, this.scope);\n return laneDiffGenerator.generate(values, diffOptions);\n }\n\n async getLaneComponentModels(name: string): Promise<Component[]> {\n if (!name) return [];\n\n const [lane] = await this.getLanes({ name });\n const laneComponents = lane.components;\n const host = this.componentAspect.getHost();\n const laneComponentIds = await Promise.all(\n laneComponents.map((laneComponent) => {\n const legacyIdWithVersion = laneComponent.id.changeVersion(laneComponent.head);\n return host.resolveComponentId(legacyIdWithVersion);\n })\n );\n const components = await host.getMany(laneComponentIds);\n return components;\n }\n\n async getLaneReadmeComponent(name: string): Promise<Component | undefined> {\n if (!name) return undefined;\n\n const [lane] = await this.getLanes({ name });\n const laneReadmeComponent = lane.readmeComponent;\n if (!laneReadmeComponent) return undefined;\n const host = this.componentAspect.getHost();\n const laneReadmeComponentId = await host.resolveComponentId(\n laneReadmeComponent.id.changeVersion(laneReadmeComponent.head)\n );\n const readmeComponent = await host.get(laneReadmeComponentId);\n return readmeComponent;\n }\n\n async removeLaneReadme(laneName?: string): Promise<{ result: boolean; message?: string }> {\n if (!this.workspace) {\n throw new BitError('unable to remove the lane readme component outside of Bit workspace');\n }\n const currentLaneName = this.getCurrentLane();\n\n if (!laneName && !currentLaneName) {\n return {\n result: false,\n message: 'unable to remove the lane readme component. Either pass a laneName or switch to a lane',\n };\n }\n\n const scope: LegacyScope = this.workspace.scope.legacyScope;\n const laneId: LaneId = laneName\n ? await scope.lanes.parseLaneIdFromString(laneName)\n : (this.getCurrentLaneId() as LaneId);\n const lane: Lane | null | undefined = await scope.loadLane(laneId);\n\n if (!lane?.readmeComponent) {\n throw new BitError(`there is no readme component added to the lane ${laneName || currentLaneName}`);\n }\n\n const readmeComponentId = await this.workspace.resolveComponentId(lane.readmeComponent.id);\n const existingLaneConfig =\n (await this.workspace.getSpecificComponentConfig(readmeComponentId, LanesAspect.id)) || {};\n\n const remoteLaneIdStr = lane.toLaneId().toString();\n\n if (existingLaneConfig.readme) {\n delete existingLaneConfig.readme[remoteLaneIdStr];\n await this.workspace.removeSpecificComponentConfig(readmeComponentId, LanesAspect.id, false);\n await this.workspace.addSpecificComponentConfig(readmeComponentId, LanesAspect.id, existingLaneConfig);\n }\n\n lane.setReadmeComponent(undefined);\n await scope.lanes.saveLane(lane);\n await this.workspace.bitMap.write();\n\n return { result: true };\n }\n\n async addLaneReadme(readmeComponentIdStr: string, laneName?: string): Promise<{ result: boolean; message?: string }> {\n if (!this.workspace) {\n throw new BitError(`unable to track a lane readme component outside of Bit workspace`);\n }\n const readmeComponentId = await this.workspace.resolveComponentId(readmeComponentIdStr);\n\n const readmeComponentBitId = readmeComponentId._legacy;\n const scope: LegacyScope = this.workspace.scope.legacyScope;\n const laneId: LaneId = laneName\n ? await scope.lanes.parseLaneIdFromString(laneName)\n : (this.getCurrentLaneId() as LaneId);\n\n const lane: Lane | null | undefined = await scope.loadLane(laneId);\n\n if (!lane) {\n return { result: false, message: `cannot find lane ${laneName}` };\n }\n\n lane.setReadmeComponent(readmeComponentBitId);\n await scope.lanes.saveLane(lane);\n\n const existingLaneConfig =\n (await this.workspace.getSpecificComponentConfig(readmeComponentId, LanesAspect.id)) || {};\n\n const remoteLaneIdStr = lane.toLaneId().toString();\n\n if (existingLaneConfig.readme) {\n await this.workspace.addSpecificComponentConfig(readmeComponentId, LanesAspect.id, {\n ...existingLaneConfig,\n readme: {\n ...existingLaneConfig.readme,\n [remoteLaneIdStr]: true,\n },\n });\n } else {\n await this.workspace.addSpecificComponentConfig(readmeComponentId, LanesAspect.id, {\n ...existingLaneConfig,\n readme: {\n [remoteLaneIdStr]: true,\n },\n });\n }\n await this.workspace.bitMap.write();\n return { result: true };\n }\n\n private async getLaneDataOfDefaultLane(): Promise<LaneData | null> {\n const consumer = this.workspace?.consumer;\n let bitIds: BitId[] = [];\n if (!consumer) {\n const scopeComponents = await this.scope.list();\n bitIds = scopeComponents.filter((component) => component.head).map((component) => component.id._legacy);\n } else {\n bitIds = consumer.bitMap.getAuthoredAndImportedBitIdsOfDefaultLane();\n }\n\n return {\n name: DEFAULT_LANE,\n remote: null,\n components: bitIds.map((bitId) => ({ id: bitId, head: bitId.version as string })),\n isMerged: null,\n };\n }\n\n static slots = [];\n static dependencies = [\n CLIAspect,\n ScopeAspect,\n WorkspaceAspect,\n GraphqlAspect,\n CommunityAspect,\n MergingAspect,\n ComponentAspect,\n LoggerAspect,\n ];\n static runtime = MainRuntime;\n static async provider([cli, scope, workspace, graphql, community, merging, component, loggerMain]: [\n CLIMain,\n ScopeMain,\n Workspace,\n GraphqlMain,\n CommunityMain,\n MergingMain,\n ComponentMain,\n LoggerMain\n ]) {\n const logger = loggerMain.createLogger(LanesAspect.id);\n const lanesMain = new LanesMain(workspace, scope, merging, component, logger);\n const isLegacy = workspace && workspace.consumer.isLegacy;\n const switchCmd = new SwitchCmd(lanesMain);\n if (!isLegacy) {\n const laneCmd = new LaneCmd(lanesMain, workspace, scope, community.getDocsDomain());\n laneCmd.commands = [\n new LaneListCmd(lanesMain, workspace, scope),\n switchCmd,\n new LaneShowCmd(lanesMain, workspace, scope),\n new LaneCreateCmd(lanesMain),\n new LaneMergeCmd(lanesMain),\n new LaneRemoveCmd(lanesMain),\n new LaneChangeScopeCmd(lanesMain),\n new LaneAliasCmd(lanesMain),\n new LaneRenameCmd(lanesMain),\n new LaneDiffCmd(workspace, scope),\n new LaneAddReadmeCmd(lanesMain),\n new LaneRemoveReadmeCmd(lanesMain),\n new LaneImportCmd(switchCmd),\n ];\n cli.register(laneCmd, switchCmd);\n graphql.register(lanesSchema(lanesMain));\n }\n return lanesMain;\n }\n}\n\nLanesAspect.addRuntime(LanesMain);\n\nexport default LanesMain;\n"]}
1
+ {"version":3,"sources":["lanes.main.runtime.ts"],"names":["LanesMain","constructor","workspace","scope","merging","componentAspect","logger","getLanes","name","remote","merged","showDefaultLane","notMerged","showMergeData","Boolean","consumer","remoteObj","lanes","listLanes","DEFAULT_LANE","defaultLane","getLaneDataOfDefaultLane","legacyScope","getLanesData","push","getCurrentLane","getCurrentLaneName","getCurrentLaneId","createLane","remoteScope","alias","BitError","defaultScope","setCurrentLane","trackLaneData","localLane","remoteLane","trackLane","onDestroy","localName","remoteName","laneId","parseLaneIdFromString","lane","loadLane","beforeTrackData","getRemoteTrackedDataByLocalLane","beforeTrackDataCloned","undefined","afterTrackData","aliasLane","laneName","includes","LANE_REMOTE_DELIMITER","trackData","laneNameWithoutScope","split","removeTrackLane","changeScope","remoteScopeBefore","saveLane","rename","currentName","newName","existingAliasWithNewName","remoteIdStr","previousAlias","getAliasByLaneId","WorkspaceLane","getPath","objects","remoteLanes","renameRefByNewLaneName","currentLaneName","clonedLaneToExport","clone","components","exported","exportErr","exportLane","err","error","id","toString","message","isLegacy","laneObject","ids","BitIds","codemod","changeLocallyAlthoughRemoteIsDifferent","includeDependencies","idsWithFutureScope","allVersions","removeLanes","laneNames","force","results","laneResults","mergeLane","options","bitMap","syncWithLanes","workspaceLane","switchLanes","merge","getAll","skipDependencyInstallation","mergeStrategy","mergeOptions","Object","keys","MergeOptions","join","switchProps","existingOnWorkspaceOnly","checkoutProps","skipNpmInstall","verbose","ignorePackageJson","ignoreDist","isLane","promptMergeOptions","writeConfig","reset","all","LaneSwitcher","switch","getDiff","values","diffOptions","laneDiffGenerator","LaneDiffGenerator","generate","getLaneComponentModels","laneComponents","host","getHost","laneComponentIds","Promise","map","laneComponent","legacyIdWithVersion","changeVersion","head","resolveComponentId","getMany","getLaneReadmeComponent","laneReadmeComponent","readmeComponent","laneReadmeComponentId","get","removeLaneReadme","result","readmeComponentId","existingLaneConfig","getSpecificComponentConfig","LanesAspect","remoteLaneIdStr","toLaneId","readme","removeSpecificComponentConfig","addSpecificComponentConfig","setReadmeComponent","write","addLaneReadme","readmeComponentIdStr","readmeComponentBitId","_legacy","bitIds","scopeComponents","list","filter","component","getAuthoredAndImportedBitIdsOfDefaultLane","bitId","version","isMerged","provider","cli","graphql","community","loggerMain","createLogger","lanesMain","switchCmd","SwitchCmd","laneCmd","LaneCmd","getDocsDomain","commands","LaneListCmd","LaneShowCmd","LaneCreateCmd","LaneMergeCmd","LaneRemoveCmd","LaneChangeScopeCmd","LaneAliasCmd","LaneRenameCmd","LaneDiffCmd","LaneAddReadmeCmd","LaneRemoveReadmeCmd","LaneImportCmd","register","CLIAspect","ScopeAspect","WorkspaceAspect","GraphqlAspect","CommunityAspect","MergingAspect","ComponentAspect","LoggerAspect","MainRuntime","addRuntime"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAMA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAcA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;AAiCO,MAAMA,SAAN,CAAgB;AACrBC,EAAAA,WAAW,CACDC,SADC,EAEDC,KAFC,EAGDC,OAHC,EAIDC,eAJC,EAKDC,MALC,EAMT;AAAA,SALQJ,SAKR,GALQA,SAKR;AAAA,SAJQC,KAIR,GAJQA,KAIR;AAAA,SAHQC,OAGR,GAHQA,OAGR;AAAA,SAFQC,eAER,GAFQA,eAER;AAAA,SADQC,MACR,GADQA,MACR;AAAE;;AAEU,QAARC,QAAQ,CAAC;AACbC,IAAAA,IADa;AAEbC,IAAAA,MAFa;AAGbC,IAAAA,MAHa;AAIbC,IAAAA,eAJa;AAKbC,IAAAA;AALa,GAAD,EAYU;AAAA;;AACtB,UAAMC,aAAa,GAAGC,OAAO,CAACJ,MAAM,IAAIE,SAAX,CAA7B;AACA,UAAMG,QAAQ,sBAAG,KAAKb,SAAR,oDAAG,gBAAgBa,QAAjC;;AACA,QAAIN,MAAJ,EAAY;AACV,YAAMO,SAAS,GAAG,MAAM,gCAAgBP,MAAhB,EAAwBM,QAAxB,CAAxB;AACA,YAAME,KAAK,GAAG,MAAMD,SAAS,CAACE,SAAV,CAAoBV,IAApB,EAA0BK,aAA1B,CAApB;AACA,aAAOI,KAAP;AACD;;AAED,QAAIT,IAAI,KAAKW,sBAAb,EAA2B;AACzB,YAAMC,WAAW,GAAG,MAAM,KAAKC,wBAAL,EAA1B;AACA,aAAOD,WAAW,GAAG,CAACA,WAAD,CAAH,GAAmB,EAArC;AACD;;AAED,UAAMH,KAAK,GAAG,MAAM,KAAKd,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6BM,YAA7B,CAA0C,KAAKpB,KAAL,CAAWmB,WAArD,EAAkEd,IAAlE,EAAwEK,aAAxE,CAApB;;AAEA,QAAIF,eAAJ,EAAqB;AACnB,YAAMS,WAAW,GAAG,MAAM,KAAKC,wBAAL,EAA1B;AACA,UAAID,WAAJ,EAAiBH,KAAK,CAACO,IAAN,CAAWJ,WAAX;AAClB;;AAED,WAAOH,KAAP;AACD;;AAEDQ,EAAAA,cAAc,GAAkB;AAAA;;AAC9B,QAAI,sBAAC,KAAKvB,SAAN,6CAAC,iBAAgBa,QAAjB,CAAJ,EAA+B,OAAO,IAAP;AAC/B,WAAO,KAAKZ,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6BS,kBAA7B,EAAP;AACD;;AAEDC,EAAAA,gBAAgB,GAAkB;AAChC,QAAI,CAAC,KAAKzB,SAAV,EAAqB,OAAO,IAAP;AACrB,WAAO,KAAKC,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6BU,gBAA7B,EAAP;AACD;;AAEe,QAAVC,UAAU,CAACpB,IAAD,EAAe;AAAEqB,IAAAA,WAAF;AAAeC,IAAAA;AAAf,MAA4C,EAA3D,EAAmF;AACjG,QAAI,CAAC,KAAK5B,SAAV,EAAqB;AACnB,YAAM,KAAI6B,oBAAJ,EAAc,kDAAd,CAAN;AACD;;AACD,QAAID,KAAJ,EAAW;AACT,iDAAwBA,KAAxB;AACD;;AACD,UAAM3B,KAAK,GAAG0B,WAAW,IAAI,KAAK3B,SAAL,CAAe8B,YAA5C;AACA,UAAM,8BAAW,KAAK9B,SAAL,CAAea,QAA1B,EAAoCP,IAApC,EAA0CL,KAA1C,CAAN;AACA,SAAKA,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6BgB,cAA7B,CAA4CzB,IAA5C;AACA,UAAM0B,aAAa,GAAG;AACpBC,MAAAA,SAAS,EAAEL,KAAK,IAAItB,IADA;AAEpB4B,MAAAA,UAAU,EAAE5B,IAFQ;AAGpBqB,MAAAA,WAAW,EAAE1B;AAHO,KAAtB;AAKA,SAAKA,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6BoB,SAA7B,CAAuCH,aAAvC;AACA,UAAM,KAAKhC,SAAL,CAAea,QAAf,CAAwBuB,SAAxB,EAAN;AAEA,WAAOJ,aAAP;AACD;;AAEc,QAATG,SAAS,CACbE,SADa,EAEbV,WAFa,EAGbW,UAHa,EAIwD;AACrE,QAAI,CAAC,KAAKtC,SAAV,EAAqB;AACnB,YAAM,KAAI6B,oBAAJ,EAAc,iDAAd,CAAN;AACD;;AACD,UAAMU,MAAM,GAAG,MAAM,KAAKtC,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6ByB,qBAA7B,CAAmDH,SAAnD,CAArB;AACA,UAAMI,IAAI,GAAG,MAAM,KAAKxC,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6B2B,QAA7B,CAAsCH,MAAtC,CAAnB;;AACA,QAAI,CAACE,IAAL,EAAW;AACT,YAAM,KAAIZ,oBAAJ,EAAc,gCAA+BQ,SAAU,GAAvD,CAAN;AACD;;AACD,UAAMM,eAAe,GAAG,KAAK1C,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6B6B,+BAA7B,CAA6DP,SAA7D,CAAxB;AACA,UAAMQ,qBAAqB,GAAGF,eAAe,qBAAQA,eAAR,IAA4BG,SAAzE;AACA,UAAMC,cAAc,GAAG;AACrBd,MAAAA,SAAS,EAAEI,SADU;AAErBH,MAAAA,UAAU,EAAEI,UAAU,KAAIK,eAAJ,aAAIA,eAAJ,uBAAIA,eAAe,CAAET,UAArB,CAAV,IAA6CG,SAFpC;AAGrBV,MAAAA;AAHqB,KAAvB;AAKA,SAAK1B,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6BoB,SAA7B,CAAuCY,cAAvC;AACA,UAAM,KAAK/C,SAAL,CAAea,QAAf,CAAwBuB,SAAxB,EAAN;AAEA,WAAO;AAAEO,MAAAA,eAAe,EAAEE,qBAAnB;AAA0CE,MAAAA;AAA1C,KAAP;AACD;;AAEc,QAATC,SAAS,CAACC,QAAD,EAAmBrB,KAAnB,EAA+D;AAC5E,QAAI,CAAC,KAAK5B,SAAV,EAAqB;AACnB,YAAM,KAAI6B,oBAAJ,EAAc,iDAAd,CAAN;AACD;;AACD,QAAID,KAAK,CAACsB,QAAN,CAAeC,+BAAf,CAAJ,EAA2C;AACzC,YAAM,KAAItB,oBAAJ,EAAc,wCAAuCsB,+BAAsB,GAA3E,CAAN;AACD;;AACD,QAAIvB,KAAK,KAAKqB,QAAd,EAAwB;AACtB,YAAM,KAAIpB,oBAAJ,EAAc,8CAAd,CAAN;AACD;;AACD,UAAMU,MAAM,GAAG,MAAM,KAAKtC,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6ByB,qBAA7B,CAAmDS,QAAnD,CAArB;AACA,UAAMR,IAAI,GAAG,MAAM,KAAKxC,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6B2B,QAA7B,CAAsCH,MAAtC,CAAnB;;AACA,QAAI,CAACE,IAAL,EAAW;AACT,YAAM,KAAIZ,oBAAJ,EAAc,gCAA+BoB,QAAS,GAAtD,CAAN;AACD;;AACD,UAAMG,SAAS,GAAG;AAChBnB,MAAAA,SAAS,EAAEL,KADK;AAEhBM,MAAAA,UAAU,EAAEK,MAAM,CAACjC,IAFH;AAGhBqB,MAAAA,WAAW,EAAEY,MAAM,CAACtC;AAHJ,KAAlB;AAKA,UAAMoD,oBAAoB,GAAGJ,QAAQ,CAACC,QAAT,CAAkBC,+BAAlB,IACzBF,QAAQ,CAACK,KAAT,CAAeH,+BAAf,EAAsC,CAAtC,CADyB,GAEzBF,QAFJ;AAGA,SAAKhD,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6BwC,eAA7B,CAA6CF,oBAA7C;AACA,SAAKpD,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6BoB,SAA7B,CAAuCiB,SAAvC;AACA,UAAM,KAAKpD,SAAL,CAAea,QAAf,CAAwBuB,SAAxB,EAAN;AAEA,WAAO;AAAEG,MAAAA;AAAF,KAAP;AACD;;AAEgB,QAAXiB,WAAW,CAACP,QAAD,EAAmBtB,WAAnB,EAAgF;AAC/F,QAAI,CAAC,KAAK3B,SAAV,EAAqB;AACnB,YAAM,KAAI6B,oBAAJ,EAAc,2DAAd,CAAN;AACD;;AACD,UAAMwB,oBAAoB,GAAGJ,QAAQ,CAACC,QAAT,CAAkBC,+BAAlB,IACzBF,QAAQ,CAACK,KAAT,CAAeH,+BAAf,EAAsC,CAAtC,CADyB,GAEzBF,QAFJ;AAGA,UAAMV,MAAM,GAAG,MAAM,KAAKtC,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6ByB,qBAA7B,CAAmDS,QAAnD,CAArB;AACA,UAAMR,IAAI,GAAG,MAAM,KAAKxC,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6B2B,QAA7B,CAAsCH,MAAtC,CAAnB;;AACA,QAAI,CAACE,IAAL,EAAW;AACT,YAAM,KAAIZ,oBAAJ,EAAc,gCAA+BoB,QAAS,GAAtD,CAAN;AACD;;AACD,UAAMQ,iBAAiB,GAAGhB,IAAI,CAACxC,KAA/B;AACAwC,IAAAA,IAAI,CAACxC,KAAL,GAAa0B,WAAb;AACA,UAAMyB,SAAS,GAAG;AAChBnB,MAAAA,SAAS,EAAEoB,oBADK;AAEhBnB,MAAAA,UAAU,EAAEK,MAAM,CAACjC,IAFH;AAGhBqB,MAAAA;AAHgB,KAAlB;AAKA,SAAK1B,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6BoB,SAA7B,CAAuCiB,SAAvC;AACA,UAAM,KAAKnD,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6B2C,QAA7B,CAAsCjB,IAAtC,CAAN;AACA,UAAM,KAAKzC,SAAL,CAAea,QAAf,CAAwBuB,SAAxB,EAAN;AAEA,WAAO;AAAEqB,MAAAA;AAAF,KAAP;AACD;AAED;AACF;AACA;;;AACc,QAANE,MAAM,CAACC,WAAD,EAAsBC,OAAtB,EAA0F;AACpG,QAAI,CAAC,KAAK7D,SAAV,EAAqB;AACnB,YAAM,KAAI6B,oBAAJ,EAAc,kDAAd,CAAN;AACD;;AACD,+CAAwBgC,OAAxB;AACA,UAAMC,wBAAwB,GAAG,KAAK7D,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6B6B,+BAA7B,CAA6DiB,OAA7D,CAAjC;;AACA,QAAIC,wBAAJ,EAA8B;AAC5B,YAAMC,WAAW,GAAI,GAAED,wBAAwB,CAAC5B,UAAW,IAAG4B,wBAAwB,CAACnC,WAAY,EAAnG;AACA,YAAM,KAAIE,oBAAJ,EAAc,uBAAsBgC,OAAQ,yCAAwCE,WAAY,EAAhG,CAAN;AACD;;AACD,UAAMV,oBAAoB,GAAGO,WAAW,CAACV,QAAZ,CAAqBC,+BAArB,IACzBS,WAAW,CAACN,KAAZ,CAAkBH,+BAAlB,EAAyC,CAAzC,CADyB,GAEzBS,WAFJ;AAGA,UAAMrB,MAAM,GAAG,MAAM,KAAKtC,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6ByB,qBAA7B,CAAmDoB,WAAnD,CAArB;AACA,UAAMnB,IAAI,GAAG,MAAM,KAAKxC,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6B2B,QAA7B,CAAsCH,MAAtC,CAAnB;;AACA,QAAI,CAACE,IAAL,EAAW;AACT,YAAM,KAAIZ,oBAAJ,EAAc,gCAA+B+B,WAAY,GAAzD,CAAN;AACD,KAjBmG,CAmBpG;;;AACA,UAAMI,aAAa,GAAG,KAAK/D,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6BkD,gBAA7B,CAA8C1B,MAA9C,CAAtB;;AACA,QAAIyB,aAAJ,EAAmB;AACjB,YAAME,yBAAcP,MAAd,CAAqB,KAAK1D,KAAL,CAAWmB,WAAX,CAAuB+C,OAAvB,EAArB,EAAuDH,aAAvD,EAAsEH,OAAtE,CAAN;AACD,KAvBmG,CAyBpG;;;AACA,UAAM,KAAK5D,KAAL,CAAWmB,WAAX,CAAuBgD,OAAvB,CAA+BC,WAA/B,CAA2CC,sBAA3C,CAAkEjB,oBAAlE,EAAwFQ,OAAxF,EAAiGpB,IAAI,CAACxC,KAAtG,CAAN,CA1BoG,CA4BpG;;AACA,UAAM8C,cAAc,GAAG;AACrBd,MAAAA,SAAS,EAAE4B,OADU;AAErB3B,MAAAA,UAAU,EAAE2B,OAFS;AAGrBlC,MAAAA,WAAW,EAAEc,IAAI,CAACxC;AAHG,KAAvB;AAKA,SAAKA,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6BoB,SAA7B,CAAuCY,cAAvC;AACA,SAAK9C,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6BwC,eAA7B,CAA6CF,oBAA7C,EAnCoG,CAqCpG;;AACAZ,IAAAA,IAAI,CAACnC,IAAL,GAAYuD,OAAZ;AACA,UAAM,KAAK5D,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6B2C,QAA7B,CAAsCjB,IAAtC,CAAN,CAvCoG,CAyCpG;;AACA,UAAM8B,eAAe,GAAG,KAAKhD,cAAL,EAAxB;AACA,QAAIgD,eAAe,KAAKlB,oBAAxB,EAA8C,KAAKpD,KAAL,CAAWmB,WAAX,CAAuBL,KAAvB,CAA6BgB,cAA7B,CAA4C8B,OAA5C,EA3CsD,CA6CpG;;AACA,UAAMW,kBAAkB,GAAG/B,IAAI,CAACgC,KAAL,EAA3B;AACAD,IAAAA,kBAAkB,CAACE,UAAnB,GAAgC,EAAhC,CA/CoG,CA+ChE;;AACpC,QAAIC,QAAQ,GAAG,KAAf;AACA,QAAIC,SAAJ;;AACA,QAAI;AACF,YAAM,KAAKC,UAAL,CAAgBL,kBAAhB,CAAN;AACAG,MAAAA,QAAQ,GAAG,IAAX;AACD,KAHD,CAGE,OAAOG,GAAP,EAAiB;AACjB,WAAK1E,MAAL,CAAY2E,KAAZ,CAAmB,oBAAmBtC,IAAI,CAACuC,EAAL,CAAQC,QAAR,EAAmB,KAAIH,GAAG,CAACI,OAAQ,EAAzE;AACAN,MAAAA,SAAS,GAAGE,GAAZ;AACD;;AAED,UAAM,KAAK9E,SAAL,CAAea,QAAf,CAAwBuB,SAAxB,EAAN;AAEA,WAAO;AAAEuC,MAAAA,QAAF;AAAYC,MAAAA;AAAZ,KAAP;AACD;;AAEe,QAAVC,UAAU,CAACpC,IAAD,EAAa;AAC3B,UAAM,yCAAW;AACfxC,MAAAA,KAAK,EAAE,KAAKA,KAAL,CAAWmB,WADH;AAEf+D,MAAAA,QAAQ,EAAE,KAFK;AAGfC,MAAAA,UAAU,EAAE3C,IAHG;AAIf4C,MAAAA,GAAG,EAAE,KAAIC,eAAJ,GAJU;AAKfC,MAAAA,OAAO,EAAE,KALM;AAMfC,MAAAA,sCAAsC,EAAE,KANzB;AAOfC,MAAAA,mBAAmB,EAAE,KAPN;AAQfnD,MAAAA,UAAU,EAAE,IARG;AASfoD,MAAAA,kBAAkB,EAAE,KAAIJ,eAAJ,GATL;AAUfK,MAAAA,WAAW,EAAE;AAVE,KAAX,CAAN;AAYD;;AAEgB,QAAXC,WAAW,CAACC,SAAD,EAAsB;AAAEtF,IAAAA,MAAF;AAAUuF,IAAAA;AAAV,GAAtB,EAAiG;AAAA;;AAChH,UAAMC,OAAO,GAAG,MAAM,gDAAY,KAAK/F,SAAjB,qDAAY,iBAAgBa,QAA5B,EAAsCgF,SAAtC,EAAiDtF,MAAjD,EAAyDuF,KAAzD,CAAtB;AACA,QAAI,KAAK9F,SAAT,EAAoB,MAAM,KAAKA,SAAL,CAAea,QAAf,CAAwBuB,SAAxB,EAAN;AAEpB,WAAO2D,OAAO,CAACC,WAAf;AACD;;AAEc,QAATC,SAAS,CACbhD,QADa,EAEbiD,OAFa,EAGuD;AACpE,QAAI,CAAC,KAAKlG,SAAV,EAAqB;AACnB,YAAM,KAAI6B,oBAAJ,EAAc,iDAAd,CAAN;AACD;;AACD,UAAMkE,OAAO,GAAG,MAAM;AACpB7F,MAAAA,OAAO,EAAE,KAAKA,OADM;AAEpBW,MAAAA,QAAQ,EAAE,KAAKb,SAAL,CAAea,QAFL;AAGpBoC,MAAAA;AAHoB,OAIjBiD,OAJiB,EAAtB;AAOA,UAAM,KAAKlG,SAAL,CAAea,QAAf,CAAwBuB,SAAxB,EAAN;AACA,SAAKpC,SAAL,CAAea,QAAf,CAAwBsF,MAAxB,CAA+BC,aAA/B,CAA6C,KAAKpG,SAAL,CAAea,QAAf,CAAwBsF,MAAxB,CAA+BE,aAA5E;AACA,WAAON,OAAP;AACD;AAED;AACF;AACA;AACA;AACA;AACA;;;AACmB,QAAXO,WAAW,CACfrD,QADe,EAEf;AAAErB,IAAAA,KAAF;AAAS2E,IAAAA,KAAT;AAAgBC,IAAAA,MAAM,GAAG,KAAzB;AAAgCC,IAAAA,0BAA0B,GAAG;AAA7D,GAFe,EAGf;AACA,QAAI,CAAC,KAAKzG,SAAV,EAAqB;AACnB,YAAM,KAAI6B,oBAAJ,EAAc,iDAAd,CAAN;AACD;;AACD,QAAI6E,aAAJ;;AACA,QAAIH,KAAK,IAAI,OAAOA,KAAP,KAAiB,QAA9B,EAAwC;AACtC,YAAMI,YAAY,GAAGC,MAAM,CAACC,IAAP,CAAYC,4BAAZ,CAArB;;AACA,UAAI,CAACH,YAAY,CAACzD,QAAb,CAAsBqD,KAAtB,CAAL,EAAmC;AACjC,cAAM,KAAI1E,oBAAJ,EAAc,uCAAsC8E,YAAY,CAACI,IAAb,CAAkB,IAAlB,CAAwB,EAA5E,CAAN;AACD;;AACDL,MAAAA,aAAa,GAAGH,KAAhB;AACD;;AACD,QAAI3E,KAAJ,EAAW;AACT,iDAAwBA,KAAxB;AACD;;AAED,UAAMoF,WAAW,GAAG;AAClB/D,MAAAA,QADkB;AAElBgE,MAAAA,uBAAuB,EAAE,CAACT,MAFR;AAGlB5E,MAAAA;AAHkB,KAApB;AAKA,UAAMsF,aAAa,GAAG;AACpBR,MAAAA,aADoB;AAEpBS,MAAAA,cAAc,EAAEV,0BAFI;AAGpBW,MAAAA,OAAO,EAAE,KAHW;AAGJ;AAChBC,MAAAA,iBAAiB,EAAE,IAJC;AAIK;AACzBC,MAAAA,UAAU,EAAE,IALQ;AAKF;AAClBC,MAAAA,MAAM,EAAE,IANY;AAOpBC,MAAAA,kBAAkB,EAAE,KAPA;AAQpBC,MAAAA,WAAW,EAAE,KARO;AASpBC,MAAAA,KAAK,EAAE,KATa;AAUpBC,MAAAA,GAAG,EAAE;AAVe,KAAtB;AAYA,WAAO,KAAIC,2BAAJ,EAAiB,KAAK5H,SAAtB,EAAiC,KAAKI,MAAtC,EAA8C4G,WAA9C,EAA2DE,aAA3D,EAA0EW,MAA1E,EAAP;AACD;AAED;AACF;AACA;AACA;AACA;AACA;;;AACSC,EAAAA,OAAO,CAACC,MAAD,EAAmBC,WAAwB,GAAG,EAA9C,EAAkD;AAC9D,UAAMC,iBAAiB,GAAG,KAAIC,iCAAJ,EAAsB,KAAKlI,SAA3B,EAAsC,KAAKC,KAA3C,CAA1B;AACA,WAAOgI,iBAAiB,CAACE,QAAlB,CAA2BJ,MAA3B,EAAmCC,WAAnC,CAAP;AACD;;AAE2B,QAAtBI,sBAAsB,CAAC3F,IAAD,EAAuC;AACjE,QAAI,CAACA,IAAL,EAAW,OAAO,EAAP;AAEX,UAAM4F,cAAc,GAAG5F,IAAI,CAACiC,UAA5B;AACA,UAAM4D,IAAI,GAAG,KAAKnI,eAAL,CAAqBoI,OAArB,EAAb;AACA,UAAMC,gBAAgB,GAAG,MAAMC,OAAO,CAACd,GAAR,CAC7BU,cAAc,CAACK,GAAf,CAAoBC,aAAD,IAAmB;AACpC,YAAMC,mBAAmB,GAAGD,aAAa,CAAC3D,EAAd,CAAiB6D,aAAjB,CAA+BF,aAAa,CAACG,IAA7C,CAA5B;AACA,aAAOR,IAAI,CAACS,kBAAL,CAAwBH,mBAAxB,CAAP;AACD,KAHD,CAD6B,CAA/B;AAMA,UAAMlE,UAAU,GAAG,MAAM4D,IAAI,CAACU,OAAL,CAAaR,gBAAb,CAAzB;AACA,WAAO9D,UAAP;AACD;;AAE2B,QAAtBuE,sBAAsB,CAACxG,IAAD,EAAiD;AAC3E,QAAI,CAACA,IAAL,EAAW,OAAOK,SAAP;AACX,UAAMoG,mBAAmB,GAAGzG,IAAI,CAAC0G,eAAjC;AACA,QAAI,CAACD,mBAAL,EAA0B,OAAOpG,SAAP;AAC1B,UAAMwF,IAAI,GAAG,KAAKnI,eAAL,CAAqBoI,OAArB,EAAb;AACA,UAAMa,qBAAqB,GAAG,MAAMd,IAAI,CAACS,kBAAL,CAClCG,mBAAmB,CAAClE,EAApB,CAAuB6D,aAAvB,CAAqCK,mBAAmB,CAACJ,IAAzD,CADkC,CAApC;AAGA,UAAMK,eAAe,GAAG,MAAMb,IAAI,CAACe,GAAL,CAASD,qBAAT,CAA9B;AACA,WAAOD,eAAP;AACD;;AAEqB,QAAhBG,gBAAgB,CAACrG,QAAD,EAAoE;AACxF,QAAI,CAAC,KAAKjD,SAAV,EAAqB;AACnB,YAAM,KAAI6B,oBAAJ,EAAa,qEAAb,CAAN;AACD;;AACD,UAAM0C,eAAe,GAAG,KAAKhD,cAAL,EAAxB;;AAEA,QAAI,CAAC0B,QAAD,IAAa,CAACsB,eAAlB,EAAmC;AACjC,aAAO;AACLgF,QAAAA,MAAM,EAAE,KADH;AAELrE,QAAAA,OAAO,EAAE;AAFJ,OAAP;AAID;;AAED,UAAMjF,KAAkB,GAAG,KAAKD,SAAL,CAAeC,KAAf,CAAqBmB,WAAhD;AACA,UAAMmB,MAAc,GAAGU,QAAQ,GAC3B,MAAMhD,KAAK,CAACc,KAAN,CAAYyB,qBAAZ,CAAkCS,QAAlC,CADqB,GAE1B,KAAKxB,gBAAL,EAFL;AAGA,UAAMgB,IAA6B,GAAG,MAAMxC,KAAK,CAACyC,QAAN,CAAeH,MAAf,CAA5C;;AAEA,QAAI,EAACE,IAAD,aAACA,IAAD,eAACA,IAAI,CAAE0G,eAAP,CAAJ,EAA4B;AAC1B,YAAM,KAAItH,oBAAJ,EAAc,kDAAiDoB,QAAQ,IAAIsB,eAAgB,EAA3F,CAAN;AACD;;AAED,UAAMiF,iBAAiB,GAAG,MAAM,KAAKxJ,SAAL,CAAe+I,kBAAf,CAAkCtG,IAAI,CAAC0G,eAAL,CAAqBnE,EAAvD,CAAhC;AACA,UAAMyE,kBAAkB,GACtB,CAAC,MAAM,KAAKzJ,SAAL,CAAe0J,0BAAf,CAA0CF,iBAA1C,EAA6DG,qBAAY3E,EAAzE,CAAP,KAAwF,EAD1F;AAGA,UAAM4E,eAAe,GAAGnH,IAAI,CAACoH,QAAL,GAAgB5E,QAAhB,EAAxB;;AAEA,QAAIwE,kBAAkB,CAACK,MAAvB,EAA+B;AAC7B,aAAOL,kBAAkB,CAACK,MAAnB,CAA0BF,eAA1B,CAAP;AACA,YAAM,KAAK5J,SAAL,CAAe+J,6BAAf,CAA6CP,iBAA7C,EAAgEG,qBAAY3E,EAA5E,EAAgF,KAAhF,CAAN;AACA,YAAM,KAAKhF,SAAL,CAAegK,0BAAf,CAA0CR,iBAA1C,EAA6DG,qBAAY3E,EAAzE,EAA6EyE,kBAA7E,CAAN;AACD;;AAEDhH,IAAAA,IAAI,CAACwH,kBAAL,CAAwBnH,SAAxB;AACA,UAAM7C,KAAK,CAACc,KAAN,CAAY2C,QAAZ,CAAqBjB,IAArB,CAAN;AACA,UAAM,KAAKzC,SAAL,CAAemG,MAAf,CAAsB+D,KAAtB,EAAN;AAEA,WAAO;AAAEX,MAAAA,MAAM,EAAE;AAAV,KAAP;AACD;;AAEkB,QAAbY,aAAa,CAACC,oBAAD,EAA+BnH,QAA/B,EAAkG;AACnH,QAAI,CAAC,KAAKjD,SAAV,EAAqB;AACnB,YAAM,KAAI6B,oBAAJ,EAAc,kEAAd,CAAN;AACD;;AACD,UAAM2H,iBAAiB,GAAG,MAAM,KAAKxJ,SAAL,CAAe+I,kBAAf,CAAkCqB,oBAAlC,CAAhC;AAEA,UAAMC,oBAAoB,GAAGb,iBAAiB,CAACc,OAA/C;AACA,UAAMrK,KAAkB,GAAG,KAAKD,SAAL,CAAeC,KAAf,CAAqBmB,WAAhD;AACA,UAAMmB,MAAc,GAAGU,QAAQ,GAC3B,MAAMhD,KAAK,CAACc,KAAN,CAAYyB,qBAAZ,CAAkCS,QAAlC,CADqB,GAE1B,KAAKxB,gBAAL,EAFL;AAIA,UAAMgB,IAA6B,GAAG,MAAMxC,KAAK,CAACyC,QAAN,CAAeH,MAAf,CAA5C;;AAEA,QAAI,CAACE,IAAL,EAAW;AACT,aAAO;AAAE8G,QAAAA,MAAM,EAAE,KAAV;AAAiBrE,QAAAA,OAAO,EAAG,oBAAmBjC,QAAS;AAAvD,OAAP;AACD;;AAEDR,IAAAA,IAAI,CAACwH,kBAAL,CAAwBI,oBAAxB;AACA,UAAMpK,KAAK,CAACc,KAAN,CAAY2C,QAAZ,CAAqBjB,IAArB,CAAN;AAEA,UAAMgH,kBAAkB,GACtB,CAAC,MAAM,KAAKzJ,SAAL,CAAe0J,0BAAf,CAA0CF,iBAA1C,EAA6DG,qBAAY3E,EAAzE,CAAP,KAAwF,EAD1F;AAGA,UAAM4E,eAAe,GAAGnH,IAAI,CAACoH,QAAL,GAAgB5E,QAAhB,EAAxB;;AAEA,QAAIwE,kBAAkB,CAACK,MAAvB,EAA+B;AAC7B,YAAM,KAAK9J,SAAL,CAAegK,0BAAf,CAA0CR,iBAA1C,EAA6DG,qBAAY3E,EAAzE,kCACDyE,kBADC;AAEJK,QAAAA,MAAM,kCACDL,kBAAkB,CAACK,MADlB;AAEJ,WAACF,eAAD,GAAmB;AAFf;AAFF,SAAN;AAOD,KARD,MAQO;AACL,YAAM,KAAK5J,SAAL,CAAegK,0BAAf,CAA0CR,iBAA1C,EAA6DG,qBAAY3E,EAAzE,kCACDyE,kBADC;AAEJK,QAAAA,MAAM,EAAE;AACN,WAACF,eAAD,GAAmB;AADb;AAFJ,SAAN;AAMD;;AACD,UAAM,KAAK5J,SAAL,CAAemG,MAAf,CAAsB+D,KAAtB,EAAN;AACA,WAAO;AAAEX,MAAAA,MAAM,EAAE;AAAV,KAAP;AACD;;AAEqC,QAAxBpI,wBAAwB,GAA6B;AAAA;;AACjE,UAAMN,QAAQ,uBAAG,KAAKb,SAAR,qDAAG,iBAAgBa,QAAjC;AACA,QAAI0J,MAAe,GAAG,EAAtB;;AACA,QAAI,CAAC1J,QAAL,EAAe;AACb,YAAM2J,eAAe,GAAG,MAAM,KAAKvK,KAAL,CAAWwK,IAAX,EAA9B;AACAF,MAAAA,MAAM,GAAGC,eAAe,CAACE,MAAhB,CAAwBC,SAAD,IAAeA,SAAS,CAAC7B,IAAhD,EAAsDJ,GAAtD,CAA2DiC,SAAD,IAAeA,SAAS,CAAC3F,EAAV,CAAasF,OAAtF,CAAT;AACD,KAHD,MAGO;AACLC,MAAAA,MAAM,GAAG1J,QAAQ,CAACsF,MAAT,CAAgByE,yCAAhB,EAAT;AACD;;AAED,WAAO;AACLtK,MAAAA,IAAI,EAAEW,sBADD;AAELV,MAAAA,MAAM,EAAE,IAFH;AAGLmE,MAAAA,UAAU,EAAE6F,MAAM,CAAC7B,GAAP,CAAYmC,KAAD,KAAY;AAAE7F,QAAAA,EAAE,EAAE6F,KAAN;AAAa/B,QAAAA,IAAI,EAAE+B,KAAK,CAACC;AAAzB,OAAZ,CAAX,CAHP;AAILC,MAAAA,QAAQ,EAAE;AAJL,KAAP;AAMD;;AAcoB,eAARC,QAAQ,CAAC,CAACC,GAAD,EAAMhL,KAAN,EAAaD,SAAb,EAAwBkL,OAAxB,EAAiCC,SAAjC,EAA4CjL,OAA5C,EAAqDyK,SAArD,EAAgES,UAAhE,CAAD,EASlB;AACD,UAAMhL,MAAM,GAAGgL,UAAU,CAACC,YAAX,CAAwB1B,qBAAY3E,EAApC,CAAf;AACA,UAAMsG,SAAS,GAAG,IAAIxL,SAAJ,CAAcE,SAAd,EAAyBC,KAAzB,EAAgCC,OAAhC,EAAyCyK,SAAzC,EAAoDvK,MAApD,CAAlB;AACA,UAAM+E,QAAQ,GAAGnF,SAAS,IAAIA,SAAS,CAACa,QAAV,CAAmBsE,QAAjD;AACA,UAAMoG,SAAS,GAAG,KAAIC,mBAAJ,EAAcF,SAAd,CAAlB;;AACA,QAAI,CAACnG,QAAL,EAAe;AACb,YAAMsG,OAAO,GAAG,KAAIC,eAAJ,EAAYJ,SAAZ,EAAuBtL,SAAvB,EAAkCC,KAAlC,EAAyCkL,SAAS,CAACQ,aAAV,EAAzC,CAAhB;AACAF,MAAAA,OAAO,CAACG,QAAR,GAAmB,CACjB,KAAIC,mBAAJ,EAAgBP,SAAhB,EAA2BtL,SAA3B,EAAsCC,KAAtC,CADiB,EAEjBsL,SAFiB,EAGjB,KAAIO,mBAAJ,EAAgBR,SAAhB,EAA2BtL,SAA3B,EAAsCC,KAAtC,CAHiB,EAIjB,KAAI8L,qBAAJ,EAAkBT,SAAlB,CAJiB,EAKjB,KAAIU,oBAAJ,EAAiBV,SAAjB,CALiB,EAMjB,KAAIW,qBAAJ,EAAkBX,SAAlB,CANiB,EAOjB,KAAIY,0BAAJ,EAAuBZ,SAAvB,CAPiB,EAQjB,KAAIa,oBAAJ,EAAiBb,SAAjB,CARiB,EASjB,KAAIc,qBAAJ,EAAkBd,SAAlB,CATiB,EAUjB,KAAIe,2BAAJ,EAAgBrM,SAAhB,EAA2BC,KAA3B,CAViB,EAWjB,KAAIqM,wBAAJ,EAAqBhB,SAArB,CAXiB,EAYjB,KAAIiB,2BAAJ,EAAwBjB,SAAxB,CAZiB,EAajB,KAAIkB,qBAAJ,EAAkBjB,SAAlB,CAbiB,CAAnB;AAeAN,MAAAA,GAAG,CAACwB,QAAJ,CAAahB,OAAb,EAAsBF,SAAtB;AACAL,MAAAA,OAAO,CAACuB,QAAR,CAAiB,2BAAYnB,SAAZ,CAAjB;AACD;;AACD,WAAOA,SAAP;AACD;;AArfoB;;;gCAAVxL,S,WAscI,E;gCAtcJA,S,kBAucW,CACpB4M,gBADoB,EAEpBC,oBAFoB,EAGpBC,4BAHoB,EAIpBC,wBAJoB,EAKpBC,4BALoB,EAMpBC,wBANoB,EAOpBC,oBAPoB,EAQpBC,sBARoB,C;gCAvcXnN,S,aAidMoN,kB;;AAuCnBvD,qBAAYwD,UAAZ,CAAuBrN,SAAvB;;eAEeA,S","sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { ScopeMain, ScopeAspect } from '@teambit/scope';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport getRemoteByName from '@teambit/legacy/dist/remotes/get-remote-by-name';\nimport { LaneDiffCmd, LaneDiffGenerator } from '@teambit/lanes.modules.diff';\nimport { LaneData } from '@teambit/legacy/dist/scope/lanes/lanes';\nimport { LaneId, DEFAULT_LANE, LANE_REMOTE_DELIMITER } from '@teambit/lane-id';\nimport { BitError } from '@teambit/bit-error';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { DiffOptions } from '@teambit/legacy/dist/consumer/component-ops/components-diff';\nimport { exportMany } from '@teambit/legacy/dist/scope/component-ops/export-scope-components';\nimport {\n MergeStrategy,\n ApplyVersionResults,\n MergeOptions,\n} from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport { TrackLane } from '@teambit/legacy/dist/scope/scope-json';\nimport { CommunityAspect } from '@teambit/community';\nimport type { CommunityMain } from '@teambit/community';\nimport ComponentAspect, { Component, ComponentMain } from '@teambit/component';\nimport removeLanes from '@teambit/legacy/dist/consumer/lanes/remove-lanes';\nimport WorkspaceLane from '@teambit/legacy/dist/consumer/bit-map/workspace-lane';\nimport { Lane } from '@teambit/legacy/dist/scope/models';\nimport { Scope as LegacyScope } from '@teambit/legacy/dist/scope';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport { BitIds } from '@teambit/legacy/dist/bit-id';\nimport { MergingMain, MergingAspect } from '@teambit/merging';\nimport { LanesAspect } from './lanes.aspect';\nimport {\n LaneCmd,\n LaneCreateCmd,\n LaneImportCmd,\n LaneListCmd,\n LaneMergeCmd,\n LaneRemoveCmd,\n LaneShowCmd,\n LaneChangeScopeCmd,\n LaneAliasCmd,\n LaneRenameCmd,\n LaneAddReadmeCmd,\n LaneRemoveReadmeCmd,\n} from './lane.cmd';\nimport { lanesSchema } from './lanes.graphql';\nimport { SwitchCmd } from './switch.cmd';\nimport { mergeLanes } from './merge-lanes';\nimport { LaneSwitcher } from './switch-lanes';\nimport { createLane, throwForInvalidLaneName } from './create-lane';\n\nexport { Lane };\n\nexport type LaneResults = {\n lanes: LaneData[];\n currentLane?: string | null;\n};\n\nexport type MergeLaneOptions = {\n remoteName: string | null;\n mergeStrategy: MergeStrategy;\n noSnap: boolean;\n snapMessage: string;\n existingOnWorkspaceOnly: boolean;\n build: boolean;\n keepReadme: boolean;\n};\n\nexport type CreateLaneOptions = {\n remoteScope?: string; // default to the defaultScope in workspace.jsonc\n alias?: string; // default to the remote name\n};\n\nexport type SwitchLaneOptions = {\n alias?: string;\n merge?: MergeStrategy;\n getAll?: boolean;\n skipDependencyInstallation?: boolean;\n verbose?: boolean;\n override?: boolean;\n};\n\nexport class LanesMain {\n constructor(\n private workspace: Workspace | undefined,\n private scope: ScopeMain,\n private merging: MergingMain,\n private componentAspect: ComponentMain,\n private logger: Logger\n ) {}\n\n async getLanes({\n name,\n remote,\n merged,\n showDefaultLane,\n notMerged,\n }: {\n name?: string;\n remote?: string;\n merged?: boolean;\n showDefaultLane?: boolean;\n notMerged?: boolean;\n }): Promise<LaneData[]> {\n const showMergeData = Boolean(merged || notMerged);\n const consumer = this.workspace?.consumer;\n if (remote) {\n const remoteObj = await getRemoteByName(remote, consumer);\n const lanes = await remoteObj.listLanes(name, showMergeData);\n return lanes;\n }\n\n if (name === DEFAULT_LANE) {\n const defaultLane = await this.getLaneDataOfDefaultLane();\n return defaultLane ? [defaultLane] : [];\n }\n\n const lanes = await this.scope.legacyScope.lanes.getLanesData(this.scope.legacyScope, name, showMergeData);\n\n if (showDefaultLane) {\n const defaultLane = await this.getLaneDataOfDefaultLane();\n if (defaultLane) lanes.push(defaultLane);\n }\n\n return lanes;\n }\n\n getCurrentLane(): string | null {\n if (!this.workspace?.consumer) return null;\n return this.scope.legacyScope.lanes.getCurrentLaneName();\n }\n\n getCurrentLaneId(): LaneId | null {\n if (!this.workspace) return null;\n return this.scope.legacyScope.lanes.getCurrentLaneId();\n }\n\n async createLane(name: string, { remoteScope, alias }: CreateLaneOptions = {}): Promise<TrackLane> {\n if (!this.workspace) {\n throw new BitError(`unable to create a lane outside of Bit workspace`);\n }\n if (alias) {\n throwForInvalidLaneName(alias);\n }\n const scope = remoteScope || this.workspace.defaultScope;\n await createLane(this.workspace.consumer, name, scope);\n this.scope.legacyScope.lanes.setCurrentLane(name);\n const trackLaneData = {\n localLane: alias || name,\n remoteLane: name,\n remoteScope: scope,\n };\n this.scope.legacyScope.lanes.trackLane(trackLaneData);\n await this.workspace.consumer.onDestroy();\n\n return trackLaneData;\n }\n\n async trackLane(\n localName: string,\n remoteScope: string,\n remoteName?: string\n ): Promise<{ beforeTrackData?: TrackLane; afterTrackData: TrackLane }> {\n if (!this.workspace) {\n throw new BitError(`unable to track a lane outside of Bit workspace`);\n }\n const laneId = await this.scope.legacyScope.lanes.parseLaneIdFromString(localName);\n const lane = await this.scope.legacyScope.lanes.loadLane(laneId);\n if (!lane) {\n throw new BitError(`unable to find a local lane \"${localName}\"`);\n }\n const beforeTrackData = this.scope.legacyScope.lanes.getRemoteTrackedDataByLocalLane(localName);\n const beforeTrackDataCloned = beforeTrackData ? { ...beforeTrackData } : undefined;\n const afterTrackData = {\n localLane: localName,\n remoteLane: remoteName || beforeTrackData?.remoteLane || localName,\n remoteScope,\n };\n this.scope.legacyScope.lanes.trackLane(afterTrackData);\n await this.workspace.consumer.onDestroy();\n\n return { beforeTrackData: beforeTrackDataCloned, afterTrackData };\n }\n\n async aliasLane(laneName: string, alias: string): Promise<{ laneId: LaneId }> {\n if (!this.workspace) {\n throw new BitError(`unable to alias a lane outside of Bit workspace`);\n }\n if (alias.includes(LANE_REMOTE_DELIMITER)) {\n throw new BitError(`an alias cannot include a delimiter \"${LANE_REMOTE_DELIMITER}\"`);\n }\n if (alias === laneName) {\n throw new BitError(`an alias cannot be the same as the lane name`);\n }\n const laneId = await this.scope.legacyScope.lanes.parseLaneIdFromString(laneName);\n const lane = await this.scope.legacyScope.lanes.loadLane(laneId);\n if (!lane) {\n throw new BitError(`unable to find a local lane \"${laneName}\"`);\n }\n const trackData = {\n localLane: alias,\n remoteLane: laneId.name,\n remoteScope: laneId.scope,\n };\n const laneNameWithoutScope = laneName.includes(LANE_REMOTE_DELIMITER)\n ? laneName.split(LANE_REMOTE_DELIMITER)[1]\n : laneName;\n this.scope.legacyScope.lanes.removeTrackLane(laneNameWithoutScope);\n this.scope.legacyScope.lanes.trackLane(trackData);\n await this.workspace.consumer.onDestroy();\n\n return { laneId };\n }\n\n async changeScope(laneName: string, remoteScope: string): Promise<{ remoteScopeBefore: string }> {\n if (!this.workspace) {\n throw new BitError(`unable to change-scope of a lane outside of Bit workspace`);\n }\n const laneNameWithoutScope = laneName.includes(LANE_REMOTE_DELIMITER)\n ? laneName.split(LANE_REMOTE_DELIMITER)[1]\n : laneName;\n const laneId = await this.scope.legacyScope.lanes.parseLaneIdFromString(laneName);\n const lane = await this.scope.legacyScope.lanes.loadLane(laneId);\n if (!lane) {\n throw new BitError(`unable to find a local lane \"${laneName}\"`);\n }\n const remoteScopeBefore = lane.scope;\n lane.scope = remoteScope;\n const trackData = {\n localLane: laneNameWithoutScope,\n remoteLane: laneId.name,\n remoteScope,\n };\n this.scope.legacyScope.lanes.trackLane(trackData);\n await this.scope.legacyScope.lanes.saveLane(lane);\n await this.workspace.consumer.onDestroy();\n\n return { remoteScopeBefore };\n }\n\n /**\n * change a lane-name and if possible, export the lane to the remote\n */\n async rename(currentName: string, newName: string): Promise<{ exported: boolean; exportErr?: Error }> {\n if (!this.workspace) {\n throw new BitError(`unable to rename a lane outside of Bit workspace`);\n }\n throwForInvalidLaneName(newName);\n const existingAliasWithNewName = this.scope.legacyScope.lanes.getRemoteTrackedDataByLocalLane(newName);\n if (existingAliasWithNewName) {\n const remoteIdStr = `${existingAliasWithNewName.remoteLane}/${existingAliasWithNewName.remoteScope}`;\n throw new BitError(`unable to rename to ${newName}. this name is already used to track: ${remoteIdStr}`);\n }\n const laneNameWithoutScope = currentName.includes(LANE_REMOTE_DELIMITER)\n ? currentName.split(LANE_REMOTE_DELIMITER)[1]\n : currentName;\n const laneId = await this.scope.legacyScope.lanes.parseLaneIdFromString(currentName);\n const lane = await this.scope.legacyScope.lanes.loadLane(laneId);\n if (!lane) {\n throw new BitError(`unable to find a local lane \"${currentName}\"`);\n }\n\n // rename the workspace-lane file\n const previousAlias = this.scope.legacyScope.lanes.getAliasByLaneId(laneId);\n if (previousAlias) {\n await WorkspaceLane.rename(this.scope.legacyScope.getPath(), previousAlias, newName);\n }\n\n // rename the ref file\n await this.scope.legacyScope.objects.remoteLanes.renameRefByNewLaneName(laneNameWithoutScope, newName, lane.scope);\n\n // change tracking data\n const afterTrackData = {\n localLane: newName,\n remoteLane: newName,\n remoteScope: lane.scope,\n };\n this.scope.legacyScope.lanes.trackLane(afterTrackData);\n this.scope.legacyScope.lanes.removeTrackLane(laneNameWithoutScope);\n\n // change the lane object\n lane.name = newName;\n await this.scope.legacyScope.lanes.saveLane(lane);\n\n // change current-lane if needed\n const currentLaneName = this.getCurrentLane();\n if (currentLaneName === laneNameWithoutScope) this.scope.legacyScope.lanes.setCurrentLane(newName);\n\n // export the lane with only the name-change\n const clonedLaneToExport = lane.clone();\n clonedLaneToExport.components = []; // otherwise, it'll export the changes done on the components.\n let exported = false;\n let exportErr: Error | undefined;\n try {\n await this.exportLane(clonedLaneToExport);\n exported = true;\n } catch (err: any) {\n this.logger.error(`unable to export ${lane.id.toString()}: ${err.message}`);\n exportErr = err;\n }\n\n await this.workspace.consumer.onDestroy();\n\n return { exported, exportErr };\n }\n\n async exportLane(lane: Lane) {\n await exportMany({\n scope: this.scope.legacyScope,\n isLegacy: false,\n laneObject: lane,\n ids: new BitIds(),\n codemod: false,\n changeLocallyAlthoughRemoteIsDifferent: false,\n includeDependencies: false,\n remoteName: null,\n idsWithFutureScope: new BitIds(),\n allVersions: false,\n });\n }\n\n async removeLanes(laneNames: string[], { remote, force }: { remote: boolean; force: boolean }): Promise<string[]> {\n const results = await removeLanes(this.workspace?.consumer, laneNames, remote, force);\n if (this.workspace) await this.workspace.consumer.onDestroy();\n\n return results.laneResults;\n }\n\n async mergeLane(\n laneName: string,\n options: MergeLaneOptions\n ): Promise<{ mergeResults: ApplyVersionResults; deleteResults: any }> {\n if (!this.workspace) {\n throw new BitError(`unable to merge a lane outside of Bit workspace`);\n }\n const results = await mergeLanes({\n merging: this.merging,\n consumer: this.workspace.consumer,\n laneName,\n ...options,\n });\n\n await this.workspace.consumer.onDestroy();\n this.workspace.consumer.bitMap.syncWithLanes(this.workspace.consumer.bitMap.workspaceLane);\n return results;\n }\n\n /**\n * switch to a different local or remote lane.\n * switching to a remote lane also imports and writes the components of that remote lane.\n * by default, only the components existing on the workspace will be imported from that lane, unless the \"getAll\"\n * flag is true.\n */\n async switchLanes(\n laneName: string,\n { alias, merge, getAll = false, skipDependencyInstallation = false }: SwitchLaneOptions\n ) {\n if (!this.workspace) {\n throw new BitError(`unable to switch lanes outside of Bit workspace`);\n }\n let mergeStrategy;\n if (merge && typeof merge === 'string') {\n const mergeOptions = Object.keys(MergeOptions);\n if (!mergeOptions.includes(merge)) {\n throw new BitError(`merge must be one of the following: ${mergeOptions.join(', ')}`);\n }\n mergeStrategy = merge;\n }\n if (alias) {\n throwForInvalidLaneName(alias);\n }\n\n const switchProps = {\n laneName,\n existingOnWorkspaceOnly: !getAll,\n alias,\n };\n const checkoutProps = {\n mergeStrategy,\n skipNpmInstall: skipDependencyInstallation,\n verbose: false, // not relevant in Harmony\n ignorePackageJson: true, // not relevant in Harmony\n ignoreDist: true, // not relevant in Harmony\n isLane: true,\n promptMergeOptions: false,\n writeConfig: false,\n reset: false,\n all: false,\n };\n return new LaneSwitcher(this.workspace, this.logger, switchProps, checkoutProps).switch();\n }\n\n /**\n * the values array may include zero to two values and will be processed as following:\n * [] => diff between the current lane and default lane. (only inside workspace).\n * [to] => diff between the current lane (or default-lane when in scope) and \"to\" lane.\n * [from, to] => diff between \"from\" lane and \"to\" lane.\n */\n public getDiff(values: string[], diffOptions: DiffOptions = {}) {\n const laneDiffGenerator = new LaneDiffGenerator(this.workspace, this.scope);\n return laneDiffGenerator.generate(values, diffOptions);\n }\n\n async getLaneComponentModels(lane: LaneData): Promise<Component[]> {\n if (!lane) return [];\n\n const laneComponents = lane.components;\n const host = this.componentAspect.getHost();\n const laneComponentIds = await Promise.all(\n laneComponents.map((laneComponent) => {\n const legacyIdWithVersion = laneComponent.id.changeVersion(laneComponent.head);\n return host.resolveComponentId(legacyIdWithVersion);\n })\n );\n const components = await host.getMany(laneComponentIds);\n return components;\n }\n\n async getLaneReadmeComponent(lane: LaneData): Promise<Component | undefined> {\n if (!lane) return undefined;\n const laneReadmeComponent = lane.readmeComponent;\n if (!laneReadmeComponent) return undefined;\n const host = this.componentAspect.getHost();\n const laneReadmeComponentId = await host.resolveComponentId(\n laneReadmeComponent.id.changeVersion(laneReadmeComponent.head)\n );\n const readmeComponent = await host.get(laneReadmeComponentId);\n return readmeComponent;\n }\n\n async removeLaneReadme(laneName?: string): Promise<{ result: boolean; message?: string }> {\n if (!this.workspace) {\n throw new BitError('unable to remove the lane readme component outside of Bit workspace');\n }\n const currentLaneName = this.getCurrentLane();\n\n if (!laneName && !currentLaneName) {\n return {\n result: false,\n message: 'unable to remove the lane readme component. Either pass a laneName or switch to a lane',\n };\n }\n\n const scope: LegacyScope = this.workspace.scope.legacyScope;\n const laneId: LaneId = laneName\n ? await scope.lanes.parseLaneIdFromString(laneName)\n : (this.getCurrentLaneId() as LaneId);\n const lane: Lane | null | undefined = await scope.loadLane(laneId);\n\n if (!lane?.readmeComponent) {\n throw new BitError(`there is no readme component added to the lane ${laneName || currentLaneName}`);\n }\n\n const readmeComponentId = await this.workspace.resolveComponentId(lane.readmeComponent.id);\n const existingLaneConfig =\n (await this.workspace.getSpecificComponentConfig(readmeComponentId, LanesAspect.id)) || {};\n\n const remoteLaneIdStr = lane.toLaneId().toString();\n\n if (existingLaneConfig.readme) {\n delete existingLaneConfig.readme[remoteLaneIdStr];\n await this.workspace.removeSpecificComponentConfig(readmeComponentId, LanesAspect.id, false);\n await this.workspace.addSpecificComponentConfig(readmeComponentId, LanesAspect.id, existingLaneConfig);\n }\n\n lane.setReadmeComponent(undefined);\n await scope.lanes.saveLane(lane);\n await this.workspace.bitMap.write();\n\n return { result: true };\n }\n\n async addLaneReadme(readmeComponentIdStr: string, laneName?: string): Promise<{ result: boolean; message?: string }> {\n if (!this.workspace) {\n throw new BitError(`unable to track a lane readme component outside of Bit workspace`);\n }\n const readmeComponentId = await this.workspace.resolveComponentId(readmeComponentIdStr);\n\n const readmeComponentBitId = readmeComponentId._legacy;\n const scope: LegacyScope = this.workspace.scope.legacyScope;\n const laneId: LaneId = laneName\n ? await scope.lanes.parseLaneIdFromString(laneName)\n : (this.getCurrentLaneId() as LaneId);\n\n const lane: Lane | null | undefined = await scope.loadLane(laneId);\n\n if (!lane) {\n return { result: false, message: `cannot find lane ${laneName}` };\n }\n\n lane.setReadmeComponent(readmeComponentBitId);\n await scope.lanes.saveLane(lane);\n\n const existingLaneConfig =\n (await this.workspace.getSpecificComponentConfig(readmeComponentId, LanesAspect.id)) || {};\n\n const remoteLaneIdStr = lane.toLaneId().toString();\n\n if (existingLaneConfig.readme) {\n await this.workspace.addSpecificComponentConfig(readmeComponentId, LanesAspect.id, {\n ...existingLaneConfig,\n readme: {\n ...existingLaneConfig.readme,\n [remoteLaneIdStr]: true,\n },\n });\n } else {\n await this.workspace.addSpecificComponentConfig(readmeComponentId, LanesAspect.id, {\n ...existingLaneConfig,\n readme: {\n [remoteLaneIdStr]: true,\n },\n });\n }\n await this.workspace.bitMap.write();\n return { result: true };\n }\n\n private async getLaneDataOfDefaultLane(): Promise<LaneData | null> {\n const consumer = this.workspace?.consumer;\n let bitIds: BitId[] = [];\n if (!consumer) {\n const scopeComponents = await this.scope.list();\n bitIds = scopeComponents.filter((component) => component.head).map((component) => component.id._legacy);\n } else {\n bitIds = consumer.bitMap.getAuthoredAndImportedBitIdsOfDefaultLane();\n }\n\n return {\n name: DEFAULT_LANE,\n remote: null,\n components: bitIds.map((bitId) => ({ id: bitId, head: bitId.version as string })),\n isMerged: null,\n };\n }\n\n static slots = [];\n static dependencies = [\n CLIAspect,\n ScopeAspect,\n WorkspaceAspect,\n GraphqlAspect,\n CommunityAspect,\n MergingAspect,\n ComponentAspect,\n LoggerAspect,\n ];\n static runtime = MainRuntime;\n static async provider([cli, scope, workspace, graphql, community, merging, component, loggerMain]: [\n CLIMain,\n ScopeMain,\n Workspace,\n GraphqlMain,\n CommunityMain,\n MergingMain,\n ComponentMain,\n LoggerMain\n ]) {\n const logger = loggerMain.createLogger(LanesAspect.id);\n const lanesMain = new LanesMain(workspace, scope, merging, component, logger);\n const isLegacy = workspace && workspace.consumer.isLegacy;\n const switchCmd = new SwitchCmd(lanesMain);\n if (!isLegacy) {\n const laneCmd = new LaneCmd(lanesMain, workspace, scope, community.getDocsDomain());\n laneCmd.commands = [\n new LaneListCmd(lanesMain, workspace, scope),\n switchCmd,\n new LaneShowCmd(lanesMain, workspace, scope),\n new LaneCreateCmd(lanesMain),\n new LaneMergeCmd(lanesMain),\n new LaneRemoveCmd(lanesMain),\n new LaneChangeScopeCmd(lanesMain),\n new LaneAliasCmd(lanesMain),\n new LaneRenameCmd(lanesMain),\n new LaneDiffCmd(workspace, scope),\n new LaneAddReadmeCmd(lanesMain),\n new LaneRemoveReadmeCmd(lanesMain),\n new LaneImportCmd(switchCmd),\n ];\n cli.register(laneCmd, switchCmd);\n graphql.register(lanesSchema(lanesMain));\n }\n return lanesMain;\n }\n}\n\nLanesAspect.addRuntime(LanesMain);\n\nexport default LanesMain;\n"]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/lanes",
3
- "version": "0.0.306",
3
+ "version": "0.0.309",
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.306"
9
+ "version": "0.0.309"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.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.490",
23
- "@teambit/merging": "0.0.49",
24
- "@teambit/scope": "0.0.734",
25
- "@teambit/workspace": "0.0.734",
26
- "@teambit/graphql": "0.0.734",
27
- "@teambit/community": "0.0.38",
28
- "@teambit/component": "0.0.734",
29
- "@teambit/lane-id": "0.0.9",
30
- "@teambit/lanes.modules.diff": "0.0.117",
22
+ "@teambit/cli": "0.0.491",
23
+ "@teambit/merging": "0.0.52",
24
+ "@teambit/scope": "0.0.737",
25
+ "@teambit/workspace": "0.0.737",
26
+ "@teambit/graphql": "0.0.737",
27
+ "@teambit/community": "0.0.39",
28
+ "@teambit/component": "0.0.737",
29
+ "@teambit/lane-id": "0.0.10",
30
+ "@teambit/lanes.modules.diff": "0.0.118",
31
31
  "@teambit/legacy-bit-id": "0.0.399",
32
- "@teambit/logger": "0.0.582",
33
- "@teambit/lanes.ui.lanes": "0.0.56",
34
- "@teambit/sidebar": "0.0.734",
32
+ "@teambit/logger": "0.0.583",
33
+ "@teambit/lanes.ui.lanes": "0.0.57",
34
+ "@teambit/sidebar": "0.0.737",
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.734"
37
+ "@teambit/ui": "0.0.737"
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.270",
53
+ "@teambit/legacy": "1.0.271",
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.270",
81
+ "@teambit/legacy": "1.0.271",
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.306/dist/lanes.composition.js')]
2
- export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.306/dist/lanes.docs.mdx')]
1
+ export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.309/dist/lanes.composition.js')]
2
+ export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.309/dist/lanes.docs.mdx')]
package/tsconfig.json CHANGED
@@ -15,13 +15,13 @@
15
15
  "declaration": true,
16
16
  "sourceMap": true,
17
17
  "skipLibCheck": true,
18
+ "experimentalDecorators": true,
18
19
  "outDir": "dist",
19
20
  "moduleResolution": "node",
20
21
  "esModuleInterop": true,
21
22
  "rootDir": ".",
22
23
  "resolveJsonModule": true,
23
24
  "emitDeclarationOnly": true,
24
- "experimentalDecorators": true,
25
25
  "emitDecoratorMetadata": true,
26
26
  "allowSyntheticDefaultImports": true,
27
27
  "strictPropertyInitialization": false,