@teambit/lanes 0.0.290 → 0.0.293
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.
- package/dist/lane.cmd.js +1 -1
- package/dist/lane.cmd.js.map +1 -1
- package/dist/lanes.main.runtime.d.ts +21 -3
- package/dist/lanes.main.runtime.js +89 -5
- package/dist/lanes.main.runtime.js.map +1 -1
- package/dist/switch-lanes.d.ts +32 -0
- package/dist/switch-lanes.js +461 -0
- package/dist/switch-lanes.js.map +1 -0
- package/dist/switch.cmd.d.ts +4 -2
- package/dist/switch.cmd.js +9 -66
- package/dist/switch.cmd.js.map +1 -1
- package/package-tar/teambit-lanes-0.0.293.tgz +0 -0
- package/package.json +19 -18
- package/{preview-1650964831029.js → preview-1651202606218.js} +2 -2
- package/package-tar/teambit-lanes-0.0.290.tgz +0 -0
package/dist/lane.cmd.js
CHANGED
@@ -386,7 +386,7 @@ class LaneRemoveCmd {
|
|
386
386
|
silent = false
|
387
387
|
}) {
|
388
388
|
if (!silent) {
|
389
|
-
const removePromptResult = await (0, _prompts().
|
389
|
+
const removePromptResult = await (0, _prompts().approveOperation)(); // @ts-ignore
|
390
390
|
|
391
391
|
if (!(0, _yn().default)(removePromptResult.shouldRemove)) {
|
392
392
|
throw new (_bitError().BitError)('the operation has been canceled');
|
package/dist/lane.cmd.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["lane.cmd.ts"],"names":["LaneListCmd","constructor","lanes","workspace","scope","report","args","laneOptions","details","remote","merged","notMerged","getLanes","showDefaultLane","mergedLanes","filter","l","isMerged","length","chalk","green","map","m","name","join","unmergedLanes","currentLane","getCurrentLane","laneDataOfCurrentLane","find","undefined","currentLaneReadmeComponentStr","outputReadmeComponent","readmeComponent","currentLaneStr","remoteOfCurrentLane","currentLaneComponents","outputComponents","components","outputRemoteLane","availableLanes","laneData","readmeComponentStr","laneTitle","bold","concat","outputFooter","footer","outputCurrentLane","outputAvailableLanes","json","LaneShowCmd","onlyLane","title","LaneCreateCmd","createLaneOptions","result","createLane","remoteScopeOrDefaultScope","remoteScope","localLane","remoteScopeOutput","LaneTrackCmd","localName","remoteName","beforeTrackData","afterTrackData","trackLane","remoteScopeChanges","remoteNameChanges","remoteLane","LaneMergeCmd","ours","theirs","manual","build","existing","existingOnWorkspaceOnly","noSnap","message","snapMessage","keepReadme","BUILD_ON_CI","Boolean","mergeStrategy","BitError","mergeResults","deleteResults","mergeLane","mergeResult","deleteResult","localResult","remoteResult","item","readmeResult","yellow","LaneRemoveCmd","names","force","silent","removePromptResult","shouldRemove","laneResults","removeLanes","LaneImportCmd","switchCmd","lane","skipDependencyInstallation","getAll","LaneCmd","docsDomain","description","LaneRemoveReadmeCmd","laneName","removeLaneReadme","red","LaneAddReadmeCmd","componentId","addLaneReadme","componentsTitle","componentsStr","c","id","toString","head","component"],"mappings":"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","sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport chalk from 'chalk';\nimport yn from 'yn';\nimport { ScopeMain } from '@teambit/scope';\nimport { Workspace } from '@teambit/workspace';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { LaneData } from '@teambit/legacy/dist/scope/lanes/lanes';\nimport { getMergeStrategy } from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport { mergeReport } from '@teambit/merging';\nimport { BUILD_ON_CI, isFeatureEnabled } from '@teambit/legacy/dist/api/consumer/lib/feature-toggle';\nimport { BitError } from '@teambit/bit-error';\nimport { removePrompt } from '@teambit/legacy/dist/prompts';\nimport paintRemoved from '@teambit/legacy/dist/cli/templates/remove-template';\nimport { CreateLaneOptions, LanesMain } from './lanes.main.runtime';\nimport { SwitchCmd } from './switch.cmd';\n\ntype LaneOptions = {\n details?: boolean;\n remote?: string;\n merged?: boolean;\n notMerged?: boolean;\n json?: boolean;\n};\n\nexport class LaneListCmd implements Command {\n name = 'list';\n description = `list lanes`;\n alias = '';\n options = [\n ['d', 'details', 'show more details on the state of each component in each lane'],\n ['j', 'json', 'show lanes details in json format'],\n ['r', 'remote <string>', 'show remote lanes'],\n ['', 'merged', 'show merged lanes'],\n ['', 'not-merged', 'show not merged lanes'],\n ] as CommandOptions;\n loader = true;\n private = true;\n migration = true;\n remoteOp = true;\n skipWorkspace = true;\n\n constructor(private lanes: LanesMain, private workspace: Workspace, private scope: ScopeMain) {}\n\n async report(args, laneOptions: LaneOptions): Promise<string> {\n const { details, remote, merged, notMerged } = laneOptions;\n\n const lanes = await this.lanes.getLanes({\n remote,\n merged,\n notMerged,\n showDefaultLane: true,\n });\n if (merged) {\n const mergedLanes = lanes.filter((l) => l.isMerged);\n if (!mergedLanes.length) return chalk.green('None of the lanes is merged');\n return chalk.green(mergedLanes.map((m) => m.name).join('\\n'));\n }\n if (notMerged) {\n const unmergedLanes = lanes.filter((l) => !l.isMerged);\n if (!unmergedLanes.length) return chalk.green('All lanes are merged');\n return chalk.green(unmergedLanes.map((m) => m.name).join('\\n'));\n }\n const currentLane = this.lanes.getCurrentLane();\n const laneDataOfCurrentLane = currentLane ? lanes.find((l) => l.name === currentLane) : undefined;\n const currentLaneReadmeComponentStr = outputReadmeComponent(laneDataOfCurrentLane?.readmeComponent);\n let currentLaneStr = currentLane ? `current lane - ${chalk.green.green(currentLane as string)}` : '';\n currentLaneStr += currentLaneReadmeComponentStr;\n\n if (details) {\n const remoteOfCurrentLane = laneDataOfCurrentLane ? laneDataOfCurrentLane.remote : null;\n const currentLaneComponents = laneDataOfCurrentLane ? outputComponents(laneDataOfCurrentLane.components) : '';\n if (currentLaneStr) {\n currentLaneStr += `${outputRemoteLane(remoteOfCurrentLane)}\\n${currentLaneComponents}`;\n }\n }\n\n const availableLanes = lanes\n .filter((l) => l.name !== currentLane)\n // @ts-ignore\n .map((laneData) => {\n const readmeComponentStr = outputReadmeComponent(laneData.readmeComponent);\n if (details) {\n const laneTitle = `> ${chalk.bold(laneData.name)}${outputRemoteLane(laneData.remote)}\\n`;\n const components = outputComponents(laneData.components);\n return laneTitle + readmeComponentStr.concat('\\n') + components;\n }\n return ` > ${chalk.green(laneData.name)} (${laneData.components.length} components)${readmeComponentStr}`;\n })\n .join('\\n');\n\n const outputFooter = () => {\n let footer = '\\n';\n if (details) {\n footer += 'You can use --merged and --not-merged to see which of the lanes is fully merged.';\n } else {\n footer +=\n \"to get more info on all lanes in workspace use 'bit lane list --details' or 'bit lane show <lane-name>' for a specific lane.\";\n }\n if (!remote && this.workspace) footer += `\\nswitch lanes using 'bit switch <name>'.`;\n\n return footer;\n };\n\n return outputCurrentLane() + outputAvailableLanes() + outputFooter();\n\n function outputCurrentLane() {\n return currentLaneStr ? `${currentLaneStr}\\n` : '';\n }\n\n function outputAvailableLanes() {\n if (!availableLanes) return '';\n return remote ? `${availableLanes}\\n` : `\\nAvailable lanes:\\n${availableLanes}\\n`;\n }\n }\n async json(args, laneOptions: LaneOptions) {\n const { remote, merged = false, notMerged = false } = laneOptions;\n\n const lanes = await this.lanes.getLanes({\n remote,\n showDefaultLane: true,\n merged,\n notMerged,\n });\n const currentLane = this.lanes.getCurrentLane();\n return { lanes, currentLane };\n }\n}\n\nexport class LaneShowCmd implements Command {\n name = 'show <name>';\n description = `show lane details`;\n alias = '';\n options = [\n ['j', 'json', 'show the lane details in json format'],\n ['r', 'remote <string>', 'show remote lanes'],\n ] as CommandOptions;\n loader = true;\n private = true;\n migration = true;\n remoteOp = true;\n skipWorkspace = true;\n\n constructor(private lanes: LanesMain, private workspace: Workspace, private scope: ScopeMain) {}\n\n async report([name]: [string], laneOptions: LaneOptions): Promise<string> {\n const { remote } = laneOptions;\n\n const lanes = await this.lanes.getLanes({\n name,\n remote,\n });\n\n const onlyLane = lanes[0];\n const title = `showing information for ${chalk.bold(name)}${outputRemoteLane(onlyLane.remote)}\\n`;\n return title + outputComponents(onlyLane.components);\n }\n\n async json([name]: [string], laneOptions: LaneOptions) {\n const { remote } = laneOptions;\n\n const lanes = await this.lanes.getLanes({\n name,\n remote,\n });\n return lanes[0];\n }\n}\n\nexport class LaneCreateCmd implements Command {\n name = 'create <name>';\n description = `create and switch to a new lane`;\n alias = '';\n options = [\n [\n '',\n 'remote-scope <string>',\n 'remote scope where this lane will be exported to (can be changed later with \"bit lane track\")',\n ],\n [\n '',\n 'remote-name <string>',\n 'lane name on the remote, default to the local name (can be changed later with \"bit lane track\")',\n ],\n ] as CommandOptions;\n loader = true;\n private = true;\n migration = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report([name]: [string], createLaneOptions: CreateLaneOptions): Promise<string> {\n const result = await this.lanes.createLane(name, createLaneOptions);\n const remoteScopeOrDefaultScope = createLaneOptions.remoteScope\n ? `the remote scope ${chalk.bold(createLaneOptions.remoteScope)}`\n : `the default-scope ${chalk.bold(result.remoteScope)}. to change it, please run \"bit lane track\" command`;\n const title = chalk.green(`successfully added and checked out to a new lane ${chalk.bold(result.localLane)}`);\n const remoteScopeOutput = `this lane will be exported to ${remoteScopeOrDefaultScope}`;\n return `${title}\\n${remoteScopeOutput}`;\n }\n}\n\nexport class LaneTrackCmd implements Command {\n name = 'track <local-name> <remote-scope> [remote-name]';\n description = `change the remote scope or remote lane of the local lane`;\n alias = '';\n options = [] as CommandOptions;\n loader = true;\n private = true;\n migration = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report([localName, remoteScope, remoteName]: [string, string, string]): Promise<string> {\n const { beforeTrackData, afterTrackData } = await this.lanes.trackLane(localName, remoteScope, remoteName);\n const remoteScopeChanges =\n afterTrackData.remoteScope === beforeTrackData?.remoteScope\n ? `the remote-scope has not been changed`\n : `the remote-scope has been changed from ${chalk.bold(\n beforeTrackData?.remoteScope || '<n/a>'\n )} to ${chalk.bold(afterTrackData.remoteScope)}`;\n const remoteNameChanges =\n afterTrackData.remoteLane === beforeTrackData?.remoteLane\n ? `the remote-name has not been changed`\n : `the remote-name has been changed from ${chalk.bold(beforeTrackData?.remoteLane || '<n/a>')} to ${chalk.bold(\n afterTrackData.remoteLane\n )}`;\n\n return `${remoteScopeChanges}\\n${remoteNameChanges}`;\n }\n}\n\nexport class LaneMergeCmd implements Command {\n name = 'merge <lane>';\n description = `merge a local or a remote lane`;\n alias = '';\n options = [\n ['', 'remote <name>', 'remote scope name'],\n ['', 'ours', 'in case of a conflict, override the used version with the current modification'],\n ['', 'theirs', 'in case of a conflict, override the current modification with the specified version'],\n ['', 'manual', 'in case of a conflict, leave the files with a conflict state to resolve them manually later'],\n ['', 'existing', 'checkout only components in a lane that exist in the workspace'],\n ['', 'no-snap', 'do not auto snap in case the merge completed without conflicts'],\n ['', 'build', 'in case of snap during the merge, run the build-pipeline (similar to bit snap --build)'],\n ['m', 'message <message>', 'override the default message for the auto snap'],\n ['', 'keep-readme', 'skip deleting the lane readme component after merging'],\n ] as CommandOptions;\n loader = true;\n private = true;\n migration = true;\n remoteOp = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report(\n [name]: [string],\n {\n ours = false,\n theirs = false,\n manual = false,\n remote: remoteName,\n build,\n existing: existingOnWorkspaceOnly = false,\n noSnap = false,\n message: snapMessage = '',\n keepReadme = false,\n }: {\n ours: boolean;\n theirs: boolean;\n manual: boolean;\n remote?: string;\n existing?: boolean;\n build?: boolean;\n noSnap: boolean;\n message: string;\n keepReadme?: boolean;\n }\n ): Promise<string> {\n build = isFeatureEnabled(BUILD_ON_CI) ? Boolean(build) : true;\n const mergeStrategy = getMergeStrategy(ours, theirs, manual);\n if (noSnap && snapMessage) throw new BitError('unable to use \"noSnap\" and \"message\" flags together');\n\n const { mergeResults, deleteResults } = await this.lanes.mergeLane(name, {\n // @ts-ignore\n remoteName,\n build,\n // @ts-ignore\n mergeStrategy,\n existingOnWorkspaceOnly,\n noSnap,\n snapMessage,\n keepReadme,\n });\n\n const mergeResult = `${mergeReport(mergeResults)}`;\n const deleteResult = `${deleteResults.localResult ? paintRemoved(deleteResults.localResult, false) : ''}${(\n deleteResults.remoteResult || []\n ).map((item) => paintRemoved(item, true))}${\n (deleteResults.readmeResult && chalk.yellow(deleteResults.readmeResult)) || ''\n }\\n`;\n return mergeResult + deleteResult;\n }\n}\n\nexport class LaneRemoveCmd implements Command {\n name = 'remove <lane...>';\n description = `remove lanes`;\n alias = '';\n options = [\n ['r', 'remote', 'remove a remote lane (in the lane arg, use remote/lane-id syntax)'],\n [\n 'f',\n 'force',\n 'removes the component from the scope, even if used as a dependency. WARNING: components that depend on this component will corrupt',\n ],\n ['s', 'silent', 'skip confirmation'],\n ] as CommandOptions;\n loader = true;\n private = true;\n migration = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report(\n [names]: [string[]],\n {\n remote = false,\n force = false,\n silent = false,\n }: {\n remote: boolean;\n force: boolean;\n silent: boolean;\n }\n ): Promise<string> {\n if (!silent) {\n const removePromptResult = await removePrompt();\n // @ts-ignore\n if (!yn(removePromptResult.shouldRemove)) {\n throw new BitError('the operation has been canceled');\n }\n }\n const laneResults = await this.lanes.removeLanes(names, { remote, force });\n return chalk.green(`successfully removed the following lane(s): ${chalk.bold(laneResults.join(', '))}`);\n }\n}\n\nexport class LaneImportCmd implements Command {\n name = 'import <lane>';\n description = `import a remote lane to your workspace`;\n alias = '';\n options = [\n ['', 'skip-dependency-installation', 'do not install packages of the imported components'],\n ] as CommandOptions;\n loader = true;\n private = true;\n migration = true;\n\n constructor(private switchCmd: SwitchCmd) {}\n\n async report(\n [lane]: [string],\n { skipDependencyInstallation = false }: { skipDependencyInstallation: boolean }\n ): Promise<string> {\n return this.switchCmd.report([lane], { getAll: true, skipDependencyInstallation });\n }\n}\n\nexport class LaneCmd implements Command {\n name = 'lane [name]';\n shortDescription = 'show lanes details';\n description: string;\n alias = '';\n options = [\n ['d', 'details', 'show more details on the state of each component in each lane'],\n ['j', 'json', 'show lanes details in json format'],\n ['r', 'remote <string>', 'show remote lanes'],\n ['', 'merged', 'show merged lanes'],\n ['', 'not-merged', 'show not merged lanes'],\n ] as CommandOptions;\n loader = true;\n private = true;\n migration = true;\n remoteOp = true;\n skipWorkspace = true;\n commands: Command[] = [];\n\n constructor(private lanes: LanesMain, private workspace: Workspace, private scope: ScopeMain, docsDomain: string) {\n this.description = `show lanes details\nhttps://${docsDomain}/components/lanes`;\n }\n\n async report([name]: [string], laneOptions: LaneOptions): Promise<string> {\n return new LaneListCmd(this.lanes, this.workspace, this.scope).report([name], laneOptions);\n }\n}\n\nexport class LaneRemoveReadmeCmd implements Command {\n name = 'remove-readme [laneName]';\n description = 'EXPERIMENTAL. remove lane readme component';\n options = [] as CommandOptions;\n loader = true;\n private = true;\n skipWorkspace = false;\n\n constructor(private lanes: LanesMain) {}\n\n async report([laneName]: [string]): Promise<string> {\n const { result, message } = await this.lanes.removeLaneReadme(laneName);\n\n if (result) {\n return chalk.green(\n `the readme component has been successfully removed from the lane ${laneName || this.lanes.getCurrentLane()}`\n );\n }\n\n return chalk.red(`${message}\\n`);\n }\n}\n\nexport class LaneAddReadmeCmd implements Command {\n name = 'add-readme <componentId> [laneName]';\n description = 'EXPERIMENTAL. add lane readme component';\n options = [] as CommandOptions;\n loader = true;\n private = true;\n skipWorkspace = false;\n\n constructor(private lanes: LanesMain) {}\n\n async report([componentId, laneName]: [string, string]): Promise<string> {\n const { result, message } = await this.lanes.addLaneReadme(componentId, laneName);\n\n if (result)\n return chalk.green(\n `the component ${componentId} has been successfully added as the readme component for the lane ${\n laneName || this.lanes.getCurrentLane()\n }`\n );\n\n return chalk.red(\n `${message || ''}\\nthe component ${componentId} could not be added as a readme component for the lane ${\n laneName || this.lanes.getCurrentLane()\n }`\n );\n }\n}\n\nfunction outputComponents(components: LaneData['components']): string {\n const componentsTitle = `\\t${chalk.bold(`components (${components.length})`)}\\n`;\n const componentsStr = components.map((c) => `\\t ${c.id.toString()} - ${c.head}`).join('\\n');\n return componentsTitle + componentsStr;\n}\n\nfunction outputReadmeComponent(component: LaneData['readmeComponent']): string {\n if (!component) return '';\n return `\\n\\t${`${chalk.yellow('readme component')}\\n\\t ${component.id} - ${\n component.head ||\n `(unsnapped)\\n\\t(\"use bit snap ${component.id.name}\" to snap the readme component on the lane before exporting)`\n }`}\\n`;\n}\n\nfunction outputRemoteLane(remoteLane: string | null | undefined): string {\n if (!remoteLane) return '';\n return ` - (remote lane - ${remoteLane})`;\n}\n"]}
|
1
|
+
{"version":3,"sources":["lane.cmd.ts"],"names":["LaneListCmd","constructor","lanes","workspace","scope","report","args","laneOptions","details","remote","merged","notMerged","getLanes","showDefaultLane","mergedLanes","filter","l","isMerged","length","chalk","green","map","m","name","join","unmergedLanes","currentLane","getCurrentLane","laneDataOfCurrentLane","find","undefined","currentLaneReadmeComponentStr","outputReadmeComponent","readmeComponent","currentLaneStr","remoteOfCurrentLane","currentLaneComponents","outputComponents","components","outputRemoteLane","availableLanes","laneData","readmeComponentStr","laneTitle","bold","concat","outputFooter","footer","outputCurrentLane","outputAvailableLanes","json","LaneShowCmd","onlyLane","title","LaneCreateCmd","createLaneOptions","result","createLane","remoteScopeOrDefaultScope","remoteScope","localLane","remoteScopeOutput","LaneTrackCmd","localName","remoteName","beforeTrackData","afterTrackData","trackLane","remoteScopeChanges","remoteNameChanges","remoteLane","LaneMergeCmd","ours","theirs","manual","build","existing","existingOnWorkspaceOnly","noSnap","message","snapMessage","keepReadme","BUILD_ON_CI","Boolean","mergeStrategy","BitError","mergeResults","deleteResults","mergeLane","mergeResult","deleteResult","localResult","remoteResult","item","readmeResult","yellow","LaneRemoveCmd","names","force","silent","removePromptResult","shouldRemove","laneResults","removeLanes","LaneImportCmd","switchCmd","lane","skipDependencyInstallation","getAll","LaneCmd","docsDomain","description","LaneRemoveReadmeCmd","laneName","removeLaneReadme","red","LaneAddReadmeCmd","componentId","addLaneReadme","componentsTitle","componentsStr","c","id","toString","head","component"],"mappings":"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","sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport chalk from 'chalk';\nimport yn from 'yn';\nimport { ScopeMain } from '@teambit/scope';\nimport { Workspace } from '@teambit/workspace';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { LaneData } from '@teambit/legacy/dist/scope/lanes/lanes';\nimport { getMergeStrategy } from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport { mergeReport } from '@teambit/merging';\nimport { BUILD_ON_CI, isFeatureEnabled } from '@teambit/legacy/dist/api/consumer/lib/feature-toggle';\nimport { BitError } from '@teambit/bit-error';\nimport { approveOperation } from '@teambit/legacy/dist/prompts';\nimport paintRemoved from '@teambit/legacy/dist/cli/templates/remove-template';\nimport { CreateLaneOptions, LanesMain } from './lanes.main.runtime';\nimport { SwitchCmd } from './switch.cmd';\n\ntype LaneOptions = {\n details?: boolean;\n remote?: string;\n merged?: boolean;\n notMerged?: boolean;\n json?: boolean;\n};\n\nexport class LaneListCmd implements Command {\n name = 'list';\n description = `list lanes`;\n alias = '';\n options = [\n ['d', 'details', 'show more details on the state of each component in each lane'],\n ['j', 'json', 'show lanes details in json format'],\n ['r', 'remote <string>', 'show remote lanes'],\n ['', 'merged', 'show merged lanes'],\n ['', 'not-merged', 'show not merged lanes'],\n ] as CommandOptions;\n loader = true;\n private = true;\n migration = true;\n remoteOp = true;\n skipWorkspace = true;\n\n constructor(private lanes: LanesMain, private workspace: Workspace, private scope: ScopeMain) {}\n\n async report(args, laneOptions: LaneOptions): Promise<string> {\n const { details, remote, merged, notMerged } = laneOptions;\n\n const lanes = await this.lanes.getLanes({\n remote,\n merged,\n notMerged,\n showDefaultLane: true,\n });\n if (merged) {\n const mergedLanes = lanes.filter((l) => l.isMerged);\n if (!mergedLanes.length) return chalk.green('None of the lanes is merged');\n return chalk.green(mergedLanes.map((m) => m.name).join('\\n'));\n }\n if (notMerged) {\n const unmergedLanes = lanes.filter((l) => !l.isMerged);\n if (!unmergedLanes.length) return chalk.green('All lanes are merged');\n return chalk.green(unmergedLanes.map((m) => m.name).join('\\n'));\n }\n const currentLane = this.lanes.getCurrentLane();\n const laneDataOfCurrentLane = currentLane ? lanes.find((l) => l.name === currentLane) : undefined;\n const currentLaneReadmeComponentStr = outputReadmeComponent(laneDataOfCurrentLane?.readmeComponent);\n let currentLaneStr = currentLane ? `current lane - ${chalk.green.green(currentLane as string)}` : '';\n currentLaneStr += currentLaneReadmeComponentStr;\n\n if (details) {\n const remoteOfCurrentLane = laneDataOfCurrentLane ? laneDataOfCurrentLane.remote : null;\n const currentLaneComponents = laneDataOfCurrentLane ? outputComponents(laneDataOfCurrentLane.components) : '';\n if (currentLaneStr) {\n currentLaneStr += `${outputRemoteLane(remoteOfCurrentLane)}\\n${currentLaneComponents}`;\n }\n }\n\n const availableLanes = lanes\n .filter((l) => l.name !== currentLane)\n // @ts-ignore\n .map((laneData) => {\n const readmeComponentStr = outputReadmeComponent(laneData.readmeComponent);\n if (details) {\n const laneTitle = `> ${chalk.bold(laneData.name)}${outputRemoteLane(laneData.remote)}\\n`;\n const components = outputComponents(laneData.components);\n return laneTitle + readmeComponentStr.concat('\\n') + components;\n }\n return ` > ${chalk.green(laneData.name)} (${laneData.components.length} components)${readmeComponentStr}`;\n })\n .join('\\n');\n\n const outputFooter = () => {\n let footer = '\\n';\n if (details) {\n footer += 'You can use --merged and --not-merged to see which of the lanes is fully merged.';\n } else {\n footer +=\n \"to get more info on all lanes in workspace use 'bit lane list --details' or 'bit lane show <lane-name>' for a specific lane.\";\n }\n if (!remote && this.workspace) footer += `\\nswitch lanes using 'bit switch <name>'.`;\n\n return footer;\n };\n\n return outputCurrentLane() + outputAvailableLanes() + outputFooter();\n\n function outputCurrentLane() {\n return currentLaneStr ? `${currentLaneStr}\\n` : '';\n }\n\n function outputAvailableLanes() {\n if (!availableLanes) return '';\n return remote ? `${availableLanes}\\n` : `\\nAvailable lanes:\\n${availableLanes}\\n`;\n }\n }\n async json(args, laneOptions: LaneOptions) {\n const { remote, merged = false, notMerged = false } = laneOptions;\n\n const lanes = await this.lanes.getLanes({\n remote,\n showDefaultLane: true,\n merged,\n notMerged,\n });\n const currentLane = this.lanes.getCurrentLane();\n return { lanes, currentLane };\n }\n}\n\nexport class LaneShowCmd implements Command {\n name = 'show <name>';\n description = `show lane details`;\n alias = '';\n options = [\n ['j', 'json', 'show the lane details in json format'],\n ['r', 'remote <string>', 'show remote lanes'],\n ] as CommandOptions;\n loader = true;\n private = true;\n migration = true;\n remoteOp = true;\n skipWorkspace = true;\n\n constructor(private lanes: LanesMain, private workspace: Workspace, private scope: ScopeMain) {}\n\n async report([name]: [string], laneOptions: LaneOptions): Promise<string> {\n const { remote } = laneOptions;\n\n const lanes = await this.lanes.getLanes({\n name,\n remote,\n });\n\n const onlyLane = lanes[0];\n const title = `showing information for ${chalk.bold(name)}${outputRemoteLane(onlyLane.remote)}\\n`;\n return title + outputComponents(onlyLane.components);\n }\n\n async json([name]: [string], laneOptions: LaneOptions) {\n const { remote } = laneOptions;\n\n const lanes = await this.lanes.getLanes({\n name,\n remote,\n });\n return lanes[0];\n }\n}\n\nexport class LaneCreateCmd implements Command {\n name = 'create <name>';\n description = `create and switch to a new lane`;\n alias = '';\n options = [\n [\n '',\n 'remote-scope <string>',\n 'remote scope where this lane will be exported to (can be changed later with \"bit lane track\")',\n ],\n [\n '',\n 'remote-name <string>',\n 'lane name on the remote, default to the local name (can be changed later with \"bit lane track\")',\n ],\n ] as CommandOptions;\n loader = true;\n private = true;\n migration = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report([name]: [string], createLaneOptions: CreateLaneOptions): Promise<string> {\n const result = await this.lanes.createLane(name, createLaneOptions);\n const remoteScopeOrDefaultScope = createLaneOptions.remoteScope\n ? `the remote scope ${chalk.bold(createLaneOptions.remoteScope)}`\n : `the default-scope ${chalk.bold(result.remoteScope)}. to change it, please run \"bit lane track\" command`;\n const title = chalk.green(`successfully added and checked out to a new lane ${chalk.bold(result.localLane)}`);\n const remoteScopeOutput = `this lane will be exported to ${remoteScopeOrDefaultScope}`;\n return `${title}\\n${remoteScopeOutput}`;\n }\n}\n\nexport class LaneTrackCmd implements Command {\n name = 'track <local-name> <remote-scope> [remote-name]';\n description = `change the remote scope or remote lane of the local lane`;\n alias = '';\n options = [] as CommandOptions;\n loader = true;\n private = true;\n migration = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report([localName, remoteScope, remoteName]: [string, string, string]): Promise<string> {\n const { beforeTrackData, afterTrackData } = await this.lanes.trackLane(localName, remoteScope, remoteName);\n const remoteScopeChanges =\n afterTrackData.remoteScope === beforeTrackData?.remoteScope\n ? `the remote-scope has not been changed`\n : `the remote-scope has been changed from ${chalk.bold(\n beforeTrackData?.remoteScope || '<n/a>'\n )} to ${chalk.bold(afterTrackData.remoteScope)}`;\n const remoteNameChanges =\n afterTrackData.remoteLane === beforeTrackData?.remoteLane\n ? `the remote-name has not been changed`\n : `the remote-name has been changed from ${chalk.bold(beforeTrackData?.remoteLane || '<n/a>')} to ${chalk.bold(\n afterTrackData.remoteLane\n )}`;\n\n return `${remoteScopeChanges}\\n${remoteNameChanges}`;\n }\n}\n\nexport class LaneMergeCmd implements Command {\n name = 'merge <lane>';\n description = `merge a local or a remote lane`;\n alias = '';\n options = [\n ['', 'remote <name>', 'remote scope name'],\n ['', 'ours', 'in case of a conflict, override the used version with the current modification'],\n ['', 'theirs', 'in case of a conflict, override the current modification with the specified version'],\n ['', 'manual', 'in case of a conflict, leave the files with a conflict state to resolve them manually later'],\n ['', 'existing', 'checkout only components in a lane that exist in the workspace'],\n ['', 'no-snap', 'do not auto snap in case the merge completed without conflicts'],\n ['', 'build', 'in case of snap during the merge, run the build-pipeline (similar to bit snap --build)'],\n ['m', 'message <message>', 'override the default message for the auto snap'],\n ['', 'keep-readme', 'skip deleting the lane readme component after merging'],\n ] as CommandOptions;\n loader = true;\n private = true;\n migration = true;\n remoteOp = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report(\n [name]: [string],\n {\n ours = false,\n theirs = false,\n manual = false,\n remote: remoteName,\n build,\n existing: existingOnWorkspaceOnly = false,\n noSnap = false,\n message: snapMessage = '',\n keepReadme = false,\n }: {\n ours: boolean;\n theirs: boolean;\n manual: boolean;\n remote?: string;\n existing?: boolean;\n build?: boolean;\n noSnap: boolean;\n message: string;\n keepReadme?: boolean;\n }\n ): Promise<string> {\n build = isFeatureEnabled(BUILD_ON_CI) ? Boolean(build) : true;\n const mergeStrategy = getMergeStrategy(ours, theirs, manual);\n if (noSnap && snapMessage) throw new BitError('unable to use \"noSnap\" and \"message\" flags together');\n\n const { mergeResults, deleteResults } = await this.lanes.mergeLane(name, {\n // @ts-ignore\n remoteName,\n build,\n // @ts-ignore\n mergeStrategy,\n existingOnWorkspaceOnly,\n noSnap,\n snapMessage,\n keepReadme,\n });\n\n const mergeResult = `${mergeReport(mergeResults)}`;\n const deleteResult = `${deleteResults.localResult ? paintRemoved(deleteResults.localResult, false) : ''}${(\n deleteResults.remoteResult || []\n ).map((item) => paintRemoved(item, true))}${\n (deleteResults.readmeResult && chalk.yellow(deleteResults.readmeResult)) || ''\n }\\n`;\n return mergeResult + deleteResult;\n }\n}\n\nexport class LaneRemoveCmd implements Command {\n name = 'remove <lane...>';\n description = `remove lanes`;\n alias = '';\n options = [\n ['r', 'remote', 'remove a remote lane (in the lane arg, use remote/lane-id syntax)'],\n [\n 'f',\n 'force',\n 'removes the component from the scope, even if used as a dependency. WARNING: components that depend on this component will corrupt',\n ],\n ['s', 'silent', 'skip confirmation'],\n ] as CommandOptions;\n loader = true;\n private = true;\n migration = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report(\n [names]: [string[]],\n {\n remote = false,\n force = false,\n silent = false,\n }: {\n remote: boolean;\n force: boolean;\n silent: boolean;\n }\n ): Promise<string> {\n if (!silent) {\n const removePromptResult = await approveOperation();\n // @ts-ignore\n if (!yn(removePromptResult.shouldRemove)) {\n throw new BitError('the operation has been canceled');\n }\n }\n const laneResults = await this.lanes.removeLanes(names, { remote, force });\n return chalk.green(`successfully removed the following lane(s): ${chalk.bold(laneResults.join(', '))}`);\n }\n}\n\nexport class LaneImportCmd implements Command {\n name = 'import <lane>';\n description = `import a remote lane to your workspace`;\n alias = '';\n options = [\n ['', 'skip-dependency-installation', 'do not install packages of the imported components'],\n ] as CommandOptions;\n loader = true;\n private = true;\n migration = true;\n\n constructor(private switchCmd: SwitchCmd) {}\n\n async report(\n [lane]: [string],\n { skipDependencyInstallation = false }: { skipDependencyInstallation: boolean }\n ): Promise<string> {\n return this.switchCmd.report([lane], { getAll: true, skipDependencyInstallation });\n }\n}\n\nexport class LaneCmd implements Command {\n name = 'lane [name]';\n shortDescription = 'show lanes details';\n description: string;\n alias = '';\n options = [\n ['d', 'details', 'show more details on the state of each component in each lane'],\n ['j', 'json', 'show lanes details in json format'],\n ['r', 'remote <string>', 'show remote lanes'],\n ['', 'merged', 'show merged lanes'],\n ['', 'not-merged', 'show not merged lanes'],\n ] as CommandOptions;\n loader = true;\n private = true;\n migration = true;\n remoteOp = true;\n skipWorkspace = true;\n commands: Command[] = [];\n\n constructor(private lanes: LanesMain, private workspace: Workspace, private scope: ScopeMain, docsDomain: string) {\n this.description = `show lanes details\nhttps://${docsDomain}/components/lanes`;\n }\n\n async report([name]: [string], laneOptions: LaneOptions): Promise<string> {\n return new LaneListCmd(this.lanes, this.workspace, this.scope).report([name], laneOptions);\n }\n}\n\nexport class LaneRemoveReadmeCmd implements Command {\n name = 'remove-readme [laneName]';\n description = 'EXPERIMENTAL. remove lane readme component';\n options = [] as CommandOptions;\n loader = true;\n private = true;\n skipWorkspace = false;\n\n constructor(private lanes: LanesMain) {}\n\n async report([laneName]: [string]): Promise<string> {\n const { result, message } = await this.lanes.removeLaneReadme(laneName);\n\n if (result) {\n return chalk.green(\n `the readme component has been successfully removed from the lane ${laneName || this.lanes.getCurrentLane()}`\n );\n }\n\n return chalk.red(`${message}\\n`);\n }\n}\n\nexport class LaneAddReadmeCmd implements Command {\n name = 'add-readme <componentId> [laneName]';\n description = 'EXPERIMENTAL. add lane readme component';\n options = [] as CommandOptions;\n loader = true;\n private = true;\n skipWorkspace = false;\n\n constructor(private lanes: LanesMain) {}\n\n async report([componentId, laneName]: [string, string]): Promise<string> {\n const { result, message } = await this.lanes.addLaneReadme(componentId, laneName);\n\n if (result)\n return chalk.green(\n `the component ${componentId} has been successfully added as the readme component for the lane ${\n laneName || this.lanes.getCurrentLane()\n }`\n );\n\n return chalk.red(\n `${message || ''}\\nthe component ${componentId} could not be added as a readme component for the lane ${\n laneName || this.lanes.getCurrentLane()\n }`\n );\n }\n}\n\nfunction outputComponents(components: LaneData['components']): string {\n const componentsTitle = `\\t${chalk.bold(`components (${components.length})`)}\\n`;\n const componentsStr = components.map((c) => `\\t ${c.id.toString()} - ${c.head}`).join('\\n');\n return componentsTitle + componentsStr;\n}\n\nfunction outputReadmeComponent(component: LaneData['readmeComponent']): string {\n if (!component) return '';\n return `\\n\\t${`${chalk.yellow('readme component')}\\n\\t ${component.id} - ${\n component.head ||\n `(unsnapped)\\n\\t(\"use bit snap ${component.id.name}\" to snap the readme component on the lane before exporting)`\n }`}\\n`;\n}\n\nfunction outputRemoteLane(remoteLane: string | null | undefined): string {\n if (!remoteLane) return '';\n return ` - (remote lane - ${remoteLane})`;\n}\n"]}
|
@@ -3,6 +3,7 @@ import { ScopeMain } from '@teambit/scope';
|
|
3
3
|
import { GraphqlMain } from '@teambit/graphql';
|
4
4
|
import { Workspace } from '@teambit/workspace';
|
5
5
|
import { LaneData } from '@teambit/legacy/dist/scope/lanes/lanes';
|
6
|
+
import { Logger, LoggerMain } from '@teambit/logger';
|
6
7
|
import { DiffOptions } from '@teambit/legacy/dist/consumer/component-ops/components-diff';
|
7
8
|
import { MergeStrategy, ApplyVersionResults } from '@teambit/legacy/dist/consumer/versions-ops/merge-version';
|
8
9
|
import { TrackLane } from '@teambit/legacy/dist/scope/scope-json';
|
@@ -26,12 +27,21 @@ export declare type CreateLaneOptions = {
|
|
26
27
|
remoteScope?: string;
|
27
28
|
remoteName?: string;
|
28
29
|
};
|
30
|
+
export declare type SwitchLaneOptions = {
|
31
|
+
newLaneName?: string;
|
32
|
+
merge?: MergeStrategy;
|
33
|
+
getAll?: boolean;
|
34
|
+
skipDependencyInstallation?: boolean;
|
35
|
+
verbose?: boolean;
|
36
|
+
override?: boolean;
|
37
|
+
};
|
29
38
|
export declare class LanesMain {
|
30
39
|
private workspace;
|
31
40
|
private scope;
|
32
41
|
private merging;
|
33
42
|
private componentAspect;
|
34
|
-
|
43
|
+
private logger;
|
44
|
+
constructor(workspace: Workspace | undefined, scope: ScopeMain, merging: MergingMain, componentAspect: ComponentMain, logger: Logger);
|
35
45
|
getLanes({ name, remote, merged, showDefaultLane, notMerged, }: {
|
36
46
|
name?: string;
|
37
47
|
remote?: string;
|
@@ -53,6 +63,13 @@ export declare class LanesMain {
|
|
53
63
|
mergeResults: ApplyVersionResults;
|
54
64
|
deleteResults: any;
|
55
65
|
}>;
|
66
|
+
/**
|
67
|
+
* switch to a different local or remote lane.
|
68
|
+
* switching to a remote lane also imports and writes the components of that remote lane.
|
69
|
+
* by default, only the components existing on the workspace will be imported from that lane, unless the "getAll"
|
70
|
+
* flag is true.
|
71
|
+
*/
|
72
|
+
switchLanes(laneName: string, { newLaneName, merge, getAll, skipDependencyInstallation }: SwitchLaneOptions): Promise<ApplyVersionResults>;
|
56
73
|
/**
|
57
74
|
* the values array may include zero to two values and will be processed as following:
|
58
75
|
* [] => diff between the current lane and default lane. (only inside workspace).
|
@@ -79,14 +96,15 @@ export declare class LanesMain {
|
|
79
96
|
static slots: never[];
|
80
97
|
static dependencies: import("@teambit/harmony").Aspect[];
|
81
98
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
82
|
-
static provider([cli, scope, workspace, graphql, community, merging, component]: [
|
99
|
+
static provider([cli, scope, workspace, graphql, community, merging, component, loggerMain]: [
|
83
100
|
CLIMain,
|
84
101
|
ScopeMain,
|
85
102
|
Workspace,
|
86
103
|
GraphqlMain,
|
87
104
|
CommunityMain,
|
88
105
|
MergingMain,
|
89
|
-
ComponentMain
|
106
|
+
ComponentMain,
|
107
|
+
LoggerMain
|
90
108
|
]): Promise<LanesMain>;
|
91
109
|
}
|
92
110
|
export default LanesMain;
|
@@ -121,6 +121,26 @@ function _constants() {
|
|
121
121
|
return data;
|
122
122
|
}
|
123
123
|
|
124
|
+
function _logger() {
|
125
|
+
const data = require("@teambit/logger");
|
126
|
+
|
127
|
+
_logger = function () {
|
128
|
+
return data;
|
129
|
+
};
|
130
|
+
|
131
|
+
return data;
|
132
|
+
}
|
133
|
+
|
134
|
+
function _mergeVersion() {
|
135
|
+
const data = require("@teambit/legacy/dist/consumer/versions-ops/merge-version");
|
136
|
+
|
137
|
+
_mergeVersion = function () {
|
138
|
+
return data;
|
139
|
+
};
|
140
|
+
|
141
|
+
return data;
|
142
|
+
}
|
143
|
+
|
124
144
|
function _community() {
|
125
145
|
const data = require("@teambit/community");
|
126
146
|
|
@@ -211,16 +231,27 @@ function _mergeLanes() {
|
|
211
231
|
return data;
|
212
232
|
}
|
213
233
|
|
234
|
+
function _switchLanes() {
|
235
|
+
const data = require("./switch-lanes");
|
236
|
+
|
237
|
+
_switchLanes = function () {
|
238
|
+
return data;
|
239
|
+
};
|
240
|
+
|
241
|
+
return data;
|
242
|
+
}
|
243
|
+
|
214
244
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
215
245
|
|
216
246
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
217
247
|
|
218
248
|
class LanesMain {
|
219
|
-
constructor(workspace, scope, merging, componentAspect) {
|
249
|
+
constructor(workspace, scope, merging, componentAspect, logger) {
|
220
250
|
this.workspace = workspace;
|
221
251
|
this.scope = scope;
|
222
252
|
this.merging = merging;
|
223
253
|
this.componentAspect = componentAspect;
|
254
|
+
this.logger = logger;
|
224
255
|
}
|
225
256
|
|
226
257
|
async getLanes({
|
@@ -334,6 +365,58 @@ class LanesMain {
|
|
334
365
|
this.workspace.consumer.bitMap.syncWithLanes(this.workspace.consumer.bitMap.workspaceLane);
|
335
366
|
return results;
|
336
367
|
}
|
368
|
+
/**
|
369
|
+
* switch to a different local or remote lane.
|
370
|
+
* switching to a remote lane also imports and writes the components of that remote lane.
|
371
|
+
* by default, only the components existing on the workspace will be imported from that lane, unless the "getAll"
|
372
|
+
* flag is true.
|
373
|
+
*/
|
374
|
+
|
375
|
+
|
376
|
+
async switchLanes(laneName, {
|
377
|
+
newLaneName,
|
378
|
+
merge,
|
379
|
+
getAll = false,
|
380
|
+
skipDependencyInstallation = false
|
381
|
+
}) {
|
382
|
+
if (!this.workspace) {
|
383
|
+
throw new (_bitError().BitError)(`unable to switch lanes outside of Bit workspace`);
|
384
|
+
}
|
385
|
+
|
386
|
+
let mergeStrategy;
|
387
|
+
|
388
|
+
if (merge && typeof merge === 'string') {
|
389
|
+
const mergeOptions = Object.keys(_mergeVersion().MergeOptions);
|
390
|
+
|
391
|
+
if (!mergeOptions.includes(merge)) {
|
392
|
+
throw new (_bitError().BitError)(`merge must be one of the following: ${mergeOptions.join(', ')}`);
|
393
|
+
}
|
394
|
+
|
395
|
+
mergeStrategy = merge;
|
396
|
+
}
|
397
|
+
|
398
|
+
const switchProps = {
|
399
|
+
laneName,
|
400
|
+
existingOnWorkspaceOnly: !getAll,
|
401
|
+
newLaneName
|
402
|
+
};
|
403
|
+
const checkoutProps = {
|
404
|
+
mergeStrategy,
|
405
|
+
skipNpmInstall: skipDependencyInstallation,
|
406
|
+
verbose: false,
|
407
|
+
// not relevant in Harmony
|
408
|
+
ignorePackageJson: true,
|
409
|
+
// not relevant in Harmony
|
410
|
+
ignoreDist: true,
|
411
|
+
// not relevant in Harmony
|
412
|
+
isLane: true,
|
413
|
+
promptMergeOptions: false,
|
414
|
+
writeConfig: false,
|
415
|
+
reset: false,
|
416
|
+
all: false
|
417
|
+
};
|
418
|
+
return new (_switchLanes().LaneSwitcher)(this.workspace, this.logger, switchProps, checkoutProps).switch();
|
419
|
+
}
|
337
420
|
/**
|
338
421
|
* the values array may include zero to two values and will be processed as following:
|
339
422
|
* [] => diff between the current lane and default lane. (only inside workspace).
|
@@ -488,10 +571,11 @@ class LanesMain {
|
|
488
571
|
};
|
489
572
|
}
|
490
573
|
|
491
|
-
static async provider([cli, scope, workspace, graphql, community, merging, component]) {
|
492
|
-
const
|
574
|
+
static async provider([cli, scope, workspace, graphql, community, merging, component, loggerMain]) {
|
575
|
+
const logger = loggerMain.createLogger(_lanes().LanesAspect.id);
|
576
|
+
const lanesMain = new LanesMain(workspace, scope, merging, component, logger);
|
493
577
|
const isLegacy = workspace && workspace.consumer.isLegacy;
|
494
|
-
const switchCmd = new (_switch().SwitchCmd)();
|
578
|
+
const switchCmd = new (_switch().SwitchCmd)(lanesMain);
|
495
579
|
|
496
580
|
if (!isLegacy) {
|
497
581
|
const laneCmd = new (_lane().LaneCmd)(lanesMain, workspace, scope, community.getDocsDomain());
|
@@ -507,7 +591,7 @@ class LanesMain {
|
|
507
591
|
|
508
592
|
exports.LanesMain = LanesMain;
|
509
593
|
(0, _defineProperty2().default)(LanesMain, "slots", []);
|
510
|
-
(0, _defineProperty2().default)(LanesMain, "dependencies", [_cli().CLIAspect, _scope().ScopeAspect, _workspace().WorkspaceAspect, _graphql().GraphqlAspect, _community().CommunityAspect, _merging().MergingAspect, _component().default]);
|
594
|
+
(0, _defineProperty2().default)(LanesMain, "dependencies", [_cli().CLIAspect, _scope().ScopeAspect, _workspace().WorkspaceAspect, _graphql().GraphqlAspect, _community().CommunityAspect, _merging().MergingAspect, _component().default, _logger().LoggerAspect]);
|
511
595
|
(0, _defineProperty2().default)(LanesMain, "runtime", _cli().MainRuntime);
|
512
596
|
|
513
597
|
_lanes().LanesAspect.addRuntime(LanesMain);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["lanes.main.runtime.ts"],"names":["LanesMain","constructor","workspace","scope","merging","componentAspect","getLanes","name","remote","merged","showDefaultLane","notMerged","showMergeData","Boolean","consumer","remoteObj","lanes","listLanes","DEFAULT_LANE","defaultLane","getLaneDataOfDefaultLane","legacyScope","getLanesData","push","getCurrentLane","getCurrentLaneName","createLane","remoteScope","remoteName","BitError","setCurrentLane","trackLaneData","localLane","remoteLane","defaultScope","trackLane","onDestroy","localName","lane","loadLane","LaneId","from","beforeTrackData","getRemoteTrackedDataByLocalLane","beforeTrackDataCloned","undefined","afterTrackData","removeLanes","laneNames","force","results","laneResults","mergeLane","laneName","options","bitMap","syncWithLanes","workspaceLane","getDiff","values","diffOptions","laneDiffGenerator","LaneDiffGenerator","generate","getLaneComponentModels","laneComponents","components","host","getHost","laneComponentIds","Promise","all","map","laneComponent","legacyIdWithVersion","id","changeVersion","head","resolveComponentId","getMany","getLaneReadmeComponent","laneReadmeComponent","readmeComponent","laneReadmeComponentId","get","removeLaneReadme","currentLaneName","result","message","laneId","readmeComponentId","existingLaneConfig","getSpecificComponentConfig","LanesAspect","remoteLaneIdStr","remoteLaneId","toString","readme","removeSpecificComponentConfig","addSpecificComponentConfig","setReadmeComponent","saveLane","write","addLaneReadme","readmeComponentIdStr","readmeComponentBitId","_legacy","bitIds","scopeComponents","list","filter","component","getAuthoredAndImportedBitIdsOfDefaultLane","bitId","version","isMerged","provider","cli","graphql","community","lanesMain","isLegacy","switchCmd","SwitchCmd","laneCmd","LaneCmd","getDocsDomain","commands","LaneListCmd","LaneShowCmd","LaneCreateCmd","LaneMergeCmd","LaneRemoveCmd","LaneTrackCmd","LaneDiffCmd","LaneAddReadmeCmd","LaneRemoveReadmeCmd","LaneImportCmd","register","CLIAspect","ScopeAspect","WorkspaceAspect","GraphqlAspect","CommunityAspect","MergingAspect","ComponentAspect","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 from '@teambit/legacy/dist/lane-id/lane-id';\nimport { BitError } from '@teambit/bit-error';\nimport createNewLane from '@teambit/legacy/dist/consumer/lanes/create-lane';\nimport { DEFAULT_LANE } from '@teambit/legacy/dist/constants';\nimport { DiffOptions } from '@teambit/legacy/dist/consumer/component-ops/components-diff';\nimport { MergeStrategy, ApplyVersionResults } 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 { Lane } from '@teambit/legacy/dist/scope/models';\nimport { Scope as LegacyScope } from '@teambit/legacy/dist/scope';\nimport { BitId } from '@teambit/legacy-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 LaneTrackCmd,\n LaneAddReadmeCmd,\n LaneRemoveReadmeCmd,\n} from './lane.cmd';\nimport { lanesSchema } from './lanes.graphql';\nimport { SwitchCmd } from './switch.cmd';\nimport { mergeLanes } from './merge-lanes';\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 remoteName?: string; // default to the local lane\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 ) {}\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 async createLane(name: string, { remoteScope, remoteName }: CreateLaneOptions = {}): Promise<TrackLane> {\n if (!this.workspace) {\n throw new BitError(`unable to create a lane outside of Bit workspace`);\n }\n await createNewLane(this.workspace.consumer, name);\n this.scope.legacyScope.lanes.setCurrentLane(name);\n const trackLaneData = {\n localLane: name,\n remoteLane: remoteName || name,\n remoteScope: remoteScope || this.workspace.defaultScope,\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 lane = await this.scope.legacyScope.lanes.loadLane(LaneId.from(localName));\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 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 * 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 laneId: LaneId = (laneName && LaneId.from(laneName)) || LaneId.from(currentLaneName as string);\n const scope: LegacyScope = this.workspace.scope.legacyScope;\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.remoteLaneId || LaneId.from(laneId.name, lane.scope)).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 currentLaneName = this.getCurrentLane();\n\n const readmeComponentBitId = readmeComponentId._legacy;\n\n const laneId: LaneId = (laneName && LaneId.from(laneName)) || LaneId.from(currentLaneName as string);\n const scope: LegacyScope = this.workspace.scope.legacyScope;\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.remoteLaneId || LaneId.from(laneId.name, lane.scope)).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 ];\n static runtime = MainRuntime;\n static async provider([cli, scope, workspace, graphql, community, merging, component]: [\n CLIMain,\n ScopeMain,\n Workspace,\n GraphqlMain,\n CommunityMain,\n MergingMain,\n ComponentMain\n ]) {\n const lanesMain = new LanesMain(workspace, scope, merging, component);\n const isLegacy = workspace && workspace.consumer.isLegacy;\n const switchCmd = new SwitchCmd();\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 LaneTrackCmd(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","createLane","remoteScope","remoteName","BitError","setCurrentLane","trackLaneData","localLane","remoteLane","defaultScope","trackLane","onDestroy","localName","lane","loadLane","LaneId","from","beforeTrackData","getRemoteTrackedDataByLocalLane","beforeTrackDataCloned","undefined","afterTrackData","removeLanes","laneNames","force","results","laneResults","mergeLane","laneName","options","bitMap","syncWithLanes","workspaceLane","switchLanes","newLaneName","merge","getAll","skipDependencyInstallation","mergeStrategy","mergeOptions","Object","keys","MergeOptions","includes","join","switchProps","existingOnWorkspaceOnly","checkoutProps","skipNpmInstall","verbose","ignorePackageJson","ignoreDist","isLane","promptMergeOptions","writeConfig","reset","all","LaneSwitcher","switch","getDiff","values","diffOptions","laneDiffGenerator","LaneDiffGenerator","generate","getLaneComponentModels","laneComponents","components","host","getHost","laneComponentIds","Promise","map","laneComponent","legacyIdWithVersion","id","changeVersion","head","resolveComponentId","getMany","getLaneReadmeComponent","laneReadmeComponent","readmeComponent","laneReadmeComponentId","get","removeLaneReadme","currentLaneName","result","message","laneId","readmeComponentId","existingLaneConfig","getSpecificComponentConfig","LanesAspect","remoteLaneIdStr","remoteLaneId","toString","readme","removeSpecificComponentConfig","addSpecificComponentConfig","setReadmeComponent","saveLane","write","addLaneReadme","readmeComponentIdStr","readmeComponentBitId","_legacy","bitIds","scopeComponents","list","filter","component","getAuthoredAndImportedBitIdsOfDefaultLane","bitId","version","isMerged","provider","cli","graphql","community","loggerMain","createLogger","lanesMain","isLegacy","switchCmd","SwitchCmd","laneCmd","LaneCmd","getDocsDomain","commands","LaneListCmd","LaneShowCmd","LaneCreateCmd","LaneMergeCmd","LaneRemoveCmd","LaneTrackCmd","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 from '@teambit/legacy/dist/lane-id/lane-id';\nimport { BitError } from '@teambit/bit-error';\nimport createNewLane from '@teambit/legacy/dist/consumer/lanes/create-lane';\nimport { DEFAULT_LANE } from '@teambit/legacy/dist/constants';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { DiffOptions } from '@teambit/legacy/dist/consumer/component-ops/components-diff';\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 { Lane } from '@teambit/legacy/dist/scope/models';\nimport { Scope as LegacyScope } from '@teambit/legacy/dist/scope';\nimport { BitId } from '@teambit/legacy-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 LaneTrackCmd,\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';\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 remoteName?: string; // default to the local lane\n};\n\nexport type SwitchLaneOptions = {\n newLaneName?: 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 async createLane(name: string, { remoteScope, remoteName }: CreateLaneOptions = {}): Promise<TrackLane> {\n if (!this.workspace) {\n throw new BitError(`unable to create a lane outside of Bit workspace`);\n }\n await createNewLane(this.workspace.consumer, name);\n this.scope.legacyScope.lanes.setCurrentLane(name);\n const trackLaneData = {\n localLane: name,\n remoteLane: remoteName || name,\n remoteScope: remoteScope || this.workspace.defaultScope,\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 lane = await this.scope.legacyScope.lanes.loadLane(LaneId.from(localName));\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 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 { newLaneName, 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\n const switchProps = {\n laneName,\n existingOnWorkspaceOnly: !getAll,\n newLaneName,\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 laneId: LaneId = (laneName && LaneId.from(laneName)) || LaneId.from(currentLaneName as string);\n const scope: LegacyScope = this.workspace.scope.legacyScope;\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.remoteLaneId || LaneId.from(laneId.name, lane.scope)).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 currentLaneName = this.getCurrentLane();\n\n const readmeComponentBitId = readmeComponentId._legacy;\n\n const laneId: LaneId = (laneName && LaneId.from(laneName)) || LaneId.from(currentLaneName as string);\n const scope: LegacyScope = this.workspace.scope.legacyScope;\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.remoteLaneId || LaneId.from(laneId.name, lane.scope)).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 LaneTrackCmd(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"]}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import { BitId } from '@teambit/legacy-bit-id';
|
2
|
+
import { LaneComponent } from '@teambit/legacy/dist/scope/models/lane';
|
3
|
+
import { CheckoutProps } from '@teambit/legacy/dist/consumer/versions-ops/checkout-version';
|
4
|
+
import { ApplyVersionResults } from '@teambit/legacy/dist/consumer/versions-ops/merge-version';
|
5
|
+
import { Workspace } from '@teambit/workspace';
|
6
|
+
import { Logger } from '@teambit/logger';
|
7
|
+
export declare type SwitchProps = {
|
8
|
+
laneName: string;
|
9
|
+
remoteScope?: string;
|
10
|
+
ids?: BitId[];
|
11
|
+
existingOnWorkspaceOnly: boolean;
|
12
|
+
localLaneName?: string;
|
13
|
+
remoteLaneScope?: string;
|
14
|
+
remoteLaneName?: string;
|
15
|
+
remoteLaneComponents?: LaneComponent[];
|
16
|
+
localTrackedLane?: string;
|
17
|
+
newLaneName?: string;
|
18
|
+
};
|
19
|
+
export declare class LaneSwitcher {
|
20
|
+
private workspace;
|
21
|
+
private logger;
|
22
|
+
private switchProps;
|
23
|
+
private checkoutProps;
|
24
|
+
private consumer;
|
25
|
+
constructor(workspace: Workspace, logger: Logger, switchProps: SwitchProps, checkoutProps: CheckoutProps);
|
26
|
+
switch(): Promise<ApplyVersionResults>;
|
27
|
+
private populateSwitchProps;
|
28
|
+
private populatePropsAccordingToRemoteLane;
|
29
|
+
private populatePropsAccordingToLocalLane;
|
30
|
+
private getAllComponentsStatus;
|
31
|
+
private saveLanesData;
|
32
|
+
}
|