@teambit/lanes 0.0.705 → 0.0.707
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.d.ts +1 -0
- package/dist/lane.cmd.js +31 -29
- package/dist/lane.cmd.js.map +1 -1
- package/dist/{preview-1692155876143.js → preview-1692345627885.js} +2 -2
- package/dist/switch.cmd.js +14 -6
- package/dist/switch.cmd.js.map +1 -1
- package/package-tar/teambit-lanes-0.0.707.tgz +0 -0
- package/package.json +32 -32
- package/package-tar/teambit-lanes-0.0.705.tgz +0 -0
package/dist/lane.cmd.d.ts
CHANGED
package/dist/lane.cmd.js
CHANGED
@@ -71,9 +71,9 @@ class LaneListCmd {
|
|
71
71
|
this.workspace = workspace;
|
72
72
|
this.scope = scope;
|
73
73
|
(0, _defineProperty2().default)(this, "name", 'list');
|
74
|
-
(0, _defineProperty2().default)(this, "description", `list lanes`);
|
74
|
+
(0, _defineProperty2().default)(this, "description", `list local lanes`);
|
75
75
|
(0, _defineProperty2().default)(this, "alias", '');
|
76
|
-
(0, _defineProperty2().default)(this, "options", [['d', 'details', 'show more details on the state of each component in each lane'], ['j', 'json',
|
76
|
+
(0, _defineProperty2().default)(this, "options", [['d', 'details', 'show more details on the state of each component in each lane'], ['j', 'json', "show lanes' details in a json format"], ['r', 'remote <remote-scope-name>', 'show all remote lanes from the specified scope'], ['', 'merged', 'list only merged lanes'], ['', 'not-merged', "list only lanes that haven't been merged"]]);
|
77
77
|
(0, _defineProperty2().default)(this, "loader", true);
|
78
78
|
(0, _defineProperty2().default)(this, "migration", true);
|
79
79
|
(0, _defineProperty2().default)(this, "remoteOp", true);
|
@@ -133,7 +133,7 @@ class LaneListCmd {
|
|
133
133
|
if (details) {
|
134
134
|
footer += 'You can use --merged and --not-merged to see which of the lanes is fully merged.';
|
135
135
|
} else {
|
136
|
-
footer += "to get more info on all lanes in
|
136
|
+
footer += "to get more info on all lanes in local scope use 'bit lane list --details', or 'bit lane show <lane-name>' for a specific lane.";
|
137
137
|
}
|
138
138
|
if (!remote && this.workspace) footer += `\nswitch lanes using 'bit switch <name>'.`;
|
139
139
|
return footer;
|
@@ -175,7 +175,7 @@ class LaneShowCmd {
|
|
175
175
|
(0, _defineProperty2().default)(this, "name", 'show [lane-name]');
|
176
176
|
(0, _defineProperty2().default)(this, "description", `show lane details. if no lane specified, show the current lane`);
|
177
177
|
(0, _defineProperty2().default)(this, "alias", '');
|
178
|
-
(0, _defineProperty2().default)(this, "options", [['j', 'json', 'show the lane details in json format'], ['r', 'remote', 'show the
|
178
|
+
(0, _defineProperty2().default)(this, "options", [['j', 'json', 'show the lane details in json format'], ['r', 'remote', 'show details of the remote head of the provided lane']]);
|
179
179
|
(0, _defineProperty2().default)(this, "loader", true);
|
180
180
|
(0, _defineProperty2().default)(this, "migration", true);
|
181
181
|
(0, _defineProperty2().default)(this, "remoteOp", true);
|
@@ -186,12 +186,12 @@ class LaneShowCmd {
|
|
186
186
|
const {
|
187
187
|
remote
|
188
188
|
} = laneOptions;
|
189
|
-
if (!name) {
|
190
|
-
name = this.lanes.getCurrentLaneName() || _laneId().DEFAULT_LANE;
|
191
|
-
}
|
192
189
|
if (!name && remote) {
|
193
190
|
throw new Error('remote flag is not supported without lane name');
|
194
191
|
}
|
192
|
+
if (!name) {
|
193
|
+
name = this.lanes.getCurrentLaneName() || _laneId().DEFAULT_LANE;
|
194
|
+
}
|
195
195
|
const laneId = await this.lanes.parseLaneId(name);
|
196
196
|
const lanes = await this.lanes.getLanes({
|
197
197
|
name: laneId.name,
|
@@ -225,9 +225,9 @@ class LaneCreateCmd {
|
|
225
225
|
}]);
|
226
226
|
(0, _defineProperty2().default)(this, "description", `creates a new lane and switches to it`);
|
227
227
|
(0, _defineProperty2().default)(this, "extendedDescription", `a lane created from main (default-lane) is empty until components are snapped.
|
228
|
-
a lane created from another lane
|
228
|
+
a lane created from another lane contains all the components of the original lane.`);
|
229
229
|
(0, _defineProperty2().default)(this, "alias", '');
|
230
|
-
(0, _defineProperty2().default)(this, "options", [['s', 'scope <scope-name>', 'remote scope
|
230
|
+
(0, _defineProperty2().default)(this, "options", [['s', 'scope <scope-name>', 'remote scope to which this lane will be exported, default to the workspace.json\'s defaultScope (can be changed up to first export of the lane with "bit lane change-scope")'], ['', 'remote-scope <scope-name>', 'DEPRECATED. use --scope'], ['', 'alias <name>', 'a local alias to refer to this lane, defaults to the `<lane-name>` (can be added later with "bit lane alias")'], ['', 'fork-lane-new-scope', 'create the new lane in a different scope than its parent lane (if created from another lane)']]);
|
231
231
|
(0, _defineProperty2().default)(this, "loader", true);
|
232
232
|
(0, _defineProperty2().default)(this, "migration", true);
|
233
233
|
}
|
@@ -235,8 +235,8 @@ a lane created from another lane has all the components of the original lane.`);
|
|
235
235
|
const currentLane = await this.lanes.getCurrentLane();
|
236
236
|
if (createLaneOptions.remoteScope) createLaneOptions.scope = createLaneOptions.remoteScope;
|
237
237
|
const result = await this.lanes.createLane(name, createLaneOptions);
|
238
|
-
const remoteScopeOrDefaultScope = createLaneOptions.scope ? `the remote scope ${_chalk().default.bold(createLaneOptions.scope)}` : `the default-scope ${_chalk().default.bold(result.laneId.scope)}.
|
239
|
-
const title = _chalk().default.green(`successfully added and checked out to
|
238
|
+
const remoteScopeOrDefaultScope = createLaneOptions.scope ? `the remote scope ${_chalk().default.bold(createLaneOptions.scope)}` : `the default-scope ${_chalk().default.bold(result.laneId.scope)}. you can change the lane's scope, before it is exported, with the "bit lane change-scope" command`;
|
239
|
+
const title = _chalk().default.green(`successfully added and checked out to the new lane ${_chalk().default.bold(result.alias || result.laneId.name)}
|
240
240
|
${currentLane !== null ? _chalk().default.yellow(`\nnote - your new lane will be based on lane ${currentLane.name}`) : ''}
|
241
241
|
`);
|
242
242
|
const remoteScopeOutput = `this lane will be exported to ${remoteScopeOrDefaultScope}`;
|
@@ -249,8 +249,8 @@ class LaneAliasCmd {
|
|
249
249
|
this.lanes = lanes;
|
250
250
|
(0, _defineProperty2().default)(this, "name", 'alias <lane-name> <alias>');
|
251
251
|
(0, _defineProperty2().default)(this, "description", 'adds an alias to a lane');
|
252
|
-
(0, _defineProperty2().default)(this, "extendedDescription", `an alias is a name that can be used to refer to a lane. it is saved locally and never
|
253
|
-
it is useful when having multiple lanes with the same name, but with different remote scopes.`);
|
252
|
+
(0, _defineProperty2().default)(this, "extendedDescription", `an alias is a name that can be used locally to refer to a lane. it is saved locally and never reaches the remote.
|
253
|
+
it is useful e.g. when having multiple lanes with the same name, but with different remote scopes.`);
|
254
254
|
(0, _defineProperty2().default)(this, "alias", '');
|
255
255
|
(0, _defineProperty2().default)(this, "options", []);
|
256
256
|
(0, _defineProperty2().default)(this, "loader", true);
|
@@ -260,7 +260,7 @@ it is useful when having multiple lanes with the same name, but with different r
|
|
260
260
|
const {
|
261
261
|
laneId
|
262
262
|
} = await this.lanes.aliasLane(laneName, alias);
|
263
|
-
return `successfully added the alias ${_chalk().default.bold(alias)}
|
263
|
+
return `successfully added the alias ${_chalk().default.bold(alias)} for lane ${_chalk().default.bold(laneId.toString())}`;
|
264
264
|
}
|
265
265
|
}
|
266
266
|
exports.LaneAliasCmd = LaneAliasCmd;
|
@@ -269,6 +269,7 @@ class LaneChangeScopeCmd {
|
|
269
269
|
this.lanes = lanes;
|
270
270
|
(0, _defineProperty2().default)(this, "name", 'change-scope <lane-name> <remote-scope-name>');
|
271
271
|
(0, _defineProperty2().default)(this, "description", `changes the remote scope of a lane`);
|
272
|
+
(0, _defineProperty2().default)(this, "extendedDescription", 'NOTE: available only before the lane is exported to the remote');
|
272
273
|
(0, _defineProperty2().default)(this, "alias", '');
|
273
274
|
(0, _defineProperty2().default)(this, "options", []);
|
274
275
|
(0, _defineProperty2().default)(this, "loader", true);
|
@@ -297,8 +298,8 @@ class LaneRenameCmd {
|
|
297
298
|
exported,
|
298
299
|
exportErr
|
299
300
|
} = await this.lanes.rename(currentName, newName);
|
300
|
-
const exportedStr = exported ? `and have been exported successfully to the remote` : `however
|
301
|
-
return `the lane ${_chalk().default.bold(currentName)} has been changed to ${_chalk().default.bold(newName)}, ${exportedStr}`;
|
301
|
+
const exportedStr = exported ? `and have been exported successfully to the remote` : `however failed exporting the renamed lane to the remote, due to an error: ${(exportErr === null || exportErr === void 0 ? void 0 : exportErr.message) || 'unknown'}`;
|
302
|
+
return `the lane ${_chalk().default.bold(currentName)}'s name has been changed to ${_chalk().default.bold(newName)}, ${exportedStr}`;
|
302
303
|
}
|
303
304
|
}
|
304
305
|
exports.LaneRenameCmd = LaneRenameCmd;
|
@@ -310,10 +311,10 @@ class LaneRemoveCmd {
|
|
310
311
|
name: 'lanes...',
|
311
312
|
description: 'A list of lane names, separated by spaces'
|
312
313
|
}]);
|
313
|
-
(0, _defineProperty2().default)(this, "description", `remove lanes`);
|
314
|
+
(0, _defineProperty2().default)(this, "description", `remove or delete lanes`);
|
314
315
|
(0, _defineProperty2().default)(this, "group", 'collaborate');
|
315
316
|
(0, _defineProperty2().default)(this, "alias", '');
|
316
|
-
(0, _defineProperty2().default)(this, "options", [['r', 'remote', '
|
317
|
+
(0, _defineProperty2().default)(this, "options", [['r', 'remote', 'delete a remote lane. use remote/lane-id syntax e.g. bit lane remove owner.org/my-lane --remote. Delete is immediate, no export required'], ['f', 'force', 'removes/deletes the lane even when the lane is not yet merged to main'], ['s', 'silent', 'skip confirmation']]);
|
317
318
|
(0, _defineProperty2().default)(this, "loader", true);
|
318
319
|
(0, _defineProperty2().default)(this, "migration", true);
|
319
320
|
}
|
@@ -326,7 +327,7 @@ class LaneRemoveCmd {
|
|
326
327
|
const removePromptResult = await (0, _prompts().approveOperation)();
|
327
328
|
// @ts-ignore
|
328
329
|
if (!(0, _yn().default)(removePromptResult.shouldProceed)) {
|
329
|
-
throw new (_bitError().BitError)('the operation has been
|
330
|
+
throw new (_bitError().BitError)('the operation has been cancelled');
|
330
331
|
}
|
331
332
|
}
|
332
333
|
const laneResults = await this.lanes.removeLanes(names, {
|
@@ -347,13 +348,14 @@ class LaneRemoveCompCmd {
|
|
347
348
|
description: _constants().COMPONENT_PATTERN_HELP
|
348
349
|
}]);
|
349
350
|
(0, _defineProperty2().default)(this, "description", `remove components when on a lane`);
|
350
|
-
(0, _defineProperty2().default)(this, "extendedDescription", `in case the components are part of the lane and the lane is exported, it marks the components as
|
351
|
-
and then after snap+export, the remote-lane gets updated as well.
|
351
|
+
(0, _defineProperty2().default)(this, "extendedDescription", `in case the components are part of the lane and the lane is exported, it marks the components as
|
352
|
+
removed from the lane, and then after snap+export, the remote-lane gets updated as well.
|
353
|
+
upon lane-merge, these removed components are skipped and any changes for removed components won't be merged to main.
|
352
354
|
|
353
|
-
in case the components are not part of the lane or the lane is new, it simply removes the components from the workspace`);
|
355
|
+
in case the components are not yet part of the lane or the lane is new, it simply removes the components from the workspace`);
|
354
356
|
(0, _defineProperty2().default)(this, "group", 'collaborate');
|
355
357
|
(0, _defineProperty2().default)(this, "alias", 'rc');
|
356
|
-
(0, _defineProperty2().default)(this, "options", [['', 'workspace-only', 'do not mark the components as removed. instead, remove them from the workspace only'], ['', 'update-main', 'EXPERIMENTAL.
|
358
|
+
(0, _defineProperty2().default)(this, "options", [['', 'workspace-only', 'do not mark the components as removed from the lane. instead, remove them from the workspace only'], ['', 'update-main', 'EXPERIMENTAL. remove, i.e. delete, component/s on the main lane after merging this lane into main']]);
|
357
359
|
(0, _defineProperty2().default)(this, "loader", true);
|
358
360
|
(0, _defineProperty2().default)(this, "migration", true);
|
359
361
|
}
|
@@ -388,13 +390,13 @@ class LaneImportCmd {
|
|
388
390
|
constructor(switchCmd) {
|
389
391
|
this.switchCmd = switchCmd;
|
390
392
|
(0, _defineProperty2().default)(this, "name", 'import <lane>');
|
391
|
-
(0, _defineProperty2().default)(this, "description", `import a remote lane to your workspace`);
|
393
|
+
(0, _defineProperty2().default)(this, "description", `import a remote lane to your workspace and switch to that lane`);
|
392
394
|
(0, _defineProperty2().default)(this, "arguments", [{
|
393
395
|
name: 'lane',
|
394
396
|
description: 'the remote lane name'
|
395
397
|
}]);
|
396
398
|
(0, _defineProperty2().default)(this, "alias", '');
|
397
|
-
(0, _defineProperty2().default)(this, "options", [['x', 'skip-dependency-installation', 'do not install
|
399
|
+
(0, _defineProperty2().default)(this, "options", [['x', 'skip-dependency-installation', 'do not install dependencies of the imported components'], ['p', 'pattern <component-pattern>', 'import only components from the lane that fit the specified component-pattern to the workspace. works only when the workspace is empty']]);
|
398
400
|
(0, _defineProperty2().default)(this, "loader", true);
|
399
401
|
(0, _defineProperty2().default)(this, "migration", true);
|
400
402
|
}
|
@@ -415,10 +417,10 @@ class LaneCmd {
|
|
415
417
|
this.lanes = lanes;
|
416
418
|
this.workspace = workspace;
|
417
419
|
this.scope = scope;
|
418
|
-
(0, _defineProperty2().default)(this, "name", 'lane [
|
419
|
-
(0, _defineProperty2().default)(this, "description", 'manage lanes');
|
420
|
+
(0, _defineProperty2().default)(this, "name", 'lane [sub-command]');
|
421
|
+
(0, _defineProperty2().default)(this, "description", 'manage lanes - if no sub-command is used, runs "bit lane list"');
|
420
422
|
(0, _defineProperty2().default)(this, "alias", 'l');
|
421
|
-
(0, _defineProperty2().default)(this, "options", [['d', 'details', 'show more details on the state of each component in each lane'], ['j', 'json', 'show lanes details in json format'], ['r', 'remote <
|
423
|
+
(0, _defineProperty2().default)(this, "options", [['d', 'details', 'show more details on the state of each component in each lane'], ['j', 'json', 'show lanes details in json format'], ['r', 'remote <remote-scope-name>', 'show all remote lanes from the specified scope'], ['', 'merged', 'list only merged lanes'], ['', 'not-merged', "list only lanes that haven't been merged"]]);
|
422
424
|
(0, _defineProperty2().default)(this, "loader", true);
|
423
425
|
(0, _defineProperty2().default)(this, "migration", true);
|
424
426
|
(0, _defineProperty2().default)(this, "group", 'collaborate');
|
@@ -457,7 +459,7 @@ class LaneAddReadmeCmd {
|
|
457
459
|
constructor(lanes) {
|
458
460
|
this.lanes = lanes;
|
459
461
|
(0, _defineProperty2().default)(this, "name", 'add-readme <component-name> [lane-name]');
|
460
|
-
(0, _defineProperty2().default)(this, "description", 'EXPERIMENTAL.
|
462
|
+
(0, _defineProperty2().default)(this, "description", 'EXPERIMENTAL. sets an existing component as the readme of a lane');
|
461
463
|
(0, _defineProperty2().default)(this, "arguments", [{
|
462
464
|
name: 'component-id',
|
463
465
|
description: "the component name or id of the component to use as the lane's readme"
|
package/dist/lane.cmd.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_yn","_laneId","_workspace","_bitError","_prompts","_constants","LaneListCmd","constructor","lanes","workspace","scope","_defineProperty2","default","report","args","laneOptions","details","remote","merged","notMerged","laneIdStr","laneId","alias","isDefault","name","toString","getLanes","showDefaultLane","mergedLanes","filter","l","isMerged","length","chalk","green","map","m","join","unmergedLanes","currentLane","getCurrentLaneId","getDefaultLaneId","laneDataOfCurrentLane","find","isEqual","id","undefined","currentAlias","currentLaneReadmeComponentStr","outputReadmeComponent","readmeComponent","currentLaneStr","currentLaneComponents","outputComponents","components","availableLanes","laneData","readmeComponentStr","laneTitle","bold","concat","outputFooter","footer","outputCurrentLane","outputAvailableLanes","json","getCurrentLaneNameOrAlias","exports","LaneShowCmd","_onlyLane$log","_onlyLane$log2","_onlyLane$log3","getCurrentLaneName","DEFAULT_LANE","Error","parseLaneId","onlyLane","title","author","log","username","email","date","Date","parseInt","toLocaleString","LaneCreateCmd","description","createLaneOptions","getCurrentLane","remoteScope","result","createLane","remoteScopeOrDefaultScope","yellow","remoteScopeOutput","LaneAliasCmd","laneName","aliasLane","LaneChangeScopeCmd","localName","remoteScopeBefore","changeScope","LaneRenameCmd","currentName","newName","exported","exportErr","rename","exportedStr","message","LaneRemoveCmd","names","force","silent","removePromptResult","approveOperation","yn","shouldProceed","BitError","laneResults","removeLanes","LaneRemoveCompCmd","COMPONENT_PATTERN_HELP","componentsPattern","removeCompsOpts","OutsideWorkspaceError","isOnMain","removedFromWs","markedRemoved","removeComps","getMarkedRemovedStr","getRemovedFromWsStr","LaneImportCmd","switchCmd","lane","skipDependencyInstallation","pattern","getAll","LaneCmd","LaneRemoveReadmeCmd","removeLaneReadme","red","LaneAddReadmeCmd","componentId","addLaneReadme","componentsTitle","componentsStr","c","head","component"],"sources":["lane.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport chalk from 'chalk';\nimport yn from 'yn';\nimport { ScopeMain } from '@teambit/scope';\nimport { DEFAULT_LANE, LaneId } from '@teambit/lane-id';\nimport { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { LaneData } from '@teambit/legacy/dist/scope/lanes/lanes';\nimport { BitError } from '@teambit/bit-error';\nimport { approveOperation } from '@teambit/legacy/dist/prompts';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\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 a json format'],\n ['r', 'remote <remote-scope-name>', 'show remote lanes'],\n ['', 'merged', 'show merged lanes'],\n ['', 'not-merged', 'show lanes that are not merged'],\n ] as CommandOptions;\n loader = 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 const laneIdStr = (laneId: LaneId, alias?: string | null) => {\n if (laneId.isDefault()) return laneId.name;\n if (alias) return `${laneId.toString()} (${alias})`;\n return laneId.toString();\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.getCurrentLaneId() || this.lanes.getDefaultLaneId();\n const laneDataOfCurrentLane = currentLane ? lanes.find((l) => currentLane.isEqual(l.id)) : undefined;\n const currentAlias = laneDataOfCurrentLane ? laneDataOfCurrentLane.alias : undefined;\n const currentLaneReadmeComponentStr = outputReadmeComponent(laneDataOfCurrentLane?.readmeComponent);\n let currentLaneStr = `current lane - ${chalk.green.green(laneIdStr(currentLane, currentAlias))}`;\n currentLaneStr += currentLaneReadmeComponentStr;\n\n if (details) {\n const currentLaneComponents = laneDataOfCurrentLane ? outputComponents(laneDataOfCurrentLane.components) : '';\n if (currentLaneStr) {\n currentLaneStr += `\\n${currentLaneComponents}`;\n }\n }\n\n const availableLanes = lanes\n .filter((l) => !currentLane.isEqual(l.id))\n .map((laneData) => {\n const readmeComponentStr = outputReadmeComponent(laneData.readmeComponent);\n if (details) {\n const laneTitle = `> ${chalk.bold(laneIdStr(laneData.id, laneData.alias))}\\n`;\n const components = outputComponents(laneData.components);\n return laneTitle + readmeComponentStr.concat('\\n') + components;\n }\n return ` > ${chalk.green(laneIdStr(laneData.id, laneData.alias))} (${\n laneData.components.length\n } 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.getCurrentLaneNameOrAlias();\n return { lanes, currentLane };\n }\n}\n\nexport class LaneShowCmd implements Command {\n name = 'show [lane-name]';\n description = `show lane details. if no lane specified, show the current lane`;\n alias = '';\n options = [\n ['j', 'json', 'show the lane details in json format'],\n ['r', 'remote', 'show the lane from remote'],\n ] as CommandOptions;\n loader = 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 if (!name) {\n name = this.lanes.getCurrentLaneName() || DEFAULT_LANE;\n }\n\n if (!name && remote) {\n throw new Error('remote flag is not supported without lane name');\n }\n\n const laneId = await this.lanes.parseLaneId(name);\n\n const lanes = await this.lanes.getLanes({\n name: laneId.name,\n remote: remote ? laneId.scope : undefined,\n });\n\n const onlyLane = lanes[0];\n const title = `showing information for ${chalk.bold(onlyLane.id.toString())}\\n`;\n const author = `author: ${onlyLane.log?.username || 'N/A'} <${onlyLane.log?.email || 'N/A'}>\\n`;\n const date = onlyLane.log?.date\n ? `created: ${new Date(parseInt(onlyLane.log.date)).toLocaleString()}\\n`\n : undefined;\n return title + author + date + 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\n return lanes[0];\n }\n}\n\nexport class LaneCreateCmd implements Command {\n name = 'create <lane-name>';\n arguments = [\n {\n name: 'lane-name',\n description: 'the name for the new lane',\n },\n ];\n description = `creates a new lane and switches to it`;\n extendedDescription = `a lane created from main (default-lane) is empty until components are snapped.\na lane created from another lane has all the components of the original lane.`;\n alias = '';\n options = [\n [\n 's',\n 'scope <scope-name>',\n 'remote scope where this lane will be exported to, default to the defaultScope (can be changed later with \"bit lane change-scope\")',\n ],\n ['', 'remote-scope <scope-name>', 'DEPRECATED. use --scope'],\n [\n '',\n 'alias <name>',\n 'a local alias to refer to this lane, defaults to the `<lane-name>` (can be added later with \"bit lane alias\")',\n ],\n ['', 'fork-lane-new-scope', 'allow forking a lane into a different scope than the original lane'],\n ] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report([name]: [string], createLaneOptions: CreateLaneOptions & { remoteScope?: string }): Promise<string> {\n const currentLane = await this.lanes.getCurrentLane();\n if (createLaneOptions.remoteScope) createLaneOptions.scope = createLaneOptions.remoteScope;\n const result = await this.lanes.createLane(name, createLaneOptions);\n const remoteScopeOrDefaultScope = createLaneOptions.scope\n ? `the remote scope ${chalk.bold(createLaneOptions.scope)}`\n : `the default-scope ${chalk.bold(\n result.laneId.scope\n )}. to change it, please run \"bit lane change-scope\" command`;\n const title = chalk.green(\n `successfully added and checked out to a new lane ${chalk.bold(result.alias || result.laneId.name)}\n ${currentLane !== null ? chalk.yellow(`\\nnote - your new lane will be based on lane ${currentLane.name}`) : ''}\n `\n );\n const remoteScopeOutput = `this lane will be exported to ${remoteScopeOrDefaultScope}`;\n return `${title}\\n${remoteScopeOutput}`;\n }\n}\n\nexport class LaneAliasCmd implements Command {\n name = 'alias <lane-name> <alias>';\n description = 'adds an alias to a lane';\n extendedDescription = `an alias is a name that can be used to refer to a lane. it is saved locally and never reach the remote.\nit is useful when having multiple lanes with the same name, but with different remote scopes.`;\n alias = '';\n options = [] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report([laneName, alias]: [string, string, string]): Promise<string> {\n const { laneId } = await this.lanes.aliasLane(laneName, alias);\n return `successfully added the alias ${chalk.bold(alias)} to the lane ${chalk.bold(laneId.toString())}`;\n }\n}\n\nexport class LaneChangeScopeCmd implements Command {\n name = 'change-scope <lane-name> <remote-scope-name>';\n description = `changes the remote scope of a lane`;\n alias = '';\n options = [] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report([localName, remoteScope]: [string, string]): Promise<string> {\n const { remoteScopeBefore } = await this.lanes.changeScope(localName, remoteScope);\n return `the remote-scope of ${chalk.bold(localName)} has been changed from ${chalk.bold(\n remoteScopeBefore\n )} to ${chalk.bold(remoteScope)}`;\n }\n}\n\nexport class LaneRenameCmd implements Command {\n name = 'rename <current-name> <new-name>';\n description = `EXPERIMENTAL. change the lane-name locally and on the remote (if exported)`;\n alias = '';\n options = [] as CommandOptions;\n loader = true;\n migration = true;\n constructor(private lanes: LanesMain) {}\n\n async report([currentName, newName]: [string, string]): Promise<string> {\n const { exported, exportErr } = await this.lanes.rename(currentName, newName);\n const exportedStr = exported\n ? `and have been exported successfully to the remote`\n : `however if failed to export the renamed lane to the remote, due to an error: ${\n exportErr?.message || 'unknown'\n }`;\n return `the lane ${chalk.bold(currentName)} has been changed to ${chalk.bold(newName)}, ${exportedStr}`;\n }\n}\n\nexport class LaneRemoveCmd implements Command {\n name = 'remove <lanes...>';\n arguments = [{ name: 'lanes...', description: 'A list of lane names, separated by spaces' }];\n description = `remove lanes`;\n group = 'collaborate';\n alias = '';\n options = [\n ['r', 'remote', 'remove a remote lane (in the lane arg, use remote/lane-id syntax)'],\n ['f', 'force', 'removes the lane even when the lane was not merged yet'],\n ['s', 'silent', 'skip confirmation'],\n ] as CommandOptions;\n loader = 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.shouldProceed)) {\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 type RemoveCompsOpts = { workspaceOnly?: boolean; updateMain?: boolean };\n\nexport class LaneRemoveCompCmd implements Command {\n name = 'remove-comp <component-pattern>';\n arguments = [\n {\n name: 'component-pattern',\n description: COMPONENT_PATTERN_HELP,\n },\n ];\n description = `remove components when on a lane`;\n extendedDescription = `in case the components are part of the lane and the lane is exported, it marks the components as removed,\nand then after snap+export, the remote-lane gets updated as well. upon lane-merge, these components are skipped.\n\nin case the components are not part of the lane or the lane is new, it simply removes the components from the workspace`;\n group = 'collaborate';\n alias = 'rc';\n options = [\n ['', 'workspace-only', 'do not mark the components as removed. instead, remove them from the workspace only'],\n ['', 'update-main', 'EXPERIMENTAL. mark as removed on main after merging this lane into main'],\n ] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private workspace: Workspace, private lanes: LanesMain) {}\n\n async report([componentsPattern]: [string], removeCompsOpts: RemoveCompsOpts): Promise<string> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n if (this.workspace.isOnMain()) {\n throw new Error(`error: you're checked out to main, please use \"bit remove\" instead`);\n }\n const { removedFromWs, markedRemoved } = await this.lanes.removeComps(componentsPattern, removeCompsOpts);\n const getMarkedRemovedStr = () => {\n if (!markedRemoved.length) return '';\n return `${chalk.green('successfully marked the following components as removed:')}\n${markedRemoved.join('\\n')}\n\n${chalk.bold('to update the remote, please snap and then export. to revert, please use \"bit recover\"')}\n`;\n };\n const getRemovedFromWsStr = () => {\n if (!removedFromWs.length) return '';\n return `\\n${chalk.green('successfully removed the following components from the workspace:')}\n(either: these components were not part of the lane, so there was no need to mark them as removed or --workspace-only was used)\n${removedFromWs.join('\\n')}`;\n };\n return getMarkedRemovedStr() + getRemovedFromWsStr();\n }\n}\n\nexport class LaneImportCmd implements Command {\n name = 'import <lane>';\n description = `import a remote lane to your workspace`;\n arguments = [{ name: 'lane', description: 'the remote lane name' }];\n alias = '';\n options = [\n ['x', 'skip-dependency-installation', 'do not install packages of the imported components'],\n [\n 'p',\n 'pattern <component-pattern>',\n 'switch only the specified component-pattern. works only when the workspace is empty',\n ],\n ] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private switchCmd: SwitchCmd) {}\n\n async report(\n [lane]: [string],\n { skipDependencyInstallation = false, pattern }: { skipDependencyInstallation: boolean; pattern?: string }\n ): Promise<string> {\n return this.switchCmd.report([lane], { getAll: true, skipDependencyInstallation, pattern });\n }\n}\n\nexport class LaneCmd implements Command {\n name = 'lane [lane-name]';\n description = 'manage lanes';\n alias = 'l';\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 migration = true;\n group = 'collaborate';\n remoteOp = true;\n skipWorkspace = true;\n helpUrl = 'docs/components/lanes';\n commands: Command[] = [];\n\n constructor(private lanes: LanesMain, private workspace: Workspace, private scope: ScopeMain) {}\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 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 ${\n laneName || this.lanes.getCurrentLaneName()\n }`\n );\n }\n\n return chalk.red(`${message}\\n`);\n }\n}\n\nexport class LaneAddReadmeCmd implements Command {\n name = 'add-readme <component-name> [lane-name]';\n description = 'EXPERIMENTAL. adds a readme component to a lane';\n arguments = [\n { name: 'component-id', description: \"the component name or id of the component to use as the lane's readme\" },\n { name: 'lane-name', description: 'the lane to attach the readme to (defaults to the current lane)' },\n ];\n options = [] as CommandOptions;\n loader = 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.getCurrentLaneName()\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.getCurrentLaneName()\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"],"mappings":";;;;;;;;;;;;;;;;AACA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,IAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,GAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,WAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,UAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAM,UAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,SAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,SAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,QAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,WAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,UAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAVA;;AAsBO,MAAMS,WAAW,CAAoB;EAgB1CC,WAAWA,CAASC,KAAgB,EAAUC,SAAoB,EAAUC,KAAgB,EAAE;IAAA,KAA1EF,KAAgB,GAAhBA,KAAgB;IAAA,KAAUC,SAAoB,GAApBA,SAAoB;IAAA,KAAUC,KAAgB,GAAhBA,KAAgB;IAAA,IAAAC,gBAAA,GAAAC,OAAA,gBAfrF,MAAM;IAAA,IAAAD,gBAAA,GAAAC,OAAA,uBACE,YAAW;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBAClB,EAAE;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBACA,CACR,CAAC,GAAG,EAAE,SAAS,EAAE,+DAA+D,CAAC,EACjF,CAAC,GAAG,EAAE,MAAM,EAAE,qCAAqC,CAAC,EACpD,CAAC,GAAG,EAAE,4BAA4B,EAAE,mBAAmB,CAAC,EACxD,CAAC,EAAE,EAAE,QAAQ,EAAE,mBAAmB,CAAC,EACnC,CAAC,EAAE,EAAE,YAAY,EAAE,gCAAgC,CAAC,CACrD;IAAA,IAAAD,gBAAA,GAAAC,OAAA,kBACQ,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,qBACD,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,oBACL,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,yBACC,IAAI;EAE2E;EAE/F,MAAMC,MAAMA,CAACC,IAAI,EAAEC,WAAwB,EAAmB;IAC5D,MAAM;MAAEC,OAAO;MAAEC,MAAM;MAAEC,MAAM;MAAEC;IAAU,CAAC,GAAGJ,WAAW;IAC1D,MAAMK,SAAS,GAAGA,CAACC,MAAc,EAAEC,KAAqB,KAAK;MAC3D,IAAID,MAAM,CAACE,SAAS,CAAC,CAAC,EAAE,OAAOF,MAAM,CAACG,IAAI;MAC1C,IAAIF,KAAK,EAAE,OAAQ,GAAED,MAAM,CAACI,QAAQ,CAAC,CAAE,KAAIH,KAAM,GAAE;MACnD,OAAOD,MAAM,CAACI,QAAQ,CAAC,CAAC;IAC1B,CAAC;IACD,MAAMjB,KAAK,GAAG,MAAM,IAAI,CAACA,KAAK,CAACkB,QAAQ,CAAC;MACtCT,MAAM;MACNC,MAAM;MACNC,SAAS;MACTQ,eAAe,EAAE;IACnB,CAAC,CAAC;IACF,IAAIT,MAAM,EAAE;MACV,MAAMU,WAAW,GAAGpB,KAAK,CAACqB,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAACC,QAAQ,CAAC;MACnD,IAAI,CAACH,WAAW,CAACI,MAAM,EAAE,OAAOC,gBAAK,CAACC,KAAK,CAAC,6BAA6B,CAAC;MAC1E,OAAOD,gBAAK,CAACC,KAAK,CAACN,WAAW,CAACO,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACZ,IAAI,CAAC,CAACa,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D;IACA,IAAIlB,SAAS,EAAE;MACb,MAAMmB,aAAa,GAAG9B,KAAK,CAACqB,MAAM,CAAEC,CAAC,IAAK,CAACA,CAAC,CAACC,QAAQ,CAAC;MACtD,IAAI,CAACO,aAAa,CAACN,MAAM,EAAE,OAAOC,gBAAK,CAACC,KAAK,CAAC,sBAAsB,CAAC;MACrE,OAAOD,gBAAK,CAACC,KAAK,CAACI,aAAa,CAACH,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACZ,IAAI,CAAC,CAACa,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE;IACA,MAAME,WAAW,GAAG,IAAI,CAAC/B,KAAK,CAACgC,gBAAgB,CAAC,CAAC,IAAI,IAAI,CAAChC,KAAK,CAACiC,gBAAgB,CAAC,CAAC;IAClF,MAAMC,qBAAqB,GAAGH,WAAW,GAAG/B,KAAK,CAACmC,IAAI,CAAEb,CAAC,IAAKS,WAAW,CAACK,OAAO,CAACd,CAAC,CAACe,EAAE,CAAC,CAAC,GAAGC,SAAS;IACpG,MAAMC,YAAY,GAAGL,qBAAqB,GAAGA,qBAAqB,CAACpB,KAAK,GAAGwB,SAAS;IACpF,MAAME,6BAA6B,GAAGC,qBAAqB,CAACP,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAEQ,eAAe,CAAC;IACnG,IAAIC,cAAc,GAAI,kBAAiBlB,gBAAK,CAACC,KAAK,CAACA,KAAK,CAACd,SAAS,CAACmB,WAAW,EAAEQ,YAAY,CAAC,CAAE,EAAC;IAChGI,cAAc,IAAIH,6BAA6B;IAE/C,IAAIhC,OAAO,EAAE;MACX,MAAMoC,qBAAqB,GAAGV,qBAAqB,GAAGW,gBAAgB,CAACX,qBAAqB,CAACY,UAAU,CAAC,GAAG,EAAE;MAC7G,IAAIH,cAAc,EAAE;QAClBA,cAAc,IAAK,KAAIC,qBAAsB,EAAC;MAChD;IACF;IAEA,MAAMG,cAAc,GAAG/C,KAAK,CACzBqB,MAAM,CAAEC,CAAC,IAAK,CAACS,WAAW,CAACK,OAAO,CAACd,CAAC,CAACe,EAAE,CAAC,CAAC,CACzCV,GAAG,CAAEqB,QAAQ,IAAK;MACjB,MAAMC,kBAAkB,GAAGR,qBAAqB,CAACO,QAAQ,CAACN,eAAe,CAAC;MAC1E,IAAIlC,OAAO,EAAE;QACX,MAAM0C,SAAS,GAAI,KAAIzB,gBAAK,CAAC0B,IAAI,CAACvC,SAAS,CAACoC,QAAQ,CAACX,EAAE,EAAEW,QAAQ,CAAClC,KAAK,CAAC,CAAE,IAAG;QAC7E,MAAMgC,UAAU,GAAGD,gBAAgB,CAACG,QAAQ,CAACF,UAAU,CAAC;QACxD,OAAOI,SAAS,GAAGD,kBAAkB,CAACG,MAAM,CAAC,IAAI,CAAC,GAAGN,UAAU;MACjE;MACA,OAAQ,SAAQrB,gBAAK,CAACC,KAAK,CAACd,SAAS,CAACoC,QAAQ,CAACX,EAAE,EAAEW,QAAQ,CAAClC,KAAK,CAAC,CAAE,KAClEkC,QAAQ,CAACF,UAAU,CAACtB,MACrB,eAAcyB,kBAAmB,EAAC;IACrC,CAAC,CAAC,CACDpB,IAAI,CAAC,IAAI,CAAC;IAEb,MAAMwB,YAAY,GAAGA,CAAA,KAAM;MACzB,IAAIC,MAAM,GAAG,IAAI;MACjB,IAAI9C,OAAO,EAAE;QACX8C,MAAM,IAAI,kFAAkF;MAC9F,CAAC,MAAM;QACLA,MAAM,IACJ,8HAA8H;MAClI;MACA,IAAI,CAAC7C,MAAM,IAAI,IAAI,CAACR,SAAS,EAAEqD,MAAM,IAAK,2CAA0C;MAEpF,OAAOA,MAAM;IACf,CAAC;IAED,OAAOC,iBAAiB,CAAC,CAAC,GAAGC,oBAAoB,CAAC,CAAC,GAAGH,YAAY,CAAC,CAAC;IAEpE,SAASE,iBAAiBA,CAAA,EAAG;MAC3B,OAAOZ,cAAc,GAAI,GAAEA,cAAe,IAAG,GAAG,EAAE;IACpD;IAEA,SAASa,oBAAoBA,CAAA,EAAG;MAC9B,IAAI,CAACT,cAAc,EAAE,OAAO,EAAE;MAC9B,OAAOtC,MAAM,GAAI,GAAEsC,cAAe,IAAG,GAAI,uBAAsBA,cAAe,IAAG;IACnF;EACF;EACA,MAAMU,IAAIA,CAACnD,IAAI,EAAEC,WAAwB,EAAE;IACzC,MAAM;MAAEE,MAAM;MAAEC,MAAM,GAAG,KAAK;MAAEC,SAAS,GAAG;IAAM,CAAC,GAAGJ,WAAW;IAEjE,MAAMP,KAAK,GAAG,MAAM,IAAI,CAACA,KAAK,CAACkB,QAAQ,CAAC;MACtCT,MAAM;MACNU,eAAe,EAAE,IAAI;MACrBT,MAAM;MACNC;IACF,CAAC,CAAC;IACF,MAAMoB,WAAW,GAAG,IAAI,CAAC/B,KAAK,CAAC0D,yBAAyB,CAAC,CAAC;IAC1D,OAAO;MAAE1D,KAAK;MAAE+B;IAAY,CAAC;EAC/B;AACF;AAAC4B,OAAA,CAAA7D,WAAA,GAAAA,WAAA;AAEM,MAAM8D,WAAW,CAAoB;EAa1C7D,WAAWA,CAASC,KAAgB,EAAUC,SAAoB,EAAUC,KAAgB,EAAE;IAAA,KAA1EF,KAAgB,GAAhBA,KAAgB;IAAA,KAAUC,SAAoB,GAApBA,SAAoB;IAAA,KAAUC,KAAgB,GAAhBA,KAAgB;IAAA,IAAAC,gBAAA,GAAAC,OAAA,gBAZrF,kBAAkB;IAAA,IAAAD,gBAAA,GAAAC,OAAA,uBACV,gEAA+D;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBACtE,EAAE;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBACA,CACR,CAAC,GAAG,EAAE,MAAM,EAAE,sCAAsC,CAAC,EACrD,CAAC,GAAG,EAAE,QAAQ,EAAE,2BAA2B,CAAC,CAC7C;IAAA,IAAAD,gBAAA,GAAAC,OAAA,kBACQ,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,qBACD,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,oBACL,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,yBACC,IAAI;EAE2E;EAE/F,MAAMC,MAAMA,CAAC,CAACW,IAAI,CAAW,EAAET,WAAwB,EAAmB;IAAA,IAAAsD,aAAA,EAAAC,cAAA,EAAAC,cAAA;IACxE,MAAM;MAAEtD;IAAO,CAAC,GAAGF,WAAW;IAE9B,IAAI,CAACS,IAAI,EAAE;MACTA,IAAI,GAAG,IAAI,CAAChB,KAAK,CAACgE,kBAAkB,CAAC,CAAC,IAAIC,sBAAY;IACxD;IAEA,IAAI,CAACjD,IAAI,IAAIP,MAAM,EAAE;MACnB,MAAM,IAAIyD,KAAK,CAAC,gDAAgD,CAAC;IACnE;IAEA,MAAMrD,MAAM,GAAG,MAAM,IAAI,CAACb,KAAK,CAACmE,WAAW,CAACnD,IAAI,CAAC;IAEjD,MAAMhB,KAAK,GAAG,MAAM,IAAI,CAACA,KAAK,CAACkB,QAAQ,CAAC;MACtCF,IAAI,EAAEH,MAAM,CAACG,IAAI;MACjBP,MAAM,EAAEA,MAAM,GAAGI,MAAM,CAACX,KAAK,GAAGoC;IAClC,CAAC,CAAC;IAEF,MAAM8B,QAAQ,GAAGpE,KAAK,CAAC,CAAC,CAAC;IACzB,MAAMqE,KAAK,GAAI,2BAA0B5C,gBAAK,CAAC0B,IAAI,CAACiB,QAAQ,CAAC/B,EAAE,CAACpB,QAAQ,CAAC,CAAC,CAAE,IAAG;IAC/E,MAAMqD,MAAM,GAAI,WAAU,EAAAT,aAAA,GAAAO,QAAQ,CAACG,GAAG,cAAAV,aAAA,uBAAZA,aAAA,CAAcW,QAAQ,KAAI,KAAM,KAAI,EAAAV,cAAA,GAAAM,QAAQ,CAACG,GAAG,cAAAT,cAAA,uBAAZA,cAAA,CAAcW,KAAK,KAAI,KAAM,KAAI;IAC/F,MAAMC,IAAI,GAAG,CAAAX,cAAA,GAAAK,QAAQ,CAACG,GAAG,cAAAR,cAAA,eAAZA,cAAA,CAAcW,IAAI,GAC1B,YAAW,IAAIC,IAAI,CAACC,QAAQ,CAACR,QAAQ,CAACG,GAAG,CAACG,IAAI,CAAC,CAAC,CAACG,cAAc,CAAC,CAAE,IAAG,GACtEvC,SAAS;IACb,OAAO+B,KAAK,GAAGC,MAAM,GAAGI,IAAI,GAAG7B,gBAAgB,CAACuB,QAAQ,CAACtB,UAAU,CAAC;EACtE;EAEA,MAAMW,IAAIA,CAAC,CAACzC,IAAI,CAAW,EAAET,WAAwB,EAAE;IACrD,MAAM;MAAEE;IAAO,CAAC,GAAGF,WAAW;IAE9B,MAAMP,KAAK,GAAG,MAAM,IAAI,CAACA,KAAK,CAACkB,QAAQ,CAAC;MACtCF,IAAI;MACJP;IACF,CAAC,CAAC;IAEF,OAAOT,KAAK,CAAC,CAAC,CAAC;EACjB;AACF;AAAC2D,OAAA,CAAAC,WAAA,GAAAA,WAAA;AAEM,MAAMkB,aAAa,CAAoB;EA6B5C/E,WAAWA,CAASC,KAAgB,EAAE;IAAA,KAAlBA,KAAgB,GAAhBA,KAAgB;IAAA,IAAAG,gBAAA,GAAAC,OAAA,gBA5B7B,oBAAoB;IAAA,IAAAD,gBAAA,GAAAC,OAAA,qBACf,CACV;MACEY,IAAI,EAAE,WAAW;MACjB+D,WAAW,EAAE;IACf,CAAC,CACF;IAAA,IAAA5E,gBAAA,GAAAC,OAAA,uBACc,uCAAsC;IAAA,IAAAD,gBAAA,GAAAC,OAAA,+BAC9B;AACzB,8EAA8E;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBACpE,EAAE;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBACA,CACR,CACE,GAAG,EACH,oBAAoB,EACpB,mIAAmI,CACpI,EACD,CAAC,EAAE,EAAE,2BAA2B,EAAE,yBAAyB,CAAC,EAC5D,CACE,EAAE,EACF,cAAc,EACd,+GAA+G,CAChH,EACD,CAAC,EAAE,EAAE,qBAAqB,EAAE,oEAAoE,CAAC,CAClG;IAAA,IAAAD,gBAAA,GAAAC,OAAA,kBACQ,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,qBACD,IAAI;EAEuB;EAEvC,MAAMC,MAAMA,CAAC,CAACW,IAAI,CAAW,EAAEgE,iBAA+D,EAAmB;IAC/G,MAAMjD,WAAW,GAAG,MAAM,IAAI,CAAC/B,KAAK,CAACiF,cAAc,CAAC,CAAC;IACrD,IAAID,iBAAiB,CAACE,WAAW,EAAEF,iBAAiB,CAAC9E,KAAK,GAAG8E,iBAAiB,CAACE,WAAW;IAC1F,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACnF,KAAK,CAACoF,UAAU,CAACpE,IAAI,EAAEgE,iBAAiB,CAAC;IACnE,MAAMK,yBAAyB,GAAGL,iBAAiB,CAAC9E,KAAK,GACpD,oBAAmBuB,gBAAK,CAAC0B,IAAI,CAAC6B,iBAAiB,CAAC9E,KAAK,CAAE,EAAC,GACxD,qBAAoBuB,gBAAK,CAAC0B,IAAI,CAC7BgC,MAAM,CAACtE,MAAM,CAACX,KAChB,CAAE,4DAA2D;IACjE,MAAMmE,KAAK,GAAG5C,gBAAK,CAACC,KAAK,CACtB,oDAAmDD,gBAAK,CAAC0B,IAAI,CAACgC,MAAM,CAACrE,KAAK,IAAIqE,MAAM,CAACtE,MAAM,CAACG,IAAI,CAAE;AACzG,QAAQe,WAAW,KAAK,IAAI,GAAGN,gBAAK,CAAC6D,MAAM,CAAE,gDAA+CvD,WAAW,CAACf,IAAK,EAAC,CAAC,GAAG,EAAG;AACrH,OACI,CAAC;IACD,MAAMuE,iBAAiB,GAAI,iCAAgCF,yBAA0B,EAAC;IACtF,OAAQ,GAAEhB,KAAM,KAAIkB,iBAAkB,EAAC;EACzC;AACF;AAAC5B,OAAA,CAAAmB,aAAA,GAAAA,aAAA;AAEM,MAAMU,YAAY,CAAoB;EAU3CzF,WAAWA,CAASC,KAAgB,EAAE;IAAA,KAAlBA,KAAgB,GAAhBA,KAAgB;IAAA,IAAAG,gBAAA,GAAAC,OAAA,gBAT7B,2BAA2B;IAAA,IAAAD,gBAAA,GAAAC,OAAA,uBACpB,yBAAyB;IAAA,IAAAD,gBAAA,GAAAC,OAAA,+BAChB;AACzB,8FAA8F;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBACpF,EAAE;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBACA,EAAE;IAAA,IAAAD,gBAAA,GAAAC,OAAA,kBACH,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,qBACD,IAAI;EAEuB;EAEvC,MAAMC,MAAMA,CAAC,CAACoF,QAAQ,EAAE3E,KAAK,CAA2B,EAAmB;IACzE,MAAM;MAAED;IAAO,CAAC,GAAG,MAAM,IAAI,CAACb,KAAK,CAAC0F,SAAS,CAACD,QAAQ,EAAE3E,KAAK,CAAC;IAC9D,OAAQ,gCAA+BW,gBAAK,CAAC0B,IAAI,CAACrC,KAAK,CAAE,gBAAeW,gBAAK,CAAC0B,IAAI,CAACtC,MAAM,CAACI,QAAQ,CAAC,CAAC,CAAE,EAAC;EACzG;AACF;AAAC0C,OAAA,CAAA6B,YAAA,GAAAA,YAAA;AAEM,MAAMG,kBAAkB,CAAoB;EAQjD5F,WAAWA,CAASC,KAAgB,EAAE;IAAA,KAAlBA,KAAgB,GAAhBA,KAAgB;IAAA,IAAAG,gBAAA,GAAAC,OAAA,gBAP7B,8CAA8C;IAAA,IAAAD,gBAAA,GAAAC,OAAA,uBACtC,oCAAmC;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBAC1C,EAAE;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBACA,EAAE;IAAA,IAAAD,gBAAA,GAAAC,OAAA,kBACH,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,qBACD,IAAI;EAEuB;EAEvC,MAAMC,MAAMA,CAAC,CAACuF,SAAS,EAAEV,WAAW,CAAmB,EAAmB;IACxE,MAAM;MAAEW;IAAkB,CAAC,GAAG,MAAM,IAAI,CAAC7F,KAAK,CAAC8F,WAAW,CAACF,SAAS,EAAEV,WAAW,CAAC;IAClF,OAAQ,uBAAsBzD,gBAAK,CAAC0B,IAAI,CAACyC,SAAS,CAAE,0BAAyBnE,gBAAK,CAAC0B,IAAI,CACrF0C,iBACF,CAAE,OAAMpE,gBAAK,CAAC0B,IAAI,CAAC+B,WAAW,CAAE,EAAC;EACnC;AACF;AAACvB,OAAA,CAAAgC,kBAAA,GAAAA,kBAAA;AAEM,MAAMI,aAAa,CAAoB;EAO5ChG,WAAWA,CAASC,KAAgB,EAAE;IAAA,KAAlBA,KAAgB,GAAhBA,KAAgB;IAAA,IAAAG,gBAAA,GAAAC,OAAA,gBAN7B,kCAAkC;IAAA,IAAAD,gBAAA,GAAAC,OAAA,uBAC1B,4EAA2E;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBAClF,EAAE;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBACA,EAAE;IAAA,IAAAD,gBAAA,GAAAC,OAAA,kBACH,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,qBACD,IAAI;EACuB;EAEvC,MAAMC,MAAMA,CAAC,CAAC2F,WAAW,EAAEC,OAAO,CAAmB,EAAmB;IACtE,MAAM;MAAEC,QAAQ;MAAEC;IAAU,CAAC,GAAG,MAAM,IAAI,CAACnG,KAAK,CAACoG,MAAM,CAACJ,WAAW,EAAEC,OAAO,CAAC;IAC7E,MAAMI,WAAW,GAAGH,QAAQ,GACvB,mDAAkD,GAClD,gFACC,CAAAC,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEG,OAAO,KAAI,SACvB,EAAC;IACN,OAAQ,YAAW7E,gBAAK,CAAC0B,IAAI,CAAC6C,WAAW,CAAE,wBAAuBvE,gBAAK,CAAC0B,IAAI,CAAC8C,OAAO,CAAE,KAAII,WAAY,EAAC;EACzG;AACF;AAAC1C,OAAA,CAAAoC,aAAA,GAAAA,aAAA;AAEM,MAAMQ,aAAa,CAAoB;EAc5CxG,WAAWA,CAASC,KAAgB,EAAE;IAAA,KAAlBA,KAAgB,GAAhBA,KAAgB;IAAA,IAAAG,gBAAA,GAAAC,OAAA,gBAb7B,mBAAmB;IAAA,IAAAD,gBAAA,GAAAC,OAAA,qBACd,CAAC;MAAEY,IAAI,EAAE,UAAU;MAAE+D,WAAW,EAAE;IAA4C,CAAC,CAAC;IAAA,IAAA5E,gBAAA,GAAAC,OAAA,uBAC7E,cAAa;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBACpB,aAAa;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBACb,EAAE;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBACA,CACR,CAAC,GAAG,EAAE,QAAQ,EAAE,mEAAmE,CAAC,EACpF,CAAC,GAAG,EAAE,OAAO,EAAE,wDAAwD,CAAC,EACxE,CAAC,GAAG,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CACrC;IAAA,IAAAD,gBAAA,GAAAC,OAAA,kBACQ,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,qBACD,IAAI;EAEuB;EAEvC,MAAMC,MAAMA,CACV,CAACmG,KAAK,CAAa,EACnB;IACE/F,MAAM,GAAG,KAAK;IACdgG,KAAK,GAAG,KAAK;IACbC,MAAM,GAAG;EAKX,CAAC,EACgB;IACjB,IAAI,CAACA,MAAM,EAAE;MACX,MAAMC,kBAAkB,GAAG,MAAM,IAAAC,2BAAgB,EAAC,CAAC;MACnD;MACA,IAAI,CAAC,IAAAC,aAAE,EAACF,kBAAkB,CAACG,aAAa,CAAC,EAAE;QACzC,MAAM,KAAIC,oBAAQ,EAAC,iCAAiC,CAAC;MACvD;IACF;IACA,MAAMC,WAAW,GAAG,MAAM,IAAI,CAAChH,KAAK,CAACiH,WAAW,CAACT,KAAK,EAAE;MAAE/F,MAAM;MAAEgG;IAAM,CAAC,CAAC;IAC1E,OAAOhF,gBAAK,CAACC,KAAK,CAAE,+CAA8CD,gBAAK,CAAC0B,IAAI,CAAC6D,WAAW,CAACnF,IAAI,CAAC,IAAI,CAAC,CAAE,EAAC,CAAC;EACzG;AACF;AAAC8B,OAAA,CAAA4C,aAAA,GAAAA,aAAA;AAIM,MAAMW,iBAAiB,CAAoB;EAsBhDnH,WAAWA,CAASE,SAAoB,EAAUD,KAAgB,EAAE;IAAA,KAAhDC,SAAoB,GAApBA,SAAoB;IAAA,KAAUD,KAAgB,GAAhBA,KAAgB;IAAA,IAAAG,gBAAA,GAAAC,OAAA,gBArB3D,iCAAiC;IAAA,IAAAD,gBAAA,GAAAC,OAAA,qBAC5B,CACV;MACEY,IAAI,EAAE,mBAAmB;MACzB+D,WAAW,EAAEoC;IACf,CAAC,CACF;IAAA,IAAAhH,gBAAA,GAAAC,OAAA,uBACc,kCAAiC;IAAA,IAAAD,gBAAA,GAAAC,OAAA,+BACzB;AACzB;AACA;AACA,wHAAwH;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBAC9G,aAAa;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBACb,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBACF,CACR,CAAC,EAAE,EAAE,gBAAgB,EAAE,qFAAqF,CAAC,EAC7G,CAAC,EAAE,EAAE,aAAa,EAAE,yEAAyE,CAAC,CAC/F;IAAA,IAAAD,gBAAA,GAAAC,OAAA,kBACQ,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,qBACD,IAAI;EAEqD;EAErE,MAAMC,MAAMA,CAAC,CAAC+G,iBAAiB,CAAW,EAAEC,eAAgC,EAAmB;IAC7F,IAAI,CAAC,IAAI,CAACpH,SAAS,EAAE,MAAM,KAAIqH,kCAAqB,EAAC,CAAC;IACtD,IAAI,IAAI,CAACrH,SAAS,CAACsH,QAAQ,CAAC,CAAC,EAAE;MAC7B,MAAM,IAAIrD,KAAK,CAAE,oEAAmE,CAAC;IACvF;IACA,MAAM;MAAEsD,aAAa;MAAEC;IAAc,CAAC,GAAG,MAAM,IAAI,CAACzH,KAAK,CAAC0H,WAAW,CAACN,iBAAiB,EAAEC,eAAe,CAAC;IACzG,MAAMM,mBAAmB,GAAGA,CAAA,KAAM;MAChC,IAAI,CAACF,aAAa,CAACjG,MAAM,EAAE,OAAO,EAAE;MACpC,OAAQ,GAAEC,gBAAK,CAACC,KAAK,CAAC,0DAA0D,CAAE;AACxF,EAAE+F,aAAa,CAAC5F,IAAI,CAAC,IAAI,CAAE;AAC3B;AACA,EAAEJ,gBAAK,CAAC0B,IAAI,CAAC,wFAAwF,CAAE;AACvG,CAAC;IACG,CAAC;IACD,MAAMyE,mBAAmB,GAAGA,CAAA,KAAM;MAChC,IAAI,CAACJ,aAAa,CAAChG,MAAM,EAAE,OAAO,EAAE;MACpC,OAAQ,KAAIC,gBAAK,CAACC,KAAK,CAAC,mEAAmE,CAAE;AACnG;AACA,EAAE8F,aAAa,CAAC3F,IAAI,CAAC,IAAI,CAAE,EAAC;IACxB,CAAC;IACD,OAAO8F,mBAAmB,CAAC,CAAC,GAAGC,mBAAmB,CAAC,CAAC;EACtD;AACF;AAACjE,OAAA,CAAAuD,iBAAA,GAAAA,iBAAA;AAEM,MAAMW,aAAa,CAAoB;EAgB5C9H,WAAWA,CAAS+H,SAAoB,EAAE;IAAA,KAAtBA,SAAoB,GAApBA,SAAoB;IAAA,IAAA3H,gBAAA,GAAAC,OAAA,gBAfjC,eAAe;IAAA,IAAAD,gBAAA,GAAAC,OAAA,uBACP,wCAAuC;IAAA,IAAAD,gBAAA,GAAAC,OAAA,qBAC1C,CAAC;MAAEY,IAAI,EAAE,MAAM;MAAE+D,WAAW,EAAE;IAAuB,CAAC,CAAC;IAAA,IAAA5E,gBAAA,GAAAC,OAAA,iBAC3D,EAAE;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBACA,CACR,CAAC,GAAG,EAAE,8BAA8B,EAAE,oDAAoD,CAAC,EAC3F,CACE,GAAG,EACH,6BAA6B,EAC7B,qFAAqF,CACtF,CACF;IAAA,IAAAD,gBAAA,GAAAC,OAAA,kBACQ,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,qBACD,IAAI;EAE2B;EAE3C,MAAMC,MAAMA,CACV,CAAC0H,IAAI,CAAW,EAChB;IAAEC,0BAA0B,GAAG,KAAK;IAAEC;EAAmE,CAAC,EACzF;IACjB,OAAO,IAAI,CAACH,SAAS,CAACzH,MAAM,CAAC,CAAC0H,IAAI,CAAC,EAAE;MAAEG,MAAM,EAAE,IAAI;MAAEF,0BAA0B;MAAEC;IAAQ,CAAC,CAAC;EAC7F;AACF;AAACtE,OAAA,CAAAkE,aAAA,GAAAA,aAAA;AAEM,MAAMM,OAAO,CAAoB;EAmBtCpI,WAAWA,CAASC,KAAgB,EAAUC,SAAoB,EAAUC,KAAgB,EAAE;IAAA,KAA1EF,KAAgB,GAAhBA,KAAgB;IAAA,KAAUC,SAAoB,GAApBA,SAAoB;IAAA,KAAUC,KAAgB,GAAhBA,KAAgB;IAAA,IAAAC,gBAAA,GAAAC,OAAA,gBAlBrF,kBAAkB;IAAA,IAAAD,gBAAA,GAAAC,OAAA,uBACX,cAAc;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBACpB,GAAG;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBACD,CACR,CAAC,GAAG,EAAE,SAAS,EAAE,+DAA+D,CAAC,EACjF,CAAC,GAAG,EAAE,MAAM,EAAE,mCAAmC,CAAC,EAClD,CAAC,GAAG,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,EAC7C,CAAC,EAAE,EAAE,QAAQ,EAAE,mBAAmB,CAAC,EACnC,CAAC,EAAE,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAC5C;IAAA,IAAAD,gBAAA,GAAAC,OAAA,kBACQ,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,qBACD,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBACR,aAAa;IAAA,IAAAD,gBAAA,GAAAC,OAAA,oBACV,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,yBACC,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBACV,uBAAuB;IAAA,IAAAD,gBAAA,GAAAC,OAAA,oBACX,EAAE;EAEuE;EAE/F,MAAMC,MAAMA,CAAC,CAACW,IAAI,CAAW,EAAET,WAAwB,EAAmB;IACxE,OAAO,IAAIT,WAAW,CAAC,IAAI,CAACE,KAAK,EAAE,IAAI,CAACC,SAAS,EAAE,IAAI,CAACC,KAAK,CAAC,CAACG,MAAM,CAAC,CAACW,IAAI,CAAC,EAAET,WAAW,CAAC;EAC5F;AACF;AAACoD,OAAA,CAAAwE,OAAA,GAAAA,OAAA;AAEM,MAAMC,mBAAmB,CAAoB;EAOlDrI,WAAWA,CAASC,KAAgB,EAAE;IAAA,KAAlBA,KAAgB,GAAhBA,KAAgB;IAAA,IAAAG,gBAAA,GAAAC,OAAA,gBAN7B,0BAA0B;IAAA,IAAAD,gBAAA,GAAAC,OAAA,uBACnB,4CAA4C;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBAChD,EAAE;IAAA,IAAAD,gBAAA,GAAAC,OAAA,kBACH,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,yBACG,KAAK;EAEkB;EAEvC,MAAMC,MAAMA,CAAC,CAACoF,QAAQ,CAAW,EAAmB;IAClD,MAAM;MAAEN,MAAM;MAAEmB;IAAQ,CAAC,GAAG,MAAM,IAAI,CAACtG,KAAK,CAACqI,gBAAgB,CAAC5C,QAAQ,CAAC;IAEvE,IAAIN,MAAM,EAAE;MACV,OAAO1D,gBAAK,CAACC,KAAK,CACf,oEACC+D,QAAQ,IAAI,IAAI,CAACzF,KAAK,CAACgE,kBAAkB,CAAC,CAC3C,EACH,CAAC;IACH;IAEA,OAAOvC,gBAAK,CAAC6G,GAAG,CAAE,GAAEhC,OAAQ,IAAG,CAAC;EAClC;AACF;AAAC3C,OAAA,CAAAyE,mBAAA,GAAAA,mBAAA;AAEM,MAAMG,gBAAgB,CAAoB;EAW/CxI,WAAWA,CAASC,KAAgB,EAAE;IAAA,KAAlBA,KAAgB,GAAhBA,KAAgB;IAAA,IAAAG,gBAAA,GAAAC,OAAA,gBAV7B,yCAAyC;IAAA,IAAAD,gBAAA,GAAAC,OAAA,uBAClC,iDAAiD;IAAA,IAAAD,gBAAA,GAAAC,OAAA,qBACnD,CACV;MAAEY,IAAI,EAAE,cAAc;MAAE+D,WAAW,EAAE;IAAwE,CAAC,EAC9G;MAAE/D,IAAI,EAAE,WAAW;MAAE+D,WAAW,EAAE;IAAkE,CAAC,CACtG;IAAA,IAAA5E,gBAAA,GAAAC,OAAA,mBACS,EAAE;IAAA,IAAAD,gBAAA,GAAAC,OAAA,kBACH,IAAI;IAAA,IAAAD,gBAAA,GAAAC,OAAA,yBACG,KAAK;EAEkB;EAEvC,MAAMC,MAAMA,CAAC,CAACmI,WAAW,EAAE/C,QAAQ,CAAmB,EAAmB;IACvE,MAAM;MAAEN,MAAM;MAAEmB;IAAQ,CAAC,GAAG,MAAM,IAAI,CAACtG,KAAK,CAACyI,aAAa,CAACD,WAAW,EAAE/C,QAAQ,CAAC;IAEjF,IAAIN,MAAM,EACR,OAAO1D,gBAAK,CAACC,KAAK,CACf,iBAAgB8G,WAAY,qEAC3B/C,QAAQ,IAAI,IAAI,CAACzF,KAAK,CAACgE,kBAAkB,CAAC,CAC3C,EACH,CAAC;IAEH,OAAOvC,gBAAK,CAAC6G,GAAG,CACb,GAAEhC,OAAO,IAAI,EAAG,mBAAkBkC,WAAY,0DAC7C/C,QAAQ,IAAI,IAAI,CAACzF,KAAK,CAACgE,kBAAkB,CAAC,CAC3C,EACH,CAAC;EACH;AACF;AAACL,OAAA,CAAA4E,gBAAA,GAAAA,gBAAA;AAED,SAAS1F,gBAAgBA,CAACC,UAAkC,EAAU;EACpE,MAAM4F,eAAe,GAAI,KAAIjH,gBAAK,CAAC0B,IAAI,CAAE,eAAcL,UAAU,CAACtB,MAAO,GAAE,CAAE,IAAG;EAChF,MAAMmH,aAAa,GAAG7F,UAAU,CAACnB,GAAG,CAAEiH,CAAC,IAAM,OAAMA,CAAC,CAACvG,EAAE,CAACpB,QAAQ,CAAC,CAAE,MAAK2H,CAAC,CAACC,IAAK,EAAC,CAAC,CAAChH,IAAI,CAAC,IAAI,CAAC;EAC5F,OAAO6G,eAAe,GAAGC,aAAa;AACxC;AAEA,SAASlG,qBAAqBA,CAACqG,SAAsC,EAAU;EAC7E,IAAI,CAACA,SAAS,EAAE,OAAO,EAAE;EACzB,OAAQ,OAAO,GAAErH,gBAAK,CAAC6D,MAAM,CAAC,kBAAkB,CAAE,SAAQwD,SAAS,CAACzG,EAAG,MACrEyG,SAAS,CAACD,IAAI,IACb,iCAAgCC,SAAS,CAACzG,EAAE,CAACrB,IAAK,8DACpD,EAAE,IAAG;AACR"}
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_yn","_laneId","_workspace","_bitError","_prompts","_constants","LaneListCmd","constructor","lanes","workspace","scope","_defineProperty2","default","report","args","laneOptions","details","remote","merged","notMerged","laneIdStr","laneId","alias","isDefault","name","toString","getLanes","showDefaultLane","mergedLanes","filter","l","isMerged","length","chalk","green","map","m","join","unmergedLanes","currentLane","getCurrentLaneId","getDefaultLaneId","laneDataOfCurrentLane","find","isEqual","id","undefined","currentAlias","currentLaneReadmeComponentStr","outputReadmeComponent","readmeComponent","currentLaneStr","currentLaneComponents","outputComponents","components","availableLanes","laneData","readmeComponentStr","laneTitle","bold","concat","outputFooter","footer","outputCurrentLane","outputAvailableLanes","json","getCurrentLaneNameOrAlias","exports","LaneShowCmd","_onlyLane$log","_onlyLane$log2","_onlyLane$log3","Error","getCurrentLaneName","DEFAULT_LANE","parseLaneId","onlyLane","title","author","log","username","email","date","Date","parseInt","toLocaleString","LaneCreateCmd","description","createLaneOptions","getCurrentLane","remoteScope","result","createLane","remoteScopeOrDefaultScope","yellow","remoteScopeOutput","LaneAliasCmd","laneName","aliasLane","LaneChangeScopeCmd","localName","remoteScopeBefore","changeScope","LaneRenameCmd","currentName","newName","exported","exportErr","rename","exportedStr","message","LaneRemoveCmd","names","force","silent","removePromptResult","approveOperation","yn","shouldProceed","BitError","laneResults","removeLanes","LaneRemoveCompCmd","COMPONENT_PATTERN_HELP","componentsPattern","removeCompsOpts","OutsideWorkspaceError","isOnMain","removedFromWs","markedRemoved","removeComps","getMarkedRemovedStr","getRemovedFromWsStr","LaneImportCmd","switchCmd","lane","skipDependencyInstallation","pattern","getAll","LaneCmd","LaneRemoveReadmeCmd","removeLaneReadme","red","LaneAddReadmeCmd","componentId","addLaneReadme","componentsTitle","componentsStr","c","head","component"],"sources":["lane.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport chalk from 'chalk';\nimport yn from 'yn';\nimport { ScopeMain } from '@teambit/scope';\nimport { DEFAULT_LANE, LaneId } from '@teambit/lane-id';\nimport { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { LaneData } from '@teambit/legacy/dist/scope/lanes/lanes';\nimport { BitError } from '@teambit/bit-error';\nimport { approveOperation } from '@teambit/legacy/dist/prompts';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\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 local 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 a json format\"],\n ['r', 'remote <remote-scope-name>', 'show all remote lanes from the specified scope'],\n ['', 'merged', 'list only merged lanes'],\n ['', 'not-merged', \"list only lanes that haven't been merged\"],\n ] as CommandOptions;\n loader = 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 const laneIdStr = (laneId: LaneId, alias?: string | null) => {\n if (laneId.isDefault()) return laneId.name;\n if (alias) return `${laneId.toString()} (${alias})`;\n return laneId.toString();\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.getCurrentLaneId() || this.lanes.getDefaultLaneId();\n const laneDataOfCurrentLane = currentLane ? lanes.find((l) => currentLane.isEqual(l.id)) : undefined;\n const currentAlias = laneDataOfCurrentLane ? laneDataOfCurrentLane.alias : undefined;\n const currentLaneReadmeComponentStr = outputReadmeComponent(laneDataOfCurrentLane?.readmeComponent);\n let currentLaneStr = `current lane - ${chalk.green.green(laneIdStr(currentLane, currentAlias))}`;\n currentLaneStr += currentLaneReadmeComponentStr;\n\n if (details) {\n const currentLaneComponents = laneDataOfCurrentLane ? outputComponents(laneDataOfCurrentLane.components) : '';\n if (currentLaneStr) {\n currentLaneStr += `\\n${currentLaneComponents}`;\n }\n }\n\n const availableLanes = lanes\n .filter((l) => !currentLane.isEqual(l.id))\n .map((laneData) => {\n const readmeComponentStr = outputReadmeComponent(laneData.readmeComponent);\n if (details) {\n const laneTitle = `> ${chalk.bold(laneIdStr(laneData.id, laneData.alias))}\\n`;\n const components = outputComponents(laneData.components);\n return laneTitle + readmeComponentStr.concat('\\n') + components;\n }\n return ` > ${chalk.green(laneIdStr(laneData.id, laneData.alias))} (${\n laneData.components.length\n } 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 local scope 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.getCurrentLaneNameOrAlias();\n return { lanes, currentLane };\n }\n}\n\nexport class LaneShowCmd implements Command {\n name = 'show [lane-name]';\n description = `show lane details. if no lane specified, show the current lane`;\n alias = '';\n options = [\n ['j', 'json', 'show the lane details in json format'],\n ['r', 'remote', 'show details of the remote head of the provided lane'],\n ] as CommandOptions;\n loader = 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 if (!name && remote) {\n throw new Error('remote flag is not supported without lane name');\n }\n if (!name) {\n name = this.lanes.getCurrentLaneName() || DEFAULT_LANE;\n }\n\n const laneId = await this.lanes.parseLaneId(name);\n\n const lanes = await this.lanes.getLanes({\n name: laneId.name,\n remote: remote ? laneId.scope : undefined,\n });\n\n const onlyLane = lanes[0];\n const title = `showing information for ${chalk.bold(onlyLane.id.toString())}\\n`;\n const author = `author: ${onlyLane.log?.username || 'N/A'} <${onlyLane.log?.email || 'N/A'}>\\n`;\n const date = onlyLane.log?.date\n ? `created: ${new Date(parseInt(onlyLane.log.date)).toLocaleString()}\\n`\n : undefined;\n return title + author + date + 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\n return lanes[0];\n }\n}\n\nexport class LaneCreateCmd implements Command {\n name = 'create <lane-name>';\n arguments = [\n {\n name: 'lane-name',\n description: 'the name for the new lane',\n },\n ];\n description = `creates a new lane and switches to it`;\n extendedDescription = `a lane created from main (default-lane) is empty until components are snapped.\na lane created from another lane contains all the components of the original lane.`;\n alias = '';\n options = [\n [\n 's',\n 'scope <scope-name>',\n 'remote scope to which this lane will be exported, default to the workspace.json\\'s defaultScope (can be changed up to first export of the lane with \"bit lane change-scope\")',\n ],\n ['', 'remote-scope <scope-name>', 'DEPRECATED. use --scope'],\n [\n '',\n 'alias <name>',\n 'a local alias to refer to this lane, defaults to the `<lane-name>` (can be added later with \"bit lane alias\")',\n ],\n [\n '',\n 'fork-lane-new-scope',\n 'create the new lane in a different scope than its parent lane (if created from another lane)',\n ],\n ] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report([name]: [string], createLaneOptions: CreateLaneOptions & { remoteScope?: string }): Promise<string> {\n const currentLane = await this.lanes.getCurrentLane();\n if (createLaneOptions.remoteScope) createLaneOptions.scope = createLaneOptions.remoteScope;\n const result = await this.lanes.createLane(name, createLaneOptions);\n const remoteScopeOrDefaultScope = createLaneOptions.scope\n ? `the remote scope ${chalk.bold(createLaneOptions.scope)}`\n : `the default-scope ${chalk.bold(\n result.laneId.scope\n )}. you can change the lane's scope, before it is exported, with the \"bit lane change-scope\" command`;\n const title = chalk.green(\n `successfully added and checked out to the new lane ${chalk.bold(result.alias || result.laneId.name)}\n ${currentLane !== null ? chalk.yellow(`\\nnote - your new lane will be based on lane ${currentLane.name}`) : ''}\n `\n );\n const remoteScopeOutput = `this lane will be exported to ${remoteScopeOrDefaultScope}`;\n return `${title}\\n${remoteScopeOutput}`;\n }\n}\n\nexport class LaneAliasCmd implements Command {\n name = 'alias <lane-name> <alias>';\n description = 'adds an alias to a lane';\n extendedDescription = `an alias is a name that can be used locally to refer to a lane. it is saved locally and never reaches the remote.\nit is useful e.g. when having multiple lanes with the same name, but with different remote scopes.`;\n alias = '';\n options = [] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report([laneName, alias]: [string, string, string]): Promise<string> {\n const { laneId } = await this.lanes.aliasLane(laneName, alias);\n return `successfully added the alias ${chalk.bold(alias)} for lane ${chalk.bold(laneId.toString())}`;\n }\n}\n\nexport class LaneChangeScopeCmd implements Command {\n name = 'change-scope <lane-name> <remote-scope-name>';\n description = `changes the remote scope of a lane`;\n extendedDescription = 'NOTE: available only before the lane is exported to the remote';\n alias = '';\n options = [] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report([localName, remoteScope]: [string, string]): Promise<string> {\n const { remoteScopeBefore } = await this.lanes.changeScope(localName, remoteScope);\n return `the remote-scope of ${chalk.bold(localName)} has been changed from ${chalk.bold(\n remoteScopeBefore\n )} to ${chalk.bold(remoteScope)}`;\n }\n}\n\nexport class LaneRenameCmd implements Command {\n name = 'rename <current-name> <new-name>';\n description = `EXPERIMENTAL. change the lane-name locally and on the remote (if exported)`;\n alias = '';\n options = [] as CommandOptions;\n loader = true;\n migration = true;\n constructor(private lanes: LanesMain) {}\n\n async report([currentName, newName]: [string, string]): Promise<string> {\n const { exported, exportErr } = await this.lanes.rename(currentName, newName);\n const exportedStr = exported\n ? `and have been exported successfully to the remote`\n : `however failed exporting the renamed lane to the remote, due to an error: ${exportErr?.message || 'unknown'}`;\n return `the lane ${chalk.bold(currentName)}'s name has been changed to ${chalk.bold(newName)}, ${exportedStr}`;\n }\n}\n\nexport class LaneRemoveCmd implements Command {\n name = 'remove <lanes...>';\n arguments = [{ name: 'lanes...', description: 'A list of lane names, separated by spaces' }];\n description = `remove or delete lanes`;\n group = 'collaborate';\n alias = '';\n options = [\n [\n 'r',\n 'remote',\n 'delete a remote lane. use remote/lane-id syntax e.g. bit lane remove owner.org/my-lane --remote. Delete is immediate, no export required',\n ],\n ['f', 'force', 'removes/deletes the lane even when the lane is not yet merged to main'],\n ['s', 'silent', 'skip confirmation'],\n ] as CommandOptions;\n loader = 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.shouldProceed)) {\n throw new BitError('the operation has been cancelled');\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 type RemoveCompsOpts = { workspaceOnly?: boolean; updateMain?: boolean };\n\nexport class LaneRemoveCompCmd implements Command {\n name = 'remove-comp <component-pattern>';\n arguments = [\n {\n name: 'component-pattern',\n description: COMPONENT_PATTERN_HELP,\n },\n ];\n description = `remove components when on a lane`;\n extendedDescription = `in case the components are part of the lane and the lane is exported, it marks the components as\nremoved from the lane, and then after snap+export, the remote-lane gets updated as well.\nupon lane-merge, these removed components are skipped and any changes for removed components won't be merged to main.\n\nin case the components are not yet part of the lane or the lane is new, it simply removes the components from the workspace`;\n group = 'collaborate';\n alias = 'rc';\n options = [\n [\n '',\n 'workspace-only',\n 'do not mark the components as removed from the lane. instead, remove them from the workspace only',\n ],\n [\n '',\n 'update-main',\n 'EXPERIMENTAL. remove, i.e. delete, component/s on the main lane after merging this lane into main',\n ],\n ] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private workspace: Workspace, private lanes: LanesMain) {}\n\n async report([componentsPattern]: [string], removeCompsOpts: RemoveCompsOpts): Promise<string> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n if (this.workspace.isOnMain()) {\n throw new Error(`error: you're checked out to main, please use \"bit remove\" instead`);\n }\n const { removedFromWs, markedRemoved } = await this.lanes.removeComps(componentsPattern, removeCompsOpts);\n const getMarkedRemovedStr = () => {\n if (!markedRemoved.length) return '';\n return `${chalk.green('successfully marked the following components as removed:')}\n${markedRemoved.join('\\n')}\n\n${chalk.bold('to update the remote, please snap and then export. to revert, please use \"bit recover\"')}\n`;\n };\n const getRemovedFromWsStr = () => {\n if (!removedFromWs.length) return '';\n return `\\n${chalk.green('successfully removed the following components from the workspace:')}\n(either: these components were not part of the lane, so there was no need to mark them as removed or --workspace-only was used)\n${removedFromWs.join('\\n')}`;\n };\n return getMarkedRemovedStr() + getRemovedFromWsStr();\n }\n}\n\nexport class LaneImportCmd implements Command {\n name = 'import <lane>';\n description = `import a remote lane to your workspace and switch to that lane`;\n arguments = [{ name: 'lane', description: 'the remote lane name' }];\n alias = '';\n options = [\n ['x', 'skip-dependency-installation', 'do not install dependencies of the imported components'],\n [\n 'p',\n 'pattern <component-pattern>',\n 'import only components from the lane that fit the specified component-pattern to the workspace. works only when the workspace is empty',\n ],\n ] as CommandOptions;\n loader = true;\n migration = true;\n\n constructor(private switchCmd: SwitchCmd) {}\n\n async report(\n [lane]: [string],\n { skipDependencyInstallation = false, pattern }: { skipDependencyInstallation: boolean; pattern?: string }\n ): Promise<string> {\n return this.switchCmd.report([lane], { getAll: true, skipDependencyInstallation, pattern });\n }\n}\n\nexport class LaneCmd implements Command {\n name = 'lane [sub-command]';\n description = 'manage lanes - if no sub-command is used, runs \"bit lane list\"';\n alias = 'l';\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 <remote-scope-name>', 'show all remote lanes from the specified scope'],\n ['', 'merged', 'list only merged lanes'],\n ['', 'not-merged', \"list only lanes that haven't been merged\"],\n ] as CommandOptions;\n loader = true;\n migration = true;\n group = 'collaborate';\n remoteOp = true;\n skipWorkspace = true;\n helpUrl = 'docs/components/lanes';\n commands: Command[] = [];\n\n constructor(private lanes: LanesMain, private workspace: Workspace, private scope: ScopeMain) {}\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 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 ${\n laneName || this.lanes.getCurrentLaneName()\n }`\n );\n }\n\n return chalk.red(`${message}\\n`);\n }\n}\n\nexport class LaneAddReadmeCmd implements Command {\n name = 'add-readme <component-name> [lane-name]';\n description = 'EXPERIMENTAL. sets an existing component as the readme of a lane';\n arguments = [\n { name: 'component-id', description: \"the component name or id of the component to use as the lane's readme\" },\n { name: 'lane-name', description: 'the lane to attach the readme to (defaults to the current lane)' },\n ];\n options = [] as CommandOptions;\n loader = 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.getCurrentLaneName()\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.getCurrentLaneName()\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"],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.707/dist/lanes.composition.js';
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.707/dist/lanes.docs.mdx';
|
3
3
|
|
4
4
|
export const compositions = [compositions_0];
|
5
5
|
export const overview = [overview_0];
|
package/dist/switch.cmd.js
CHANGED
@@ -28,19 +28,27 @@ function _merging() {
|
|
28
28
|
};
|
29
29
|
return data;
|
30
30
|
}
|
31
|
+
function _constants() {
|
32
|
+
const data = require("@teambit/legacy/dist/constants");
|
33
|
+
_constants = function () {
|
34
|
+
return data;
|
35
|
+
};
|
36
|
+
return data;
|
37
|
+
}
|
31
38
|
class SwitchCmd {
|
32
39
|
constructor(lanes) {
|
33
40
|
this.lanes = lanes;
|
34
|
-
(0, _defineProperty2().default)(this, "name", 'switch <lane>
|
41
|
+
(0, _defineProperty2().default)(this, "name", 'switch <lane>');
|
35
42
|
(0, _defineProperty2().default)(this, "description", `switch to the specified lane`);
|
36
43
|
(0, _defineProperty2().default)(this, "extendedDescription", ``);
|
37
44
|
(0, _defineProperty2().default)(this, "private", true);
|
38
45
|
(0, _defineProperty2().default)(this, "alias", '');
|
39
46
|
(0, _defineProperty2().default)(this, "arguments", [{
|
40
47
|
name: 'lane',
|
41
|
-
description: 'lane-name or lane-id (if not
|
48
|
+
description: 'lane-name or lane-id (if lane is not local) to switch to'
|
42
49
|
}]);
|
43
|
-
(0, _defineProperty2().default)(this, "options", [['n', 'alias <string>',
|
50
|
+
(0, _defineProperty2().default)(this, "options", [['n', 'alias <string>', "relevant when the specified lane is a remote lane. create a local alias for the lane (doesnt affect the lane's name on the remote"], ['m', 'merge [strategy]', 'merge local changes with the checked out version. strategy should be "theirs", "ours" or "manual"'], ['a', 'get-all', 'checkout all components in a lane, including those not currently in the workspace'], ['x', 'skip-dependency-installation', 'do not install dependencies of the imported components'], ['p', 'pattern <component-pattern>', `switch only the lane components matching the specified component-pattern. only works when the workspace is empty\n
|
51
|
+
${_constants().COMPONENT_PATTERN_HELP}`], ['j', 'json', 'return the output as JSON']]);
|
44
52
|
(0, _defineProperty2().default)(this, "loader", true);
|
45
53
|
}
|
46
54
|
async report([lane], {
|
@@ -71,7 +79,7 @@ class SwitchCmd {
|
|
71
79
|
}
|
72
80
|
const getFailureOutput = () => {
|
73
81
|
if (!failedComponents || !failedComponents.length) return '';
|
74
|
-
const title = 'the switch has been canceled
|
82
|
+
const title = 'the switch has been canceled for the following component(s)';
|
75
83
|
const body = failedComponents.map(failedComponent => {
|
76
84
|
const color = failedComponent.unchangedLegitimately ? 'white' : 'red';
|
77
85
|
return `${_chalk().default.bold(failedComponent.id.toString())} - ${_chalk().default[color](failedComponent.failureMessage)}`;
|
@@ -80,14 +88,14 @@ class SwitchCmd {
|
|
80
88
|
};
|
81
89
|
const getSuccessfulOutput = () => {
|
82
90
|
const laneSwitched = _chalk().default.green(`\nsuccessfully set "${_chalk().default.bold(lane)}" as the active lane`);
|
83
|
-
if (!components || !components.length) return `No
|
91
|
+
if (!components || !components.length) return `No components have been changed.${laneSwitched}`;
|
84
92
|
if (components.length === 1) {
|
85
93
|
const component = components[0];
|
86
94
|
const componentName = component.id.toStringWithoutVersion();
|
87
95
|
const title = `successfully switched ${_chalk().default.bold(componentName)} to version ${_chalk().default.bold(component.id.version)}\n`;
|
88
96
|
return `${title} ${(0, _merging().applyVersionReport)(components, false)}${laneSwitched}`;
|
89
97
|
}
|
90
|
-
const title = `successfully switched the following components to the
|
98
|
+
const title = `successfully switched the following components to the head of lane ${lane}\n\n`;
|
91
99
|
const componentsStr = (0, _merging().applyVersionReport)(components, true, false);
|
92
100
|
return title + componentsStr + laneSwitched;
|
93
101
|
};
|
package/dist/switch.cmd.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_merging","SwitchCmd","constructor","lanes","_defineProperty2","default","name","description","report","lane","alias","merge","getAll","skipDependencyInstallation","pattern","json","components","failedComponents","installationError","compilationError","switchLanes","JSON","stringify","getFailureOutput","length","title","body","map","failedComponent","color","unchangedLegitimately","chalk","bold","id","toString","failureMessage","join","getSuccessfulOutput","laneSwitched","green","component","componentName","toStringWithoutVersion","version","applyVersionReport","componentsStr","failedOutput","successOutput","installationErrorOutput","compilationErrorOutput","exports"],"sources":["switch.cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { applyVersionReport, installationErrorOutput, compilationErrorOutput } from '@teambit/merging';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { MergeStrategy } from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport { LanesMain } from './lanes.main.runtime';\n\nexport class SwitchCmd implements Command {\n name = 'switch <lane>
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_merging","_constants","SwitchCmd","constructor","lanes","_defineProperty2","default","name","description","COMPONENT_PATTERN_HELP","report","lane","alias","merge","getAll","skipDependencyInstallation","pattern","json","components","failedComponents","installationError","compilationError","switchLanes","JSON","stringify","getFailureOutput","length","title","body","map","failedComponent","color","unchangedLegitimately","chalk","bold","id","toString","failureMessage","join","getSuccessfulOutput","laneSwitched","green","component","componentName","toStringWithoutVersion","version","applyVersionReport","componentsStr","failedOutput","successOutput","installationErrorOutput","compilationErrorOutput","exports"],"sources":["switch.cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { applyVersionReport, installationErrorOutput, compilationErrorOutput } from '@teambit/merging';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { MergeStrategy } from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { LanesMain } from './lanes.main.runtime';\n\nexport class SwitchCmd implements Command {\n name = 'switch <lane>';\n description = `switch to the specified lane`;\n extendedDescription = ``;\n private = true;\n alias = '';\n arguments = [\n {\n name: 'lane',\n description: 'lane-name or lane-id (if lane is not local) to switch to',\n },\n ];\n options = [\n [\n 'n',\n 'alias <string>',\n \"relevant when the specified lane is a remote lane. create a local alias for the lane (doesnt affect the lane's name on the remote\",\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, including those not currently in the workspace'],\n ['x', 'skip-dependency-installation', 'do not install dependencies of the imported components'],\n [\n 'p',\n 'pattern <component-pattern>',\n `switch only the lane components matching the specified component-pattern. only works when the workspace is empty\\n\n${COMPONENT_PATTERN_HELP}`,\n ],\n ['j', 'json', 'return the output as JSON'],\n ] as CommandOptions;\n loader = true;\n\n constructor(private lanes: LanesMain) {}\n\n async report(\n [lane]: [string],\n {\n alias,\n merge,\n getAll = false,\n skipDependencyInstallation = false,\n pattern,\n json = false,\n }: {\n alias?: string;\n merge?: MergeStrategy;\n getAll?: boolean;\n skipDependencyInstallation?: boolean;\n override?: boolean;\n pattern?: string;\n json?: boolean;\n }\n ) {\n const { components, failedComponents, installationError, compilationError } = await this.lanes.switchLanes(lane, {\n alias,\n merge,\n getAll,\n pattern,\n skipDependencyInstallation,\n });\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 for the following component(s)';\n const body = failedComponents\n .map((failedComponent) => {\n const color = failedComponent.unchangedLegitimately ? 'white' : 'red';\n return `${chalk.bold(failedComponent.id.toString())} - ${chalk[color](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 components have 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 head of lane ${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 (\n failedOutput +\n successOutput +\n installationErrorOutput(installationError) +\n compilationErrorOutput(compilationError)\n );\n }\n}\n"],"mappings":"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"}
|
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.707",
|
4
4
|
"homepage": "https://bit.cloud/teambit/lanes/lanes",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"componentId": {
|
7
7
|
"scope": "teambit.lanes",
|
8
8
|
"name": "lanes",
|
9
|
-
"version": "0.0.
|
9
|
+
"version": "0.0.707"
|
10
10
|
},
|
11
11
|
"dependencies": {
|
12
12
|
"lodash": "4.17.21",
|
@@ -23,37 +23,37 @@
|
|
23
23
|
"@teambit/scope.ui.scope-icon": "0.0.91",
|
24
24
|
"@teambit/bit-error": "0.0.402",
|
25
25
|
"@teambit/component-version": "1.0.0",
|
26
|
-
"@teambit/lane-id": "0.0.
|
27
|
-
"@teambit/scope": "0.0.
|
28
|
-
"@teambit/snapping": "0.0.
|
29
|
-
"@teambit/workspace": "0.0.
|
30
|
-
"@teambit/lanes.ui.models.lanes-model": "0.0.
|
31
|
-
"@teambit/cli": "0.0.
|
32
|
-
"@teambit/express": "0.0.
|
33
|
-
"@teambit/logger": "0.0.
|
34
|
-
"@teambit/graphql": "0.0.
|
35
|
-
"@teambit/checkout": "0.0.
|
36
|
-
"@teambit/component-compare": "0.0.
|
37
|
-
"@teambit/component-writer": "0.0.
|
38
|
-
"@teambit/component": "0.0.
|
39
|
-
"@teambit/export": "0.0.
|
40
|
-
"@teambit/importer": "0.0.
|
41
|
-
"@teambit/lanes.entities.lane-diff": "0.0.
|
42
|
-
"@teambit/lanes.modules.diff": "0.0.
|
43
|
-
"@teambit/merging": "0.0.
|
44
|
-
"@teambit/remove": "0.0.
|
45
|
-
"@teambit/lanes.hooks.use-lanes": "0.0.
|
46
|
-
"@teambit/lanes.hooks.use-viewed-lane-from-url": "0.0.
|
47
|
-
"@teambit/lanes.ui.compare.lane-compare-page": "0.0.
|
48
|
-
"@teambit/lanes.ui.compare.lane-compare": "0.0.
|
49
|
-
"@teambit/lanes.ui.lane-overview": "0.0.
|
26
|
+
"@teambit/lane-id": "0.0.276",
|
27
|
+
"@teambit/scope": "0.0.1135",
|
28
|
+
"@teambit/snapping": "0.0.450",
|
29
|
+
"@teambit/workspace": "0.0.1135",
|
30
|
+
"@teambit/lanes.ui.models.lanes-model": "0.0.176",
|
31
|
+
"@teambit/cli": "0.0.761",
|
32
|
+
"@teambit/express": "0.0.859",
|
33
|
+
"@teambit/logger": "0.0.854",
|
34
|
+
"@teambit/graphql": "0.0.1135",
|
35
|
+
"@teambit/checkout": "0.0.304",
|
36
|
+
"@teambit/component-compare": "0.0.383",
|
37
|
+
"@teambit/component-writer": "0.0.171",
|
38
|
+
"@teambit/component": "0.0.1135",
|
39
|
+
"@teambit/export": "0.0.1135",
|
40
|
+
"@teambit/importer": "0.0.564",
|
41
|
+
"@teambit/lanes.entities.lane-diff": "0.0.121",
|
42
|
+
"@teambit/lanes.modules.diff": "0.0.394",
|
43
|
+
"@teambit/merging": "0.0.450",
|
44
|
+
"@teambit/remove": "0.0.312",
|
45
|
+
"@teambit/lanes.hooks.use-lanes": "0.0.223",
|
46
|
+
"@teambit/lanes.hooks.use-viewed-lane-from-url": "0.0.185",
|
47
|
+
"@teambit/lanes.ui.compare.lane-compare-page": "0.0.119",
|
48
|
+
"@teambit/lanes.ui.compare.lane-compare": "0.0.137",
|
49
|
+
"@teambit/lanes.ui.lane-overview": "0.0.178",
|
50
50
|
"@teambit/lanes.ui.menus.lanes-overview-menu": "0.0.5",
|
51
|
-
"@teambit/lanes.ui.menus.use-lanes-menu": "0.0.
|
52
|
-
"@teambit/lanes.ui.navigation.lane-switcher": "0.0.
|
51
|
+
"@teambit/lanes.ui.menus.use-lanes-menu": "0.0.176",
|
52
|
+
"@teambit/lanes.ui.navigation.lane-switcher": "0.0.180",
|
53
53
|
"@teambit/ui-foundation.ui.menu": "0.0.497",
|
54
54
|
"@teambit/ui-foundation.ui.react-router.slot-router": "0.0.501",
|
55
55
|
"@teambit/ui-foundation.ui.react-router.use-query": "0.0.496",
|
56
|
-
"@teambit/ui": "0.0.
|
56
|
+
"@teambit/ui": "0.0.1135"
|
57
57
|
},
|
58
58
|
"devDependencies": {
|
59
59
|
"@types/lodash": "4.14.165",
|
@@ -65,13 +65,13 @@
|
|
65
65
|
"@types/react-dom": "^17.0.5",
|
66
66
|
"@types/jest": "^26.0.0",
|
67
67
|
"@types/testing-library__jest-dom": "5.9.5",
|
68
|
-
"@teambit/component.testing.mock-components": "0.0.
|
69
|
-
"@teambit/harmony.testing.load-aspect": "0.0.
|
68
|
+
"@teambit/component.testing.mock-components": "0.0.123",
|
69
|
+
"@teambit/harmony.testing.load-aspect": "0.0.122",
|
70
70
|
"@teambit/workspace.testing.mock-workspace": "0.0.14"
|
71
71
|
},
|
72
72
|
"peerDependencies": {
|
73
73
|
"react-router-dom": "^6.0.0",
|
74
|
-
"@teambit/legacy": "1.0.
|
74
|
+
"@teambit/legacy": "1.0.545",
|
75
75
|
"react": "^16.8.0 || ^17.0.0",
|
76
76
|
"react-dom": "^16.8.0 || ^17.0.0"
|
77
77
|
},
|
Binary file
|