@teambit/lanes 0.0.257 → 0.0.260
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 +4 -4
- package/dist/lane.cmd.js.map +1 -1
- package/dist/lanes.main.runtime.d.ts +6 -3
- package/dist/lanes.main.runtime.js +26 -14
- package/dist/lanes.main.runtime.js.map +1 -1
- package/dist/merge-lanes.d.ts +14 -0
- package/dist/merge-lanes.js +132 -0
- package/dist/merge-lanes.js.map +1 -0
- package/dist/switch.cmd.js +2 -12
- package/dist/switch.cmd.js.map +1 -1
- package/package-tar/teambit-lanes-0.0.260.tgz +0 -0
- package/package.json +16 -14
- package/{preview-1648006106088.js → preview-1648142274038.js} +1 -1
- package/package-tar/teambit-lanes-0.0.257.tgz +0 -0
package/dist/lane.cmd.js
CHANGED
@@ -53,10 +53,10 @@ function _mergeVersion() {
|
|
53
53
|
return data;
|
54
54
|
}
|
55
55
|
|
56
|
-
function
|
57
|
-
const data = require("@teambit/
|
56
|
+
function _merging() {
|
57
|
+
const data = require("@teambit/merging");
|
58
58
|
|
59
|
-
|
59
|
+
_merging = function () {
|
60
60
|
return data;
|
61
61
|
};
|
62
62
|
|
@@ -340,7 +340,7 @@ class LaneMergeCmd {
|
|
340
340
|
noSnap,
|
341
341
|
snapMessage
|
342
342
|
});
|
343
|
-
return (0,
|
343
|
+
return (0, _merging().mergeReport)(results);
|
344
344
|
}
|
345
345
|
|
346
346
|
}
|
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","currentLaneStr","bold","laneDataOfCurrentLane","find","remoteOfCurrentLane","currentLaneComponents","outputComponents","components","outputRemoteLane","availableLanes","laneData","laneTitle","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","BUILD_ON_CI","Boolean","mergeStrategy","BitError","results","mergeLane","LaneRemoveCmd","names","force","silent","removePromptResult","shouldRemove","laneResults","removeLanes","LaneCmd","docsDomain","description","componentsTitle","componentsStr","c","id","toString","head"],"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/legacy/dist/cli/commands/public-cmds/merge-cmd';\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 { CreateLaneOptions, LanesMain } from './lanes.main.runtime';\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 let currentLaneStr = currentLane ? `current lane - ${chalk.bold(currentLane as string)}` : '';\n if (details) {\n const laneDataOfCurrentLane = lanes.find((l) => l.name === currentLane);\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 if (details) {\n const laneTitle = `> ${chalk.green(laneData.name)}${outputRemoteLane(laneData.remote)}\\n`;\n const components = outputComponents(laneData.components);\n return laneTitle + components;\n }\n return ` > ${chalk.green(laneData.name)} (${laneData.components.length} components)`;\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 ] 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 }: {\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 }\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 results = await this.lanes.mergeLane(name, {\n // @ts-ignore\n remoteName,\n build,\n // @ts-ignore\n mergeStrategy,\n existingOnWorkspaceOnly,\n noSnap,\n snapMessage,\n });\n return mergeReport(results);\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 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\nfunction outputComponents(components: LaneData['components']): string {\n const componentsTitle = `\\tcomponents (${components.length})\\n`;\n const componentsStr = components.map((c) => `\\t ${c.id.toString()} - ${c.head}`).join('\\n');\n return componentsTitle + componentsStr;\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","currentLaneStr","bold","laneDataOfCurrentLane","find","remoteOfCurrentLane","currentLaneComponents","outputComponents","components","outputRemoteLane","availableLanes","laneData","laneTitle","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","BUILD_ON_CI","Boolean","mergeStrategy","BitError","results","mergeLane","LaneRemoveCmd","names","force","silent","removePromptResult","shouldRemove","laneResults","removeLanes","LaneCmd","docsDomain","description","componentsTitle","componentsStr","c","id","toString","head"],"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 { CreateLaneOptions, LanesMain } from './lanes.main.runtime';\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 let currentLaneStr = currentLane ? `current lane - ${chalk.bold(currentLane as string)}` : '';\n if (details) {\n const laneDataOfCurrentLane = lanes.find((l) => l.name === currentLane);\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 if (details) {\n const laneTitle = `> ${chalk.green(laneData.name)}${outputRemoteLane(laneData.remote)}\\n`;\n const components = outputComponents(laneData.components);\n return laneTitle + components;\n }\n return ` > ${chalk.green(laneData.name)} (${laneData.components.length} components)`;\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 ] 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 }: {\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 }\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 results = await this.lanes.mergeLane(name, {\n // @ts-ignore\n remoteName,\n build,\n // @ts-ignore\n mergeStrategy,\n existingOnWorkspaceOnly,\n noSnap,\n snapMessage,\n });\n return mergeReport(results);\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 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\nfunction outputComponents(components: LaneData['components']): string {\n const componentsTitle = `\\tcomponents (${components.length})\\n`;\n const componentsStr = components.map((c) => `\\t ${c.id.toString()} - ${c.head}`).join('\\n');\n return componentsTitle + componentsStr;\n}\n\nfunction outputRemoteLane(remoteLane: string | null | undefined): string {\n if (!remoteLane) return '';\n return ` - (remote lane - ${remoteLane})`;\n}\n"]}
|
@@ -7,6 +7,7 @@ import { DiffOptions } from '@teambit/legacy/dist/consumer/component-ops/compone
|
|
7
7
|
import { MergeStrategy, ApplyVersionResults } from '@teambit/legacy/dist/consumer/versions-ops/merge-version';
|
8
8
|
import { TrackLane } from '@teambit/legacy/dist/scope/scope-json';
|
9
9
|
import type { CommunityMain } from '@teambit/community';
|
10
|
+
import { MergingMain } from '@teambit/merging';
|
10
11
|
export declare type LaneResults = {
|
11
12
|
lanes: LaneData[];
|
12
13
|
currentLane?: string | null;
|
@@ -26,7 +27,8 @@ export declare type CreateLaneOptions = {
|
|
26
27
|
export declare class LanesMain {
|
27
28
|
private workspace;
|
28
29
|
private scope;
|
29
|
-
|
30
|
+
private merging;
|
31
|
+
constructor(workspace: Workspace | undefined, scope: ScopeMain, merging: MergingMain);
|
30
32
|
getLanes({ name, remote, merged, showDefaultLane, notMerged, }: {
|
31
33
|
name?: string;
|
32
34
|
remote?: string;
|
@@ -61,12 +63,13 @@ export declare class LanesMain {
|
|
61
63
|
static slots: never[];
|
62
64
|
static dependencies: import("@teambit/harmony").Aspect[];
|
63
65
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
64
|
-
static provider([cli, scope, workspace, graphql, community]: [
|
66
|
+
static provider([cli, scope, workspace, graphql, community, merging]: [
|
65
67
|
CLIMain,
|
66
68
|
ScopeMain,
|
67
69
|
Workspace,
|
68
70
|
GraphqlMain,
|
69
|
-
CommunityMain
|
71
|
+
CommunityMain,
|
72
|
+
MergingMain
|
70
73
|
]): Promise<LanesMain>;
|
71
74
|
}
|
72
75
|
export default LanesMain;
|
@@ -111,16 +111,6 @@ function _createLane() {
|
|
111
111
|
return data;
|
112
112
|
}
|
113
113
|
|
114
|
-
function _mergeLanes() {
|
115
|
-
const data = require("@teambit/legacy/dist/consumer/lanes/merge-lanes");
|
116
|
-
|
117
|
-
_mergeLanes = function () {
|
118
|
-
return data;
|
119
|
-
};
|
120
|
-
|
121
|
-
return data;
|
122
|
-
}
|
123
|
-
|
124
114
|
function _constants() {
|
125
115
|
const data = require("@teambit/legacy/dist/constants");
|
126
116
|
|
@@ -151,6 +141,16 @@ function _removeLanes() {
|
|
151
141
|
return data;
|
152
142
|
}
|
153
143
|
|
144
|
+
function _merging() {
|
145
|
+
const data = require("@teambit/merging");
|
146
|
+
|
147
|
+
_merging = function () {
|
148
|
+
return data;
|
149
|
+
};
|
150
|
+
|
151
|
+
return data;
|
152
|
+
}
|
153
|
+
|
154
154
|
function _lanes() {
|
155
155
|
const data = require("./lanes.aspect");
|
156
156
|
|
@@ -191,14 +191,25 @@ function _switch() {
|
|
191
191
|
return data;
|
192
192
|
}
|
193
193
|
|
194
|
+
function _mergeLanes() {
|
195
|
+
const data = require("./merge-lanes");
|
196
|
+
|
197
|
+
_mergeLanes = function () {
|
198
|
+
return data;
|
199
|
+
};
|
200
|
+
|
201
|
+
return data;
|
202
|
+
}
|
203
|
+
|
194
204
|
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; }
|
195
205
|
|
196
206
|
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; }
|
197
207
|
|
198
208
|
class LanesMain {
|
199
|
-
constructor(workspace, scope) {
|
209
|
+
constructor(workspace, scope, merging) {
|
200
210
|
this.workspace = workspace;
|
201
211
|
this.scope = scope;
|
212
|
+
this.merging = merging;
|
202
213
|
}
|
203
214
|
|
204
215
|
async getLanes({
|
@@ -299,6 +310,7 @@ class LanesMain {
|
|
299
310
|
}
|
300
311
|
|
301
312
|
const mergeResults = await (0, _mergeLanes().mergeLanes)(_objectSpread({
|
313
|
+
merging: this.merging,
|
302
314
|
consumer: this.workspace.consumer,
|
303
315
|
laneName
|
304
316
|
}, options));
|
@@ -335,8 +347,8 @@ class LanesMain {
|
|
335
347
|
};
|
336
348
|
}
|
337
349
|
|
338
|
-
static async provider([cli, scope, workspace, graphql, community]) {
|
339
|
-
const lanesMain = new LanesMain(workspace, scope);
|
350
|
+
static async provider([cli, scope, workspace, graphql, community, merging]) {
|
351
|
+
const lanesMain = new LanesMain(workspace, scope, merging);
|
340
352
|
const isLegacy = workspace && workspace.consumer.isLegacy;
|
341
353
|
const switchCmd = new (_switch().SwitchCmd)();
|
342
354
|
|
@@ -354,7 +366,7 @@ class LanesMain {
|
|
354
366
|
|
355
367
|
exports.LanesMain = LanesMain;
|
356
368
|
(0, _defineProperty2().default)(LanesMain, "slots", []);
|
357
|
-
(0, _defineProperty2().default)(LanesMain, "dependencies", [_cli().CLIAspect, _scope().ScopeAspect, _workspace().WorkspaceAspect, _graphql().GraphqlAspect, _community().CommunityAspect]);
|
369
|
+
(0, _defineProperty2().default)(LanesMain, "dependencies", [_cli().CLIAspect, _scope().ScopeAspect, _workspace().WorkspaceAspect, _graphql().GraphqlAspect, _community().CommunityAspect, _merging().MergingAspect]);
|
358
370
|
(0, _defineProperty2().default)(LanesMain, "runtime", _cli().MainRuntime);
|
359
371
|
|
360
372
|
_lanes().LanesAspect.addRuntime(LanesMain);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["lanes.main.runtime.ts"],"names":["LanesMain","constructor","workspace","scope","getLanes","name","remote","merged","showDefaultLane","notMerged","showMergeData","Boolean","consumer","remoteObj","lanes","listLanes","legacyScope","getLanesData","defaultLane","getLaneDataOfDefaultLane","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","mergeResults","getDiff","values","diffOptions","laneDiffGenerator","LaneDiffGenerator","generate","bitIds","bitMap","getAuthoredAndImportedBitIdsOfDefaultLane","DEFAULT_LANE","components","map","bitId","id","head","version","isMerged","provider","cli","graphql","community","lanesMain","isLegacy","switchCmd","SwitchCmd","laneCmd","LaneCmd","getDocsDomain","commands","LaneListCmd","LaneShowCmd","LaneCreateCmd","LaneMergeCmd","LaneRemoveCmd","LaneTrackCmd","LaneDiffCmd","register","CLIAspect","ScopeAspect","WorkspaceAspect","GraphqlAspect","CommunityAspect","MainRuntime","LanesAspect","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 { mergeLanes } from '@teambit/legacy/dist/consumer/lanes/merge-lanes';\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';\n\nimport removeLanes from '@teambit/legacy/dist/consumer/lanes/remove-lanes';\nimport { LanesAspect } from './lanes.aspect';\nimport {\n LaneCmd,\n LaneCreateCmd,\n LaneListCmd,\n LaneMergeCmd,\n LaneRemoveCmd,\n LaneShowCmd,\n LaneTrackCmd,\n} from './lane.cmd';\nimport { lanesSchema } from './lanes.graphql';\nimport { SwitchCmd } from './switch.cmd';\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};\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(private workspace: Workspace | undefined, private scope: ScopeMain) {}\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 const lanes = await this.scope.legacyScope.lanes.getLanesData(this.scope.legacyScope, name, showMergeData);\n\n if (showDefaultLane) {\n const defaultLane = 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(laneName: string, options: MergeLaneOptions): Promise<ApplyVersionResults> {\n if (!this.workspace) {\n throw new BitError(`unable to merge a lane outside of Bit workspace`);\n }\n const mergeResults = await mergeLanes({\n consumer: this.workspace.consumer,\n laneName,\n ...options,\n });\n await this.workspace.consumer.onDestroy();\n\n return mergeResults;\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 private getLaneDataOfDefaultLane(): LaneData | null {\n const consumer = this.workspace?.consumer;\n if (!consumer) return null;\n const bitIds = consumer.bitMap.getAuthoredAndImportedBitIdsOfDefaultLane();\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 = [CLIAspect, ScopeAspect, WorkspaceAspect, GraphqlAspect, CommunityAspect];\n static runtime = MainRuntime;\n static async provider([cli, scope, workspace, graphql, community]: [\n CLIMain,\n ScopeMain,\n Workspace,\n GraphqlMain,\n CommunityMain\n ]) {\n const lanesMain = new LanesMain(workspace, scope);\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 ];\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","getLanes","name","remote","merged","showDefaultLane","notMerged","showMergeData","Boolean","consumer","remoteObj","lanes","listLanes","legacyScope","getLanesData","defaultLane","getLaneDataOfDefaultLane","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","mergeResults","getDiff","values","diffOptions","laneDiffGenerator","LaneDiffGenerator","generate","bitIds","bitMap","getAuthoredAndImportedBitIdsOfDefaultLane","DEFAULT_LANE","components","map","bitId","id","head","version","isMerged","provider","cli","graphql","community","lanesMain","isLegacy","switchCmd","SwitchCmd","laneCmd","LaneCmd","getDocsDomain","commands","LaneListCmd","LaneShowCmd","LaneCreateCmd","LaneMergeCmd","LaneRemoveCmd","LaneTrackCmd","LaneDiffCmd","register","CLIAspect","ScopeAspect","WorkspaceAspect","GraphqlAspect","CommunityAspect","MergingAspect","MainRuntime","LanesAspect","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 removeLanes from '@teambit/legacy/dist/consumer/lanes/remove-lanes';\nimport { MergingMain, MergingAspect } from '@teambit/merging';\nimport { LanesAspect } from './lanes.aspect';\nimport {\n LaneCmd,\n LaneCreateCmd,\n LaneListCmd,\n LaneMergeCmd,\n LaneRemoveCmd,\n LaneShowCmd,\n LaneTrackCmd,\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};\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(private workspace: Workspace | undefined, private scope: ScopeMain, private merging: MergingMain) {}\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 const lanes = await this.scope.legacyScope.lanes.getLanesData(this.scope.legacyScope, name, showMergeData);\n\n if (showDefaultLane) {\n const defaultLane = 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(laneName: string, options: MergeLaneOptions): Promise<ApplyVersionResults> {\n if (!this.workspace) {\n throw new BitError(`unable to merge a lane outside of Bit workspace`);\n }\n const mergeResults = await mergeLanes({\n merging: this.merging,\n consumer: this.workspace.consumer,\n laneName,\n ...options,\n });\n await this.workspace.consumer.onDestroy();\n\n return mergeResults;\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 private getLaneDataOfDefaultLane(): LaneData | null {\n const consumer = this.workspace?.consumer;\n if (!consumer) return null;\n const bitIds = consumer.bitMap.getAuthoredAndImportedBitIdsOfDefaultLane();\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 = [CLIAspect, ScopeAspect, WorkspaceAspect, GraphqlAspect, CommunityAspect, MergingAspect];\n static runtime = MainRuntime;\n static async provider([cli, scope, workspace, graphql, community, merging]: [\n CLIMain,\n ScopeMain,\n Workspace,\n GraphqlMain,\n CommunityMain,\n MergingMain\n ]) {\n const lanesMain = new LanesMain(workspace, scope, merging);\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 ];\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,14 @@
|
|
1
|
+
import { Consumer } from '@teambit/legacy/dist/consumer';
|
2
|
+
import { ApplyVersionResults, MergeStrategy } from '@teambit/legacy/dist/consumer/versions-ops/merge-version';
|
3
|
+
import { MergingMain } from '@teambit/merging';
|
4
|
+
export declare function mergeLanes({ merging, consumer, mergeStrategy, laneName, remoteName, noSnap, snapMessage, existingOnWorkspaceOnly, build, }: {
|
5
|
+
merging: MergingMain;
|
6
|
+
consumer: Consumer;
|
7
|
+
mergeStrategy: MergeStrategy;
|
8
|
+
laneName: string;
|
9
|
+
remoteName: string | null;
|
10
|
+
noSnap: boolean;
|
11
|
+
snapMessage: string;
|
12
|
+
existingOnWorkspaceOnly: boolean;
|
13
|
+
build: boolean;
|
14
|
+
}): Promise<ApplyVersionResults>;
|
@@ -0,0 +1,132 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
require("core-js/modules/es.array.iterator.js");
|
4
|
+
|
5
|
+
require("core-js/modules/es.promise.js");
|
6
|
+
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
8
|
+
value: true
|
9
|
+
});
|
10
|
+
exports.mergeLanes = mergeLanes;
|
11
|
+
|
12
|
+
function _bitError() {
|
13
|
+
const data = require("@teambit/bit-error");
|
14
|
+
|
15
|
+
_bitError = function () {
|
16
|
+
return data;
|
17
|
+
};
|
18
|
+
|
19
|
+
return data;
|
20
|
+
}
|
21
|
+
|
22
|
+
function _constants() {
|
23
|
+
const data = require("@teambit/legacy/dist/constants");
|
24
|
+
|
25
|
+
_constants = function () {
|
26
|
+
return data;
|
27
|
+
};
|
28
|
+
|
29
|
+
return data;
|
30
|
+
}
|
31
|
+
|
32
|
+
function _laneId() {
|
33
|
+
const data = _interopRequireWildcard(require("@teambit/legacy/dist/lane-id/lane-id"));
|
34
|
+
|
35
|
+
_laneId = function () {
|
36
|
+
return data;
|
37
|
+
};
|
38
|
+
|
39
|
+
return data;
|
40
|
+
}
|
41
|
+
|
42
|
+
function _repositories() {
|
43
|
+
const data = require("@teambit/legacy/dist/scope/repositories");
|
44
|
+
|
45
|
+
_repositories = function () {
|
46
|
+
return data;
|
47
|
+
};
|
48
|
+
|
49
|
+
return data;
|
50
|
+
}
|
51
|
+
|
52
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
53
|
+
|
54
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
55
|
+
|
56
|
+
async function mergeLanes({
|
57
|
+
merging,
|
58
|
+
consumer,
|
59
|
+
mergeStrategy,
|
60
|
+
laneName,
|
61
|
+
remoteName,
|
62
|
+
noSnap,
|
63
|
+
snapMessage,
|
64
|
+
existingOnWorkspaceOnly,
|
65
|
+
build
|
66
|
+
}) {
|
67
|
+
const currentLaneId = consumer.getCurrentLaneId();
|
68
|
+
|
69
|
+
if (!remoteName && laneName === currentLaneId.name) {
|
70
|
+
throw new (_bitError().BitError)(`unable to switch to lane "${laneName}", you're already checked out to this lane`);
|
71
|
+
}
|
72
|
+
|
73
|
+
const localLaneId = consumer.getCurrentLaneId();
|
74
|
+
const localLane = currentLaneId.isDefault() ? null : await consumer.scope.loadLane(localLaneId);
|
75
|
+
const laneId = new (_laneId().default)({
|
76
|
+
name: laneName
|
77
|
+
});
|
78
|
+
let bitIds;
|
79
|
+
let otherLane;
|
80
|
+
let remoteLane;
|
81
|
+
let otherLaneName;
|
82
|
+
|
83
|
+
const isDefaultLane = laneName === _constants().DEFAULT_LANE;
|
84
|
+
|
85
|
+
if (isDefaultLane) {
|
86
|
+
bitIds = consumer.bitMap.getAuthoredAndImportedBitIdsOfDefaultLane().filter(id => id.hasVersion());
|
87
|
+
otherLaneName = _constants().DEFAULT_LANE;
|
88
|
+
} else if (remoteName) {
|
89
|
+
const remoteLaneId = _laneId().RemoteLaneId.from(laneId.name, remoteName);
|
90
|
+
|
91
|
+
remoteLane = await consumer.scope.objects.remoteLanes.getRemoteLane(remoteLaneId);
|
92
|
+
|
93
|
+
if (!remoteLane.length) {
|
94
|
+
throw new (_bitError().BitError)(`unable to switch to "${laneName}" of "${remoteName}", the remote lane was not found or not fetched locally`);
|
95
|
+
}
|
96
|
+
|
97
|
+
bitIds = await consumer.scope.objects.remoteLanes.getRemoteBitIds(remoteLaneId);
|
98
|
+
otherLaneName = `${remoteName}/${laneId.name}`;
|
99
|
+
} else {
|
100
|
+
otherLane = await consumer.scope.loadLane(laneId);
|
101
|
+
if (!otherLane) throw new (_bitError().BitError)(`unable to switch to "${laneName}", the lane was not found`);
|
102
|
+
bitIds = otherLane.components.map(c => c.id.changeVersion(c.head.toString()));
|
103
|
+
otherLaneName = laneId.name;
|
104
|
+
}
|
105
|
+
|
106
|
+
const allComponentsStatus = await getAllComponentsStatus();
|
107
|
+
return merging.mergeSnaps({
|
108
|
+
mergeStrategy,
|
109
|
+
allComponentsStatus,
|
110
|
+
remoteName,
|
111
|
+
laneId,
|
112
|
+
localLane,
|
113
|
+
noSnap,
|
114
|
+
snapMessage,
|
115
|
+
build
|
116
|
+
});
|
117
|
+
|
118
|
+
async function getAllComponentsStatus() {
|
119
|
+
const tmp = new (_repositories().Tmp)(consumer.scope);
|
120
|
+
|
121
|
+
try {
|
122
|
+
const componentsStatus = await Promise.all(bitIds.map(bitId => merging.getComponentMergeStatus(bitId, localLane, otherLaneName, existingOnWorkspaceOnly)));
|
123
|
+
await tmp.clear();
|
124
|
+
return componentsStatus;
|
125
|
+
} catch (err) {
|
126
|
+
await tmp.clear();
|
127
|
+
throw err;
|
128
|
+
}
|
129
|
+
}
|
130
|
+
}
|
131
|
+
|
132
|
+
//# sourceMappingURL=merge-lanes.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["merge-lanes.ts"],"names":["mergeLanes","merging","consumer","mergeStrategy","laneName","remoteName","noSnap","snapMessage","existingOnWorkspaceOnly","build","currentLaneId","getCurrentLaneId","name","BitError","localLaneId","localLane","isDefault","scope","loadLane","laneId","LaneId","bitIds","otherLane","remoteLane","otherLaneName","isDefaultLane","DEFAULT_LANE","bitMap","getAuthoredAndImportedBitIdsOfDefaultLane","filter","id","hasVersion","remoteLaneId","RemoteLaneId","from","objects","remoteLanes","getRemoteLane","length","getRemoteBitIds","components","map","c","changeVersion","head","toString","allComponentsStatus","getAllComponentsStatus","mergeSnaps","tmp","Tmp","componentsStatus","Promise","all","bitId","getComponentMergeStatus","clear","err"],"mappings":"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","sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport { DEFAULT_LANE } from '@teambit/legacy/dist/constants';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { ApplyVersionResults, MergeStrategy } from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport LaneId, { RemoteLaneId } from '@teambit/legacy/dist/lane-id/lane-id';\nimport { Lane } from '@teambit/legacy/dist/scope/models';\nimport { Tmp } from '@teambit/legacy/dist/scope/repositories';\nimport { MergingMain } from '@teambit/merging';\n\nexport async function mergeLanes({\n merging,\n consumer,\n mergeStrategy,\n laneName,\n remoteName,\n noSnap,\n snapMessage,\n existingOnWorkspaceOnly,\n build,\n}: {\n merging: MergingMain;\n consumer: Consumer;\n mergeStrategy: MergeStrategy;\n laneName: string;\n remoteName: string | null;\n noSnap: boolean;\n snapMessage: string;\n existingOnWorkspaceOnly: boolean;\n build: boolean;\n}): Promise<ApplyVersionResults> {\n const currentLaneId = consumer.getCurrentLaneId();\n if (!remoteName && laneName === currentLaneId.name) {\n throw new BitError(`unable to switch to lane \"${laneName}\", you're already checked out to this lane`);\n }\n const localLaneId = consumer.getCurrentLaneId();\n const localLane = currentLaneId.isDefault() ? null : await consumer.scope.loadLane(localLaneId);\n const laneId = new LaneId({ name: laneName });\n let bitIds: BitId[];\n let otherLane: Lane | null;\n let remoteLane;\n let otherLaneName: string;\n const isDefaultLane = laneName === DEFAULT_LANE;\n\n if (isDefaultLane) {\n bitIds = consumer.bitMap.getAuthoredAndImportedBitIdsOfDefaultLane().filter((id) => id.hasVersion());\n otherLaneName = DEFAULT_LANE;\n } else if (remoteName) {\n const remoteLaneId = RemoteLaneId.from(laneId.name, remoteName);\n remoteLane = await consumer.scope.objects.remoteLanes.getRemoteLane(remoteLaneId);\n if (!remoteLane.length) {\n throw new BitError(\n `unable to switch to \"${laneName}\" of \"${remoteName}\", the remote lane was not found or not fetched locally`\n );\n }\n bitIds = await consumer.scope.objects.remoteLanes.getRemoteBitIds(remoteLaneId);\n otherLaneName = `${remoteName}/${laneId.name}`;\n } else {\n otherLane = await consumer.scope.loadLane(laneId);\n if (!otherLane) throw new BitError(`unable to switch to \"${laneName}\", the lane was not found`);\n bitIds = otherLane.components.map((c) => c.id.changeVersion(c.head.toString()));\n otherLaneName = laneId.name;\n }\n const allComponentsStatus = await getAllComponentsStatus();\n\n return merging.mergeSnaps({\n mergeStrategy,\n allComponentsStatus,\n remoteName,\n laneId,\n localLane,\n noSnap,\n snapMessage,\n build,\n });\n\n async function getAllComponentsStatus() {\n const tmp = new Tmp(consumer.scope);\n try {\n const componentsStatus = await Promise.all(\n bitIds.map((bitId) => merging.getComponentMergeStatus(bitId, localLane, otherLaneName, existingOnWorkspaceOnly))\n );\n await tmp.clear();\n return componentsStatus;\n } catch (err: any) {\n await tmp.clear();\n throw err;\n }\n }\n}\n"]}
|
package/dist/switch.cmd.js
CHANGED
@@ -61,16 +61,6 @@ function _mergeVersion() {
|
|
61
61
|
return data;
|
62
62
|
}
|
63
63
|
|
64
|
-
function _mergeCmd() {
|
65
|
-
const data = require("@teambit/legacy/dist/cli/commands/public-cmds/merge-cmd");
|
66
|
-
|
67
|
-
_mergeCmd = function () {
|
68
|
-
return data;
|
69
|
-
};
|
70
|
-
|
71
|
-
return data;
|
72
|
-
}
|
73
|
-
|
74
64
|
function _bitError() {
|
75
65
|
const data = require("@teambit/bit-error");
|
76
66
|
|
@@ -158,11 +148,11 @@ class SwitchCmd {
|
|
158
148
|
const component = components[0];
|
159
149
|
const componentName = component.id.toStringWithoutVersion();
|
160
150
|
const title = `successfully switched ${_chalk().default.bold(componentName)} to version ${_chalk().default.bold(component.id.version)}\n`;
|
161
|
-
return `${title} ${(0,
|
151
|
+
return `${title} ${(0, _mergeVersion().applyVersionReport)(components, false)}${laneSwitched}`;
|
162
152
|
}
|
163
153
|
|
164
154
|
const title = `successfully switched the following components to the version of ${lane}\n\n`;
|
165
|
-
const componentsStr = (0,
|
155
|
+
const componentsStr = (0, _mergeVersion().applyVersionReport)(components, true, false);
|
166
156
|
return title + componentsStr + laneSwitched;
|
167
157
|
};
|
168
158
|
|
package/dist/switch.cmd.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["switch.cmd.ts"],"names":["SwitchCmd","report","lane","as","merge","getAll","verbose","json","mergeStrategy","R","is","String","options","Object","keys","MergeOptions","includes","BitError","join","switchProps","laneName","existingOnWorkspaceOnly","newLaneName","checkoutProps","skipNpmInstall","ignorePackageJson","ignoreDist","isLane","promptMergeOptions","writeConfig","reset","all","components","failedComponents","JSON","stringify","getFailureOutput","length","title","body","map","failedComponent","chalk","bold","id","toString","red","failureMessage","getSuccessfulOutput","laneSwitched","green","component","componentName","toStringWithoutVersion","version","componentsStr","failedOutput","successOutput"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;
|
1
|
+
{"version":3,"sources":["switch.cmd.ts"],"names":["SwitchCmd","report","lane","as","merge","getAll","verbose","json","mergeStrategy","R","is","String","options","Object","keys","MergeOptions","includes","BitError","join","switchProps","laneName","existingOnWorkspaceOnly","newLaneName","checkoutProps","skipNpmInstall","ignorePackageJson","ignoreDist","isLane","promptMergeOptions","writeConfig","reset","all","components","failedComponents","JSON","stringify","getFailureOutput","length","title","body","map","failedComponent","chalk","bold","id","toString","red","failureMessage","getSuccessfulOutput","laneSwitched","green","component","componentName","toStringWithoutVersion","version","componentsStr","failedOutput","successOutput"],"mappings":"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","sourcesContent":["import chalk from 'chalk';\nimport R from 'ramda';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { switchAction } from '@teambit/legacy/dist/api/consumer';\nimport { SwitchProps } from '@teambit/legacy/dist/consumer/lanes/switch-lanes';\nimport { CheckoutProps } from '@teambit/legacy/dist/consumer/versions-ops/checkout-version';\nimport {\n MergeOptions,\n MergeStrategy,\n applyVersionReport,\n} from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport { BitError } from '@teambit/bit-error';\n\nexport class SwitchCmd implements Command {\n name = 'switch <lane>';\n description = `switch to the specified lane`;\n private = true;\n alias = '';\n options = [\n [\n 'n',\n 'as <as>',\n 'relevant when the specified lane is a remote late. name a local lane differently than the remote lane',\n ],\n [\n 'm',\n 'merge [strategy]',\n 'merge local changes with the checked out version. strategy should be \"theirs\", \"ours\" or \"manual\"',\n ],\n ['a', 'get-all', 'checkout all components in a lane include ones that do not exist in the workspace'],\n ['v', 'verbose', 'showing verbose output for inspection'],\n ['j', 'json', 'return the output as JSON'],\n ] as CommandOptions;\n loader = true;\n\n async report(\n [lane]: [string],\n {\n as,\n merge,\n getAll = false,\n verbose = false,\n json = false,\n }: {\n as?: string;\n merge?: MergeStrategy;\n getAll?: boolean;\n verbose?: boolean;\n override?: boolean;\n json?: boolean;\n }\n ) {\n let mergeStrategy;\n if (merge && R.is(String, merge)) {\n const options = Object.keys(MergeOptions);\n if (!options.includes(merge)) {\n throw new BitError(`merge must be one of the following: ${options.join(', ')}`);\n }\n mergeStrategy = merge;\n }\n\n const switchProps: SwitchProps = {\n laneName: lane,\n existingOnWorkspaceOnly: !getAll,\n newLaneName: as,\n };\n const checkoutProps: CheckoutProps = {\n mergeStrategy,\n verbose,\n skipNpmInstall: 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 const { components, failedComponents } = await switchAction(switchProps, checkoutProps);\n if (json) {\n return JSON.stringify({ components, failedComponents }, null, 4);\n }\n const getFailureOutput = () => {\n if (!failedComponents || !failedComponents.length) return '';\n const title = 'the switch has been canceled on the following component(s)';\n const body = failedComponents\n .map(\n (failedComponent) =>\n `${chalk.bold(failedComponent.id.toString())} - ${chalk.red(failedComponent.failureMessage)}`\n )\n .join('\\n');\n return `${title}\\n${body}\\n\\n`;\n };\n const getSuccessfulOutput = () => {\n const laneSwitched = chalk.green(`\\nsuccessfully set \"${chalk.bold(lane)}\" as the active lane`);\n if (!components || !components.length) return `No component had been changed.${laneSwitched}`;\n if (components.length === 1) {\n const component = components[0];\n const componentName = component.id.toStringWithoutVersion();\n const title = `successfully switched ${chalk.bold(componentName)} to version ${chalk.bold(\n component.id.version as string\n )}\\n`;\n return `${title} ${applyVersionReport(components, false)}${laneSwitched}`;\n }\n const title = `successfully switched the following components to the version of ${lane}\\n\\n`;\n const componentsStr = applyVersionReport(components, true, false);\n return title + componentsStr + laneSwitched;\n };\n const failedOutput = getFailureOutput();\n const successOutput = getSuccessfulOutput();\n return failedOutput + successOutput;\n }\n}\n"]}
|
Binary file
|
package/package.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "@teambit/lanes",
|
3
|
-
"version": "0.0.
|
3
|
+
"version": "0.0.260",
|
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.
|
9
|
+
"version": "0.0.260"
|
10
10
|
},
|
11
11
|
"dependencies": {
|
12
12
|
"chalk": "2.4.2",
|
@@ -18,18 +18,20 @@
|
|
18
18
|
"@babel/runtime": "7.12.18",
|
19
19
|
"core-js": "^3.0.0",
|
20
20
|
"@teambit/bit-error": "0.0.394",
|
21
|
-
"@teambit/cli": "0.0.
|
22
|
-
"@teambit/
|
23
|
-
"@teambit/
|
24
|
-
"@teambit/
|
25
|
-
"@teambit/
|
21
|
+
"@teambit/cli": "0.0.460",
|
22
|
+
"@teambit/merging": "0.0.3",
|
23
|
+
"@teambit/scope": "0.0.688",
|
24
|
+
"@teambit/workspace": "0.0.688",
|
25
|
+
"@teambit/graphql": "0.0.688",
|
26
|
+
"@teambit/community": "0.0.8",
|
26
27
|
"@teambit/lanes.modules.diff": "0.0.107",
|
27
|
-
"@teambit/component": "0.0.
|
28
|
-
"@teambit/lanes.ui.lanes": "0.0.
|
29
|
-
"@teambit/react-router": "0.0.
|
30
|
-
"@teambit/sidebar": "0.0.
|
28
|
+
"@teambit/component": "0.0.688",
|
29
|
+
"@teambit/lanes.ui.lanes": "0.0.24",
|
30
|
+
"@teambit/react-router": "0.0.688",
|
31
|
+
"@teambit/sidebar": "0.0.688",
|
31
32
|
"@teambit/ui-foundation.ui.react-router.slot-router": "0.0.488",
|
32
|
-
"@teambit/ui": "0.0.
|
33
|
+
"@teambit/ui": "0.0.688",
|
34
|
+
"@teambit/legacy-bit-id": "0.0.399"
|
33
35
|
},
|
34
36
|
"devDependencies": {
|
35
37
|
"@types/react-router-dom": "5.1.7",
|
@@ -44,7 +46,7 @@
|
|
44
46
|
"@teambit/workspace.testing.mock-workspace": "0.0.3"
|
45
47
|
},
|
46
48
|
"peerDependencies": {
|
47
|
-
"@teambit/legacy": "1.0.
|
49
|
+
"@teambit/legacy": "1.0.239",
|
48
50
|
"react-dom": "^16.8.0 || ^17.0.0",
|
49
51
|
"react": "^16.8.0 || ^17.0.0"
|
50
52
|
},
|
@@ -72,7 +74,7 @@
|
|
72
74
|
"react": "-"
|
73
75
|
},
|
74
76
|
"peerDependencies": {
|
75
|
-
"@teambit/legacy": "1.0.
|
77
|
+
"@teambit/legacy": "1.0.239",
|
76
78
|
"react-dom": "^16.8.0 || ^17.0.0",
|
77
79
|
"react": "^16.8.0 || ^17.0.0"
|
78
80
|
}
|
@@ -1 +1 @@
|
|
1
|
-
export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.
|
1
|
+
export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.260/dist/lanes.docs.md')]
|
Binary file
|