@teambit/merge-lanes 0.0.57 → 0.0.59

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/index.js CHANGED
@@ -10,19 +10,14 @@ Object.defineProperty(exports, "MergeLanesAspect", {
10
10
  }
11
11
  });
12
12
  exports.default = void 0;
13
-
14
13
  function _mergeLanes() {
15
14
  const data = require("./merge-lanes.aspect");
16
-
17
15
  _mergeLanes = function () {
18
16
  return data;
19
17
  };
20
-
21
18
  return data;
22
19
  }
23
-
24
20
  var _default = _mergeLanes().MergeLanesAspect;
25
-
26
21
  exports.default = _default;
27
22
 
28
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["MergeLanesAspect"],"sources":["index.ts"],"sourcesContent":["import { MergeLanesAspect } from './merge-lanes.aspect';\n\nexport type { MergeLanesMain } from './merge-lanes.main.runtime';\nexport default MergeLanesAspect;\nexport { MergeLanesAspect };\n"],"mappings":";;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;eAGeA,8B"}
1
+ {"version":3,"names":["MergeLanesAspect"],"sources":["index.ts"],"sourcesContent":["import { MergeLanesAspect } from './merge-lanes.aspect';\n\nexport type { MergeLanesMain } from './merge-lanes.main.runtime';\nexport default MergeLanesAspect;\nexport { MergeLanesAspect };\n"],"mappings":";;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAAwD,eAGzCA,8BAAgB;AAAA"}
@@ -1,46 +1,33 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  require("core-js/modules/es.array.iterator.js");
6
-
7
5
  require("core-js/modules/es.promise.js");
8
-
9
6
  Object.defineProperty(exports, "__esModule", {
10
7
  value: true
11
8
  });
12
9
  exports.MergeLaneFromScopeCmd = void 0;
13
-
14
10
  function _defineProperty2() {
15
11
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
-
17
12
  _defineProperty2 = function () {
18
13
  return data;
19
14
  };
20
-
21
15
  return data;
22
16
  }
23
-
24
17
  function _chalk() {
25
18
  const data = _interopRequireDefault(require("chalk"));
26
-
27
19
  _chalk = function () {
28
20
  return data;
29
21
  };
30
-
31
22
  return data;
32
23
  }
33
-
34
24
  function _bitError() {
35
25
  const data = require("@teambit/bit-error");
36
-
37
26
  _bitError = function () {
38
27
  return data;
39
28
  };
40
-
41
29
  return data;
42
30
  }
43
-
44
31
  /**
45
32
  * private command. the underscore prefix is intended.
46
33
  */
@@ -60,14 +47,14 @@ the lane must be up-to-date with main, otherwise, conflicts might occur which ar
60
47
  description: 'EXPERIMENTAL. partially merge the lane with the specified component-pattern'
61
48
  }]);
62
49
  (0, _defineProperty2().default)(this, "alias", '');
63
- (0, _defineProperty2().default)(this, "options", [['', 'push', 'export the updated objects to the original scopes once done'], ['', 'keep-readme', 'skip deleting the lane readme component after merging'], ['', 'no-squash', 'EXPERIMENTAL. relevant for merging lanes into main, which by default squash.'], // ['', 'verbose', 'show details of components that were not merged legitimately'],
50
+ (0, _defineProperty2().default)(this, "options", [['', 'push', 'export the updated objects to the original scopes once done'], ['', 'keep-readme', 'skip deleting the lane readme component after merging'], ['', 'no-squash', 'EXPERIMENTAL. relevant for merging lanes into main, which by default squash.'],
51
+ // ['', 'verbose', 'show details of components that were not merged legitimately'],
64
52
  ['', 'include-deps', 'EXPERIMENTAL. relevant for "--pattern". merge also dependencies of the given components']]);
65
53
  (0, _defineProperty2().default)(this, "loader", true);
66
54
  (0, _defineProperty2().default)(this, "private", true);
67
55
  (0, _defineProperty2().default)(this, "migration", true);
68
56
  (0, _defineProperty2().default)(this, "remoteOp", true);
69
57
  }
70
-
71
58
  async report([name, pattern], {
72
59
  push = false,
73
60
  keepReadme = false,
@@ -77,7 +64,6 @@ the lane must be up-to-date with main, otherwise, conflicts might occur which ar
77
64
  if (includeDeps && !pattern) {
78
65
  throw new (_bitError().BitError)(`"--include-deps" flag is relevant only for --pattern flag`);
79
66
  }
80
-
81
67
  const {
82
68
  mergedNow,
83
69
  mergedPreviously,
@@ -89,23 +75,15 @@ the lane must be up-to-date with main, otherwise, conflicts might occur which ar
89
75
  pattern,
90
76
  includeDeps
91
77
  });
92
-
93
78
  const mergedTitle = _chalk().default.green(`successfully merged ${mergedNow.length} components from ${name} to main`);
94
-
95
79
  const mergedOutput = mergedNow.length ? `${mergedTitle}\n${mergedNow.join('\n')}` : '';
96
-
97
80
  const nonMergedTitle = _chalk().default.bold(`the following ${mergedPreviously.length} components were already merged before, they were left intact`);
98
-
99
81
  const nonMergedOutput = mergedPreviously.length ? `\n${nonMergedTitle}\n${mergedPreviously.join('\n')}` : '';
100
-
101
82
  const exportedTitle = _chalk().default.green(`successfully exported ${exportedIds.length} components`);
102
-
103
83
  const exportedOutput = exportedIds.length ? `\n${exportedTitle}\n${exportedIds.join('\n')}` : '';
104
84
  return mergedOutput + nonMergedOutput + exportedOutput;
105
85
  }
106
-
107
86
  }
108
-
109
87
  exports.MergeLaneFromScopeCmd = MergeLaneFromScopeCmd;
110
88
 
111
89
  //# sourceMappingURL=merge-lane-from-scope.cmd.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MergeLaneFromScopeCmd","constructor","mergeLanes","name","description","report","pattern","push","keepReadme","noSquash","includeDeps","BitError","mergedNow","mergedPreviously","exportedIds","mergeFromScope","mergedTitle","chalk","green","length","mergedOutput","join","nonMergedTitle","bold","nonMergedOutput","exportedTitle","exportedOutput"],"sources":["merge-lane-from-scope.cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { BitError } from '@teambit/bit-error';\nimport { MergeLanesMain } from './merge-lanes.main.runtime';\n\n/**\n * private command. the underscore prefix is intended.\n */\nexport class MergeLaneFromScopeCmd implements Command {\n name = '_merge-lane <lane> [pattern]';\n description = `merge a remote lane into main via a bare-scope (not workspace)`;\n extendedDescription = `to merge from a workspace, use \"bit lane merge\" command.\nthis is intended to use from the UI, which will have a button to merge an existing lane into main.\nthe lane must be up-to-date with main, otherwise, conflicts might occur which are not handled in this command`;\n arguments = [\n {\n name: 'lane',\n description: 'lane-id to merge to main',\n },\n {\n name: 'pattern',\n description: 'EXPERIMENTAL. partially merge the lane with the specified component-pattern',\n },\n ];\n alias = '';\n options = [\n ['', 'push', 'export the updated objects to the original scopes once done'],\n ['', 'keep-readme', 'skip deleting the lane readme component after merging'],\n ['', 'no-squash', 'EXPERIMENTAL. relevant for merging lanes into main, which by default squash.'],\n // ['', 'verbose', 'show details of components that were not merged legitimately'],\n ['', 'include-deps', 'EXPERIMENTAL. relevant for \"--pattern\". merge also dependencies of the given components'],\n ] as CommandOptions;\n loader = true;\n private = true;\n migration = true;\n remoteOp = true;\n\n constructor(private mergeLanes: MergeLanesMain) {}\n\n async report(\n [name, pattern]: [string, string],\n {\n push = false,\n keepReadme = false,\n noSquash = false,\n includeDeps = false,\n }: // verbose = false,\n {\n push?: boolean;\n keepReadme?: boolean;\n noSquash: boolean;\n includeDeps?: boolean;\n // verbose?: boolean;\n }\n ): Promise<string> {\n if (includeDeps && !pattern) {\n throw new BitError(`\"--include-deps\" flag is relevant only for --pattern flag`);\n }\n const { mergedNow, mergedPreviously, exportedIds } = await this.mergeLanes.mergeFromScope(name, {\n push,\n keepReadme,\n noSquash,\n pattern,\n includeDeps,\n });\n\n const mergedTitle = chalk.green(`successfully merged ${mergedNow.length} components from ${name} to main`);\n const mergedOutput = mergedNow.length ? `${mergedTitle}\\n${mergedNow.join('\\n')}` : '';\n\n const nonMergedTitle = chalk.bold(\n `the following ${mergedPreviously.length} components were already merged before, they were left intact`\n );\n const nonMergedOutput = mergedPreviously.length ? `\\n${nonMergedTitle}\\n${mergedPreviously.join('\\n')}` : '';\n\n const exportedTitle = chalk.green(`successfully exported ${exportedIds.length} components`);\n const exportedOutput = exportedIds.length ? `\\n${exportedTitle}\\n${exportedIds.join('\\n')}` : '';\n\n return mergedOutput + nonMergedOutput + exportedOutput;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGA;AACA;AACA;AACO,MAAMA,qBAAN,CAA+C;EA6BpDC,WAAW,CAASC,UAAT,EAAqC;IAAA,KAA5BA,UAA4B,GAA5BA,UAA4B;IAAA,8CA5BzC,8BA4ByC;IAAA,qDA3BjC,gEA2BiC;IAAA,6DA1BzB;AACzB;AACA,8GAwBkD;IAAA,mDAvBpC,CACV;MACEC,IAAI,EAAE,MADR;MAEEC,WAAW,EAAE;IAFf,CADU,EAKV;MACED,IAAI,EAAE,SADR;MAEEC,WAAW,EAAE;IAFf,CALU,CAuBoC;IAAA,+CAbxC,EAawC;IAAA,iDAZtC,CACR,CAAC,EAAD,EAAK,MAAL,EAAa,6DAAb,CADQ,EAER,CAAC,EAAD,EAAK,aAAL,EAAoB,uDAApB,CAFQ,EAGR,CAAC,EAAD,EAAK,WAAL,EAAkB,8EAAlB,CAHQ,EAIR;IACA,CAAC,EAAD,EAAK,cAAL,EAAqB,yFAArB,CALQ,CAYsC;IAAA,gDALvC,IAKuC;IAAA,iDAJtC,IAIsC;IAAA,mDAHpC,IAGoC;IAAA,kDAFrC,IAEqC;EAAE;;EAEtC,MAANC,MAAM,CACV,CAACF,IAAD,EAAOG,OAAP,CADU,EAEV;IACEC,IAAI,GAAG,KADT;IAEEC,UAAU,GAAG,KAFf;IAGEC,QAAQ,GAAG,KAHb;IAIEC,WAAW,GAAG;EAJhB,CAFU,EAeO;IACjB,IAAIA,WAAW,IAAI,CAACJ,OAApB,EAA6B;MAC3B,MAAM,KAAIK,oBAAJ,EAAc,2DAAd,CAAN;IACD;;IACD,MAAM;MAAEC,SAAF;MAAaC,gBAAb;MAA+BC;IAA/B,IAA+C,MAAM,KAAKZ,UAAL,CAAgBa,cAAhB,CAA+BZ,IAA/B,EAAqC;MAC9FI,IAD8F;MAE9FC,UAF8F;MAG9FC,QAH8F;MAI9FH,OAJ8F;MAK9FI;IAL8F,CAArC,CAA3D;;IAQA,MAAMM,WAAW,GAAGC,gBAAA,CAAMC,KAAN,CAAa,uBAAsBN,SAAS,CAACO,MAAO,oBAAmBhB,IAAK,UAA5E,CAApB;;IACA,MAAMiB,YAAY,GAAGR,SAAS,CAACO,MAAV,GAAoB,GAAEH,WAAY,KAAIJ,SAAS,CAACS,IAAV,CAAe,IAAf,CAAqB,EAA3D,GAA+D,EAApF;;IAEA,MAAMC,cAAc,GAAGL,gBAAA,CAAMM,IAAN,CACpB,iBAAgBV,gBAAgB,CAACM,MAAO,+DADpB,CAAvB;;IAGA,MAAMK,eAAe,GAAGX,gBAAgB,CAACM,MAAjB,GAA2B,KAAIG,cAAe,KAAIT,gBAAgB,CAACQ,IAAjB,CAAsB,IAAtB,CAA4B,EAA9E,GAAkF,EAA1G;;IAEA,MAAMI,aAAa,GAAGR,gBAAA,CAAMC,KAAN,CAAa,yBAAwBJ,WAAW,CAACK,MAAO,aAAxD,CAAtB;;IACA,MAAMO,cAAc,GAAGZ,WAAW,CAACK,MAAZ,GAAsB,KAAIM,aAAc,KAAIX,WAAW,CAACO,IAAZ,CAAiB,IAAjB,CAAuB,EAAnE,GAAuE,EAA9F;IAEA,OAAOD,YAAY,GAAGI,eAAf,GAAiCE,cAAxC;EACD;;AAtEmD"}
1
+ {"version":3,"names":["MergeLaneFromScopeCmd","constructor","mergeLanes","name","description","report","pattern","push","keepReadme","noSquash","includeDeps","BitError","mergedNow","mergedPreviously","exportedIds","mergeFromScope","mergedTitle","chalk","green","length","mergedOutput","join","nonMergedTitle","bold","nonMergedOutput","exportedTitle","exportedOutput"],"sources":["merge-lane-from-scope.cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { BitError } from '@teambit/bit-error';\nimport { MergeLanesMain } from './merge-lanes.main.runtime';\n\n/**\n * private command. the underscore prefix is intended.\n */\nexport class MergeLaneFromScopeCmd implements Command {\n name = '_merge-lane <lane> [pattern]';\n description = `merge a remote lane into main via a bare-scope (not workspace)`;\n extendedDescription = `to merge from a workspace, use \"bit lane merge\" command.\nthis is intended to use from the UI, which will have a button to merge an existing lane into main.\nthe lane must be up-to-date with main, otherwise, conflicts might occur which are not handled in this command`;\n arguments = [\n {\n name: 'lane',\n description: 'lane-id to merge to main',\n },\n {\n name: 'pattern',\n description: 'EXPERIMENTAL. partially merge the lane with the specified component-pattern',\n },\n ];\n alias = '';\n options = [\n ['', 'push', 'export the updated objects to the original scopes once done'],\n ['', 'keep-readme', 'skip deleting the lane readme component after merging'],\n ['', 'no-squash', 'EXPERIMENTAL. relevant for merging lanes into main, which by default squash.'],\n // ['', 'verbose', 'show details of components that were not merged legitimately'],\n ['', 'include-deps', 'EXPERIMENTAL. relevant for \"--pattern\". merge also dependencies of the given components'],\n ] as CommandOptions;\n loader = true;\n private = true;\n migration = true;\n remoteOp = true;\n\n constructor(private mergeLanes: MergeLanesMain) {}\n\n async report(\n [name, pattern]: [string, string],\n {\n push = false,\n keepReadme = false,\n noSquash = false,\n includeDeps = false,\n }: // verbose = false,\n {\n push?: boolean;\n keepReadme?: boolean;\n noSquash: boolean;\n includeDeps?: boolean;\n // verbose?: boolean;\n }\n ): Promise<string> {\n if (includeDeps && !pattern) {\n throw new BitError(`\"--include-deps\" flag is relevant only for --pattern flag`);\n }\n const { mergedNow, mergedPreviously, exportedIds } = await this.mergeLanes.mergeFromScope(name, {\n push,\n keepReadme,\n noSquash,\n pattern,\n includeDeps,\n });\n\n const mergedTitle = chalk.green(`successfully merged ${mergedNow.length} components from ${name} to main`);\n const mergedOutput = mergedNow.length ? `${mergedTitle}\\n${mergedNow.join('\\n')}` : '';\n\n const nonMergedTitle = chalk.bold(\n `the following ${mergedPreviously.length} components were already merged before, they were left intact`\n );\n const nonMergedOutput = mergedPreviously.length ? `\\n${nonMergedTitle}\\n${mergedPreviously.join('\\n')}` : '';\n\n const exportedTitle = chalk.green(`successfully exported ${exportedIds.length} components`);\n const exportedOutput = exportedIds.length ? `\\n${exportedTitle}\\n${exportedIds.join('\\n')}` : '';\n\n return mergedOutput + nonMergedOutput + exportedOutput;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGA;AACA;AACA;AACO,MAAMA,qBAAqB,CAAoB;EA6BpDC,WAAW,CAASC,UAA0B,EAAE;IAAA,KAA5BA,UAA0B,GAA1BA,UAA0B;IAAA,8CA5BvC,8BAA8B;IAAA,qDACtB,gEAA+D;IAAA,6DACvD;AACzB;AACA,8GAA8G;IAAA,mDAChG,CACV;MACEC,IAAI,EAAE,MAAM;MACZC,WAAW,EAAE;IACf,CAAC,EACD;MACED,IAAI,EAAE,SAAS;MACfC,WAAW,EAAE;IACf,CAAC,CACF;IAAA,+CACO,EAAE;IAAA,iDACA,CACR,CAAC,EAAE,EAAE,MAAM,EAAE,6DAA6D,CAAC,EAC3E,CAAC,EAAE,EAAE,aAAa,EAAE,uDAAuD,CAAC,EAC5E,CAAC,EAAE,EAAE,WAAW,EAAE,8EAA8E,CAAC;IACjG;IACA,CAAC,EAAE,EAAE,cAAc,EAAE,yFAAyF,CAAC,CAChH;IAAA,gDACQ,IAAI;IAAA,iDACH,IAAI;IAAA,mDACF,IAAI;IAAA,kDACL,IAAI;EAEkC;EAEjD,MAAMC,MAAM,CACV,CAACF,IAAI,EAAEG,OAAO,CAAmB,EACjC;IACEC,IAAI,GAAG,KAAK;IACZC,UAAU,GAAG,KAAK;IAClBC,QAAQ,GAAG,KAAK;IAChBC,WAAW,GAAG;EAQhB,CAAC,EACgB;IACjB,IAAIA,WAAW,IAAI,CAACJ,OAAO,EAAE;MAC3B,MAAM,KAAIK,oBAAQ,EAAE,2DAA0D,CAAC;IACjF;IACA,MAAM;MAAEC,SAAS;MAAEC,gBAAgB;MAAEC;IAAY,CAAC,GAAG,MAAM,IAAI,CAACZ,UAAU,CAACa,cAAc,CAACZ,IAAI,EAAE;MAC9FI,IAAI;MACJC,UAAU;MACVC,QAAQ;MACRH,OAAO;MACPI;IACF,CAAC,CAAC;IAEF,MAAMM,WAAW,GAAGC,gBAAK,CAACC,KAAK,CAAE,uBAAsBN,SAAS,CAACO,MAAO,oBAAmBhB,IAAK,UAAS,CAAC;IAC1G,MAAMiB,YAAY,GAAGR,SAAS,CAACO,MAAM,GAAI,GAAEH,WAAY,KAAIJ,SAAS,CAACS,IAAI,CAAC,IAAI,CAAE,EAAC,GAAG,EAAE;IAEtF,MAAMC,cAAc,GAAGL,gBAAK,CAACM,IAAI,CAC9B,iBAAgBV,gBAAgB,CAACM,MAAO,+DAA8D,CACxG;IACD,MAAMK,eAAe,GAAGX,gBAAgB,CAACM,MAAM,GAAI,KAAIG,cAAe,KAAIT,gBAAgB,CAACQ,IAAI,CAAC,IAAI,CAAE,EAAC,GAAG,EAAE;IAE5G,MAAMI,aAAa,GAAGR,gBAAK,CAACC,KAAK,CAAE,yBAAwBJ,WAAW,CAACK,MAAO,aAAY,CAAC;IAC3F,MAAMO,cAAc,GAAGZ,WAAW,CAACK,MAAM,GAAI,KAAIM,aAAc,KAAIX,WAAW,CAACO,IAAI,CAAC,IAAI,CAAE,EAAC,GAAG,EAAE;IAEhG,OAAOD,YAAY,GAAGI,eAAe,GAAGE,cAAc;EACxD;AACF;AAAC"}
@@ -1,90 +1,63 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  require("core-js/modules/es.array.iterator.js");
6
-
7
5
  require("core-js/modules/es.promise.js");
8
-
9
6
  Object.defineProperty(exports, "__esModule", {
10
7
  value: true
11
8
  });
12
9
  exports.MergeLaneCmd = void 0;
13
-
14
10
  function _defineProperty2() {
15
11
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
-
17
12
  _defineProperty2 = function () {
18
13
  return data;
19
14
  };
20
-
21
15
  return data;
22
16
  }
23
-
24
17
  function _chalk() {
25
18
  const data = _interopRequireDefault(require("chalk"));
26
-
27
19
  _chalk = function () {
28
20
  return data;
29
21
  };
30
-
31
22
  return data;
32
23
  }
33
-
34
24
  function _mergeVersion() {
35
25
  const data = require("@teambit/legacy/dist/consumer/versions-ops/merge-version");
36
-
37
26
  _mergeVersion = function () {
38
27
  return data;
39
28
  };
40
-
41
29
  return data;
42
30
  }
43
-
44
31
  function _merging() {
45
32
  const data = require("@teambit/merging");
46
-
47
33
  _merging = function () {
48
34
  return data;
49
35
  };
50
-
51
36
  return data;
52
37
  }
53
-
54
38
  function _featureToggle() {
55
39
  const data = require("@teambit/legacy/dist/api/consumer/lib/feature-toggle");
56
-
57
40
  _featureToggle = function () {
58
41
  return data;
59
42
  };
60
-
61
43
  return data;
62
44
  }
63
-
64
45
  function _bitError() {
65
46
  const data = require("@teambit/bit-error");
66
-
67
47
  _bitError = function () {
68
48
  return data;
69
49
  };
70
-
71
50
  return data;
72
51
  }
73
-
74
52
  function _removeTemplate() {
75
53
  const data = _interopRequireDefault(require("@teambit/legacy/dist/cli/templates/remove-template"));
76
-
77
54
  _removeTemplate = function () {
78
55
  return data;
79
56
  };
80
-
81
57
  return data;
82
58
  }
83
-
84
59
  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; }
85
-
86
60
  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; }
87
-
88
61
  class MergeLaneCmd {
89
62
  constructor(mergeLanes) {
90
63
  this.mergeLanes = mergeLanes;
@@ -109,7 +82,6 @@ it will snap-merge these components to complete the merge. use "no-snap" to opt-
109
82
  (0, _defineProperty2().default)(this, "migration", true);
110
83
  (0, _defineProperty2().default)(this, "remoteOp", true);
111
84
  }
112
-
113
85
  async report([name, pattern], {
114
86
  ours = false,
115
87
  theirs = false,
@@ -131,26 +103,20 @@ it will snap-merge these components to complete the merge. use "no-snap" to opt-
131
103
  build = (0, _featureToggle().isFeatureEnabled)(_featureToggle().BUILD_ON_CI) ? Boolean(build) : true;
132
104
  const mergeStrategy = (0, _mergeVersion().getMergeStrategy)(ours, theirs, manual);
133
105
  if (noSnap && snapMessage) throw new (_bitError().BitError)('unable to use "noSnap" and "message" flags together');
134
-
135
106
  if (includeDeps && !pattern && !existingOnWorkspaceOnly) {
136
107
  throw new (_bitError().BitError)(`"--include-deps" flag is relevant only for --workspace and --pattern flags`);
137
108
  }
138
-
139
109
  const getResolveUnrelated = () => {
140
110
  if (!resolveUnrelated) return undefined;
141
111
  if (typeof resolveUnrelated === 'boolean') return 'ours';
142
-
143
112
  if (resolveUnrelated !== 'ours' && resolveUnrelated !== 'theirs' && resolveUnrelated !== 'manual') {
144
113
  throw new Error('--resolve-unrelated must be one of the following: [ours, theirs, manual]');
145
114
  }
146
-
147
115
  return resolveUnrelated;
148
116
  };
149
-
150
117
  if (resolveUnrelated && typeof resolveUnrelated === 'boolean') {
151
118
  resolveUnrelated = 'ours';
152
119
  }
153
-
154
120
  const {
155
121
  mergeResults,
156
122
  deleteResults
@@ -177,9 +143,7 @@ it will snap-merge these components to complete the merge. use "no-snap" to opt-
177
143
  const deleteResult = `${deleteResults.localResult ? (0, _removeTemplate().default)(deleteResults.localResult, false) : ''}${(deleteResults.remoteResult || []).map(item => (0, _removeTemplate().default)(item, true))}${deleteResults.readmeResult && _chalk().default.yellow(deleteResults.readmeResult) || ''}\n`;
178
144
  return mergeResult + deleteResult;
179
145
  }
180
-
181
146
  }
182
-
183
147
  exports.MergeLaneCmd = MergeLaneCmd;
184
148
 
185
149
  //# sourceMappingURL=merge-lane.cmd.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MergeLaneCmd","constructor","mergeLanes","name","description","report","pattern","ours","theirs","manual","build","workspace","existingOnWorkspaceOnly","noSnap","tag","message","snapMessage","keepReadme","noSquash","skipDependencyInstallation","remote","includeDeps","resolveUnrelated","ignoreConfigChanges","verbose","isFeatureEnabled","BUILD_ON_CI","Boolean","mergeStrategy","getMergeStrategy","BitError","getResolveUnrelated","undefined","Error","mergeResults","deleteResults","mergeLane","mergeResult","mergeReport","deleteResult","localResult","paintRemoved","remoteResult","map","item","readmeResult","chalk","yellow"],"sources":["merge-lane.cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { getMergeStrategy, MergeStrategy } 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 paintRemoved from '@teambit/legacy/dist/cli/templates/remove-template';\nimport { MergeLanesMain } from './merge-lanes.main.runtime';\n\nexport class MergeLaneCmd implements Command {\n name = 'merge <lane> [pattern]';\n description = `merge a local or a remote lane`;\n extendedDescription = `if the <lane> exists locally, it will be merged from the local lane.\notherwise, it will fetch the lane from the remote and merge it.\nin case the <lane> exists locally but you want to merge the remote version of it, use --remote flag.\nwhen the current and the other lanes are diverged in history and the files could be merged with no conflicts,\nit will snap-merge these components to complete the merge. use \"no-snap\" to opt-out, or \"tag\" to tag instead`;\n arguments = [\n {\n name: 'lane',\n description: 'lane-name or lane-id (if not exists locally) to merge to the current lane',\n },\n {\n name: 'pattern',\n description: 'EXPERIMENTAL. partially merge the lane with the specified component-pattern',\n },\n ];\n alias = '';\n options = [\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 ['', 'workspace', 'merge 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 ['', 'tag', 'tag all lane components after merging into main (also tag-merge in case of snap-merge)'],\n ['', 'build', 'in case of snap during the merge, run the build-pipeline (similar to bit snap --build)'],\n ['m', 'message <message>', 'override the default message for the auto snap'],\n ['', 'keep-readme', 'skip deleting the lane readme component after merging'],\n ['', 'no-squash', 'EXPERIMENTAL. relevant for merging lanes into main, which by default squash.'],\n [\n '',\n 'ignore-config-changes',\n 'allow merging when component are modified due to config changes (such as dependencies) only and not files',\n ],\n ['', 'verbose', 'show details of components that were not merged legitimately'],\n ['', 'skip-dependency-installation', 'do not install packages of the imported components'],\n ['', 'remote', 'relevant when the target-lane locally is differ than the remote and you want the remote'],\n [\n '',\n 'include-deps',\n 'EXPERIMENTAL. relevant for \"--pattern\" and \"--workspace\". merge also dependencies of the given components',\n ],\n [\n '',\n 'resolve-unrelated [merge-strategy]',\n 'EXPERIMENTAL. relevant when a component on a lane and the component on main has nothing in common. merge-strategy can be \"ours\" (default) or \"theirs\"',\n ],\n ] as CommandOptions;\n loader = true;\n private = true;\n migration = true;\n remoteOp = true;\n\n constructor(private mergeLanes: MergeLanesMain) {}\n\n async report(\n [name, pattern]: [string, string],\n {\n ours = false,\n theirs = false,\n manual = false,\n build,\n workspace: existingOnWorkspaceOnly = false,\n noSnap = false,\n tag = false,\n message: snapMessage = '',\n keepReadme = false,\n noSquash = false,\n skipDependencyInstallation = false,\n remote = false,\n includeDeps = false,\n resolveUnrelated,\n ignoreConfigChanges,\n verbose = false,\n }: {\n ours: boolean;\n theirs: boolean;\n manual: boolean;\n workspace?: boolean;\n build?: boolean;\n noSnap: boolean;\n tag: boolean;\n message: string;\n keepReadme?: boolean;\n noSquash: boolean;\n skipDependencyInstallation?: boolean;\n remote: boolean;\n includeDeps?: boolean;\n resolveUnrelated?: string | boolean;\n ignoreConfigChanges?: boolean;\n verbose?: boolean;\n }\n ): Promise<string> {\n build = isFeatureEnabled(BUILD_ON_CI) ? Boolean(build) : true;\n const mergeStrategy = getMergeStrategy(ours, theirs, manual);\n if (noSnap && snapMessage) throw new BitError('unable to use \"noSnap\" and \"message\" flags together');\n if (includeDeps && !pattern && !existingOnWorkspaceOnly) {\n throw new BitError(`\"--include-deps\" flag is relevant only for --workspace and --pattern flags`);\n }\n const getResolveUnrelated = (): MergeStrategy | undefined => {\n if (!resolveUnrelated) return undefined;\n if (typeof resolveUnrelated === 'boolean') return 'ours';\n if (resolveUnrelated !== 'ours' && resolveUnrelated !== 'theirs' && resolveUnrelated !== 'manual') {\n throw new Error('--resolve-unrelated must be one of the following: [ours, theirs, manual]');\n }\n return resolveUnrelated;\n };\n if (resolveUnrelated && typeof resolveUnrelated === 'boolean') {\n resolveUnrelated = 'ours';\n }\n const { mergeResults, deleteResults } = await this.mergeLanes.mergeLane(name, {\n build,\n // @ts-ignore\n mergeStrategy,\n existingOnWorkspaceOnly,\n noSnap,\n snapMessage,\n keepReadme,\n noSquash,\n tag,\n pattern,\n skipDependencyInstallation,\n remote,\n resolveUnrelated: getResolveUnrelated(),\n ignoreConfigChanges,\n includeDeps,\n });\n\n const mergeResult = mergeReport({ ...mergeResults, verbose });\n const deleteResult = `${deleteResults.localResult ? paintRemoved(deleteResults.localResult, false) : ''}${(\n deleteResults.remoteResult || []\n ).map((item) => paintRemoved(item, true))}${\n (deleteResults.readmeResult && chalk.yellow(deleteResults.readmeResult)) || ''\n }\\n`;\n return mergeResult + deleteResult;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["MergeLaneCmd","constructor","mergeLanes","name","description","report","pattern","ours","theirs","manual","build","workspace","existingOnWorkspaceOnly","noSnap","tag","message","snapMessage","keepReadme","noSquash","skipDependencyInstallation","remote","includeDeps","resolveUnrelated","ignoreConfigChanges","verbose","isFeatureEnabled","BUILD_ON_CI","Boolean","mergeStrategy","getMergeStrategy","BitError","getResolveUnrelated","undefined","Error","mergeResults","deleteResults","mergeLane","mergeResult","mergeReport","deleteResult","localResult","paintRemoved","remoteResult","map","item","readmeResult","chalk","yellow"],"sources":["merge-lane.cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { getMergeStrategy, MergeStrategy } 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 paintRemoved from '@teambit/legacy/dist/cli/templates/remove-template';\nimport { MergeLanesMain } from './merge-lanes.main.runtime';\n\nexport class MergeLaneCmd implements Command {\n name = 'merge <lane> [pattern]';\n description = `merge a local or a remote lane`;\n extendedDescription = `if the <lane> exists locally, it will be merged from the local lane.\notherwise, it will fetch the lane from the remote and merge it.\nin case the <lane> exists locally but you want to merge the remote version of it, use --remote flag.\nwhen the current and the other lanes are diverged in history and the files could be merged with no conflicts,\nit will snap-merge these components to complete the merge. use \"no-snap\" to opt-out, or \"tag\" to tag instead`;\n arguments = [\n {\n name: 'lane',\n description: 'lane-name or lane-id (if not exists locally) to merge to the current lane',\n },\n {\n name: 'pattern',\n description: 'EXPERIMENTAL. partially merge the lane with the specified component-pattern',\n },\n ];\n alias = '';\n options = [\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 ['', 'workspace', 'merge 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 ['', 'tag', 'tag all lane components after merging into main (also tag-merge in case of snap-merge)'],\n ['', 'build', 'in case of snap during the merge, run the build-pipeline (similar to bit snap --build)'],\n ['m', 'message <message>', 'override the default message for the auto snap'],\n ['', 'keep-readme', 'skip deleting the lane readme component after merging'],\n ['', 'no-squash', 'EXPERIMENTAL. relevant for merging lanes into main, which by default squash.'],\n [\n '',\n 'ignore-config-changes',\n 'allow merging when component are modified due to config changes (such as dependencies) only and not files',\n ],\n ['', 'verbose', 'show details of components that were not merged legitimately'],\n ['', 'skip-dependency-installation', 'do not install packages of the imported components'],\n ['', 'remote', 'relevant when the target-lane locally is differ than the remote and you want the remote'],\n [\n '',\n 'include-deps',\n 'EXPERIMENTAL. relevant for \"--pattern\" and \"--workspace\". merge also dependencies of the given components',\n ],\n [\n '',\n 'resolve-unrelated [merge-strategy]',\n 'EXPERIMENTAL. relevant when a component on a lane and the component on main has nothing in common. merge-strategy can be \"ours\" (default) or \"theirs\"',\n ],\n ] as CommandOptions;\n loader = true;\n private = true;\n migration = true;\n remoteOp = true;\n\n constructor(private mergeLanes: MergeLanesMain) {}\n\n async report(\n [name, pattern]: [string, string],\n {\n ours = false,\n theirs = false,\n manual = false,\n build,\n workspace: existingOnWorkspaceOnly = false,\n noSnap = false,\n tag = false,\n message: snapMessage = '',\n keepReadme = false,\n noSquash = false,\n skipDependencyInstallation = false,\n remote = false,\n includeDeps = false,\n resolveUnrelated,\n ignoreConfigChanges,\n verbose = false,\n }: {\n ours: boolean;\n theirs: boolean;\n manual: boolean;\n workspace?: boolean;\n build?: boolean;\n noSnap: boolean;\n tag: boolean;\n message: string;\n keepReadme?: boolean;\n noSquash: boolean;\n skipDependencyInstallation?: boolean;\n remote: boolean;\n includeDeps?: boolean;\n resolveUnrelated?: string | boolean;\n ignoreConfigChanges?: boolean;\n verbose?: boolean;\n }\n ): Promise<string> {\n build = isFeatureEnabled(BUILD_ON_CI) ? Boolean(build) : true;\n const mergeStrategy = getMergeStrategy(ours, theirs, manual);\n if (noSnap && snapMessage) throw new BitError('unable to use \"noSnap\" and \"message\" flags together');\n if (includeDeps && !pattern && !existingOnWorkspaceOnly) {\n throw new BitError(`\"--include-deps\" flag is relevant only for --workspace and --pattern flags`);\n }\n const getResolveUnrelated = (): MergeStrategy | undefined => {\n if (!resolveUnrelated) return undefined;\n if (typeof resolveUnrelated === 'boolean') return 'ours';\n if (resolveUnrelated !== 'ours' && resolveUnrelated !== 'theirs' && resolveUnrelated !== 'manual') {\n throw new Error('--resolve-unrelated must be one of the following: [ours, theirs, manual]');\n }\n return resolveUnrelated;\n };\n if (resolveUnrelated && typeof resolveUnrelated === 'boolean') {\n resolveUnrelated = 'ours';\n }\n const { mergeResults, deleteResults } = await this.mergeLanes.mergeLane(name, {\n build,\n // @ts-ignore\n mergeStrategy,\n existingOnWorkspaceOnly,\n noSnap,\n snapMessage,\n keepReadme,\n noSquash,\n tag,\n pattern,\n skipDependencyInstallation,\n remote,\n resolveUnrelated: getResolveUnrelated(),\n ignoreConfigChanges,\n includeDeps,\n });\n\n const mergeResult = mergeReport({ ...mergeResults, verbose });\n const deleteResult = `${deleteResults.localResult ? paintRemoved(deleteResults.localResult, false) : ''}${(\n deleteResults.remoteResult || []\n ).map((item) => paintRemoved(item, true))}${\n (deleteResults.readmeResult && chalk.yellow(deleteResults.readmeResult)) || ''\n }\\n`;\n return mergeResult + deleteResult;\n }\n}\n"],"mappings":"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"}
@@ -4,21 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.MergeLanesAspect = void 0;
7
-
8
7
  function _harmony() {
9
8
  const data = require("@teambit/harmony");
10
-
11
9
  _harmony = function () {
12
10
  return data;
13
11
  };
14
-
15
12
  return data;
16
13
  }
17
-
18
14
  const MergeLanesAspect = _harmony().Aspect.create({
19
15
  id: 'teambit.lanes/merge-lanes'
20
16
  });
21
-
22
17
  exports.MergeLanesAspect = MergeLanesAspect;
23
18
 
24
19
  //# sourceMappingURL=merge-lanes.aspect.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MergeLanesAspect","Aspect","create","id"],"sources":["merge-lanes.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const MergeLanesAspect = Aspect.create({\n id: 'teambit.lanes/merge-lanes',\n});\n"],"mappings":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,gBAAgB,GAAGC,iBAAA,CAAOC,MAAP,CAAc;EAC5CC,EAAE,EAAE;AADwC,CAAd,CAAzB"}
1
+ {"version":3,"names":["MergeLanesAspect","Aspect","create","id"],"sources":["merge-lanes.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const MergeLanesAspect = Aspect.create({\n id: 'teambit.lanes/merge-lanes',\n});\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,gBAAgB,GAAGC,iBAAM,CAACC,MAAM,CAAC;EAC5CC,EAAE,EAAE;AACN,CAAC,CAAC;AAAC"}
@@ -1,230 +1,161 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  require("core-js/modules/es.array.flat.js");
6
-
7
5
  require("core-js/modules/es.array.iterator.js");
8
-
9
6
  require("core-js/modules/es.array.unscopables.flat.js");
10
-
11
7
  require("core-js/modules/es.promise.js");
12
-
13
8
  Object.defineProperty(exports, "__esModule", {
14
9
  value: true
15
10
  });
16
11
  exports.default = exports.MergeLanesMain = void 0;
17
-
18
12
  function _defineProperty2() {
19
13
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
20
-
21
14
  _defineProperty2 = function () {
22
15
  return data;
23
16
  };
24
-
25
17
  return data;
26
18
  }
27
-
28
19
  function _bitError() {
29
20
  const data = require("@teambit/bit-error");
30
-
31
21
  _bitError = function () {
32
22
  return data;
33
23
  };
34
-
35
24
  return data;
36
25
  }
37
-
38
26
  function _cli() {
39
27
  const data = require("@teambit/cli");
40
-
41
28
  _cli = function () {
42
29
  return data;
43
30
  };
44
-
45
31
  return data;
46
32
  }
47
-
48
33
  function _lanes() {
49
34
  const data = require("@teambit/lanes");
50
-
51
35
  _lanes = function () {
52
36
  return data;
53
37
  };
54
-
55
38
  return data;
56
39
  }
57
-
58
40
  function _merging() {
59
41
  const data = _interopRequireDefault(require("@teambit/merging"));
60
-
61
42
  _merging = function () {
62
43
  return data;
63
44
  };
64
-
65
45
  return data;
66
46
  }
67
-
68
47
  function _workspace() {
69
48
  const data = _interopRequireDefault(require("@teambit/workspace"));
70
-
71
49
  _workspace = function () {
72
50
  return data;
73
51
  };
74
-
75
52
  return data;
76
53
  }
77
-
78
54
  function _chalk() {
79
55
  const data = _interopRequireDefault(require("chalk"));
80
-
81
56
  _chalk = function () {
82
57
  return data;
83
58
  };
84
-
85
59
  return data;
86
60
  }
87
-
88
61
  function _pMapSeries() {
89
62
  const data = _interopRequireDefault(require("p-map-series"));
90
-
91
63
  _pMapSeries = function () {
92
64
  return data;
93
65
  };
94
-
95
66
  return data;
96
67
  }
97
-
98
68
  function _bitId() {
99
69
  const data = require("@teambit/legacy/dist/bit-id");
100
-
101
70
  _bitId = function () {
102
71
  return data;
103
72
  };
104
-
105
73
  return data;
106
74
  }
107
-
108
75
  function _scope() {
109
76
  const data = require("@teambit/scope");
110
-
111
77
  _scope = function () {
112
78
  return data;
113
79
  };
114
-
115
80
  return data;
116
81
  }
117
-
118
82
  function _scopeComponentsImporter() {
119
83
  const data = _interopRequireDefault(require("@teambit/legacy/dist/scope/component-ops/scope-components-importer"));
120
-
121
84
  _scopeComponentsImporter = function () {
122
85
  return data;
123
86
  };
124
-
125
87
  return data;
126
88
  }
127
-
128
89
  function _laneId() {
129
90
  const data = require("@teambit/lane-id");
130
-
131
91
  _laneId = function () {
132
92
  return data;
133
93
  };
134
-
135
94
  return data;
136
95
  }
137
-
138
96
  function _repositories() {
139
97
  const data = require("@teambit/legacy/dist/scope/repositories");
140
-
141
98
  _repositories = function () {
142
99
  return data;
143
100
  };
144
-
145
101
  return data;
146
102
  }
147
-
148
103
  function _logger() {
149
104
  const data = require("@teambit/logger");
150
-
151
105
  _logger = function () {
152
106
  return data;
153
107
  };
154
-
155
108
  return data;
156
109
  }
157
-
158
110
  function _remove() {
159
111
  const data = require("@teambit/remove");
160
-
161
112
  _remove = function () {
162
113
  return data;
163
114
  };
164
-
165
115
  return data;
166
116
  }
167
-
168
117
  function _lodash() {
169
118
  const data = require("lodash");
170
-
171
119
  _lodash = function () {
172
120
  return data;
173
121
  };
174
-
175
122
  return data;
176
123
  }
177
-
178
124
  function _export() {
179
125
  const data = require("@teambit/export");
180
-
181
126
  _export = function () {
182
127
  return data;
183
128
  };
184
-
185
129
  return data;
186
130
  }
187
-
188
131
  function _getDivergeData() {
189
132
  const data = require("@teambit/legacy/dist/scope/component-ops/get-diverge-data");
190
-
191
133
  _getDivergeData = function () {
192
134
  return data;
193
135
  };
194
-
195
136
  return data;
196
137
  }
197
-
198
138
  function _mergeLanes() {
199
139
  const data = require("./merge-lanes.aspect");
200
-
201
140
  _mergeLanes = function () {
202
141
  return data;
203
142
  };
204
-
205
143
  return data;
206
144
  }
207
-
208
145
  function _mergeLane() {
209
146
  const data = require("./merge-lane.cmd");
210
-
211
147
  _mergeLane = function () {
212
148
  return data;
213
149
  };
214
-
215
150
  return data;
216
151
  }
217
-
218
152
  function _mergeLaneFromScope() {
219
153
  const data = require("./merge-lane-from-scope.cmd");
220
-
221
154
  _mergeLaneFromScope = function () {
222
155
  return data;
223
156
  };
224
-
225
157
  return data;
226
158
  }
227
-
228
159
  class MergeLanesMain {
229
160
  constructor(workspace, merging, lanes, logger, remove, scope, exporter) {
230
161
  this.workspace = workspace;
@@ -235,12 +166,10 @@ class MergeLanesMain {
235
166
  this.scope = scope;
236
167
  this.exporter = exporter;
237
168
  }
238
-
239
169
  async mergeLane(laneName, options) {
240
170
  if (!this.workspace) {
241
171
  throw new (_bitError().BitError)(`unable to merge a lane outside of Bit workspace`);
242
172
  }
243
-
244
173
  const consumer = this.workspace.consumer;
245
174
  const {
246
175
  mergeStrategy,
@@ -259,53 +188,39 @@ class MergeLanesMain {
259
188
  remote
260
189
  } = options;
261
190
  const currentLaneId = consumer.getCurrentLaneId();
262
-
263
191
  if (tag && !currentLaneId.isDefault()) {
264
192
  throw new (_bitError().BitError)(`--tag only possible when on main. currently checked out to ${currentLaneId.toString()}`);
265
193
  }
266
-
267
194
  const otherLaneId = await consumer.getParsedLaneId(laneName);
268
-
269
195
  if (otherLaneId.isEqual(currentLaneId)) {
270
196
  throw new (_bitError().BitError)(`unable to merge lane "${otherLaneId.toString()}", you're already at this lane. to get updates, simply run "bit checkout head"`);
271
197
  }
272
-
273
198
  const currentLane = currentLaneId.isDefault() ? null : await consumer.scope.loadLane(currentLaneId);
274
199
  const isDefaultLane = otherLaneId.isDefault();
275
-
276
200
  const getOtherLane = async () => {
277
201
  if (isDefaultLane) {
278
202
  return undefined;
279
203
  }
280
-
281
204
  const lane = await consumer.scope.loadLane(otherLaneId);
282
-
283
205
  if (remote || !lane) {
284
206
  return this.lanes.fetchLaneWithItsComponents(otherLaneId);
285
207
  }
286
-
287
208
  return lane;
288
209
  };
289
-
290
210
  const otherLane = await getOtherLane();
291
-
292
211
  const getBitIds = async () => {
293
212
  if (isDefaultLane) {
294
213
  if (!currentLane) throw new Error(`unable to merge ${_laneId().DEFAULT_LANE}, the current lane was not found`);
295
214
  return consumer.scope.getDefaultLaneIdsFromLane(currentLane);
296
215
  }
297
-
298
216
  if (!otherLane) throw new Error(`lane must be defined for non-default`);
299
217
  return otherLane.toBitIds();
300
218
  };
301
-
302
219
  const bitIds = await getBitIds();
303
220
  this.logger.debug(`merging the following bitIds: ${bitIds.toString()}`);
304
221
  const otherLaneName = isDefaultLane ? _laneId().DEFAULT_LANE : otherLaneId.toString();
305
-
306
222
  const getAllComponentsStatus = async () => {
307
223
  const tmp = new (_repositories().Tmp)(consumer.scope);
308
-
309
224
  try {
310
225
  const componentsStatus = await Promise.all(bitIds.map(bitId => this.merging.getComponentMergeStatus(bitId, currentLane, otherLaneName, {
311
226
  resolveUnrelated,
@@ -318,9 +233,7 @@ class MergeLanesMain {
318
233
  throw err;
319
234
  }
320
235
  };
321
-
322
236
  let allComponentsStatus = await getAllComponentsStatus();
323
-
324
237
  if (pattern) {
325
238
  const componentIds = await this.workspace.resolveMultipleComponentIds(bitIds);
326
239
  const compIdsFromPattern = this.workspace.scope.filterIdsFromPoolIdsByPattern(pattern, componentIds);
@@ -335,7 +248,6 @@ class MergeLanesMain {
335
248
  }
336
249
  });
337
250
  }
338
-
339
251
  if (existingOnWorkspaceOnly) {
340
252
  const workspaceIds = await this.workspace.listIds();
341
253
  const compIdsFromPattern = workspaceIds.filter(id => allComponentsStatus.find(c => c.id.isEqualWithoutVersion(id._legacy)));
@@ -350,13 +262,10 @@ class MergeLanesMain {
350
262
  }
351
263
  });
352
264
  }
353
-
354
265
  throwForFailures();
355
-
356
266
  if (currentLaneId.isDefault() && !noSquash) {
357
267
  squashSnaps(allComponentsStatus, otherLaneId, consumer);
358
268
  }
359
-
360
269
  const mergeResults = await this.merging.mergeSnaps({
361
270
  mergeStrategy,
362
271
  allComponentsStatus,
@@ -370,10 +279,8 @@ class MergeLanesMain {
370
279
  });
371
280
  const mergedSuccessfully = !mergeResults.failedComponents || mergeResults.failedComponents.length === 0 || mergeResults.failedComponents.every(failedComponent => failedComponent.unchangedLegitimately);
372
281
  let deleteResults = {};
373
-
374
282
  if (!keepReadme && otherLane && otherLane.readmeComponent && mergedSuccessfully) {
375
283
  var _otherLane$readmeComp, _otherLane$readmeComp2;
376
-
377
284
  const readmeComponentId = otherLane.readmeComponent.id.changeVersion((_otherLane$readmeComp = otherLane.readmeComponent) === null || _otherLane$readmeComp === void 0 ? void 0 : (_otherLane$readmeComp2 = _otherLane$readmeComp.head) === null || _otherLane$readmeComp2 === void 0 ? void 0 : _otherLane$readmeComp2.hash).toString();
378
285
  deleteResults = await this.remove.remove({
379
286
  componentsPattern: readmeComponentId,
@@ -388,40 +295,32 @@ class MergeLanesMain {
388
295
  readmeResult: `\nlane ${otherLane.name} doesn't have a readme component`
389
296
  };
390
297
  }
391
-
392
298
  await this.workspace.consumer.onDestroy();
393
299
  return {
394
300
  mergeResults,
395
301
  deleteResults
396
302
  };
397
-
398
303
  function throwForFailures() {
399
304
  const failedComponents = allComponentsStatus.filter(c => c.unmergedMessage && !c.unmergedLegitimately);
400
-
401
305
  if (failedComponents.length) {
402
306
  const failureMsgs = failedComponents.map(failedComponent => `${_chalk().default.bold(failedComponent.id.toString())} - ${_chalk().default.red(failedComponent.unmergedMessage)}`).join('\n');
403
307
  throw new (_bitError().BitError)(`unable to merge due to the following failures:\n${failureMsgs}`);
404
308
  }
405
309
  }
406
310
  }
407
-
408
311
  async mergeFromScope(laneName, options) {
409
312
  if (this.workspace) throw new (_bitError().BitError)(`unable to run this command from a workspace, please create a new bare-scope and run it from there`);
410
-
411
313
  const laneId = _laneId().LaneId.parse(laneName);
412
-
413
314
  const lane = await this.lanes.importLaneObject(laneId);
414
315
  const laneIds = lane.toBitIds();
415
-
416
316
  const scopeComponentsImporter = _scopeComponentsImporter().default.getInstance(this.scope.legacyScope);
417
-
418
- await scopeComponentsImporter.importManyDeltaWithoutDeps(laneIds, true, lane, true); // get their main as well
419
-
317
+ await scopeComponentsImporter.importManyDeltaWithoutDeps(laneIds, true, lane, true);
318
+ // get their main as well
420
319
  await scopeComponentsImporter.importManyDeltaWithoutDeps(laneIds.toVersionLatest(), true, undefined, true);
421
- const repo = this.scope.legacyScope.objects; // loop through all components, make sure they're all ahead of main (it might not be on main yet).
320
+ const repo = this.scope.legacyScope.objects;
321
+ // loop through all components, make sure they're all ahead of main (it might not be on main yet).
422
322
  // then, change the version object to include an extra parent to point to the main.
423
323
  // then, change the component object head to point to this changed version
424
-
425
324
  const mergedPreviously = [];
426
325
  const mergedNow = [];
427
326
  const bitObjectsPerComp = await (0, _pMapSeries().default)(laneIds, async id => {
@@ -430,12 +329,10 @@ class MergeLanesMain {
430
329
  const laneHead = modelComponent.getRef(id.version);
431
330
  if (!laneHead) throw new Error(`lane head must be defined for ${id.toString()}`);
432
331
  const mainHead = modelComponent.head || null;
433
-
434
332
  if (mainHead !== null && mainHead !== void 0 && mainHead.isEqual(laneHead)) {
435
333
  mergedPreviously.push(id);
436
334
  return undefined;
437
335
  }
438
-
439
336
  const divergeData = await (0, _getDivergeData().getDivergeData)({
440
337
  repo,
441
338
  modelComponent,
@@ -454,12 +351,9 @@ class MergeLanesMain {
454
351
  const bitObjects = (0, _lodash().compact)(bitObjectsPerComp).map(b => b.objects);
455
352
  await repo.writeObjectsToTheFS(bitObjects.flat());
456
353
  let exportedIds = [];
457
-
458
354
  if (options.push) {
459
355
  const ids = (0, _lodash().compact)(bitObjectsPerComp).map(b => b.id);
460
-
461
356
  const bitIds = _bitId().BitIds.fromArray(ids);
462
-
463
357
  const {
464
358
  exported
465
359
  } = await this.exporter.exportMany({
@@ -470,17 +364,14 @@ class MergeLanesMain {
470
364
  });
471
365
  exportedIds = exported.map(id => id.toString());
472
366
  }
473
-
474
367
  return {
475
368
  mergedPreviously: mergedPreviously.map(id => id.toString()),
476
369
  mergedNow: mergedNow.map(id => id.toString()),
477
370
  exportedIds
478
371
  };
479
372
  }
480
-
481
373
  static async provider([lanes, cli, workspace, merging, loggerMain, remove, scope, exporter]) {
482
374
  var _lanesCommand$command;
483
-
484
375
  const logger = loggerMain.createLogger(_mergeLanes().MergeLanesAspect.id);
485
376
  const lanesCommand = cli.getCommand('lane');
486
377
  const mergeLanesMain = new MergeLanesMain(workspace, merging, lanes, logger, remove, scope, exporter);
@@ -488,98 +379,74 @@ class MergeLanesMain {
488
379
  cli.register(new (_mergeLaneFromScope().MergeLaneFromScopeCmd)(mergeLanesMain));
489
380
  return mergeLanesMain;
490
381
  }
491
-
492
382
  }
493
-
494
383
  exports.MergeLanesMain = MergeLanesMain;
495
384
  (0, _defineProperty2().default)(MergeLanesMain, "slots", []);
496
385
  (0, _defineProperty2().default)(MergeLanesMain, "dependencies", [_lanes().LanesAspect, _cli().CLIAspect, _workspace().default, _merging().default, _logger().LoggerAspect, _remove().RemoveAspect, _scope().ScopeAspect, _export().ExportAspect]);
497
386
  (0, _defineProperty2().default)(MergeLanesMain, "runtime", _cli().MainRuntime);
498
-
499
387
  async function filterComponentsStatus(allComponentsStatus, compIdsToKeep, allBitIds, workspace, includeDeps = false, lane) {
500
388
  const bitIdsFromPattern = _bitId().BitIds.fromArray(compIdsToKeep.map(c => c._legacy));
501
-
502
389
  const bitIdsNotFromPattern = allBitIds.filter(bitId => !bitIdsFromPattern.hasWithoutVersion(bitId));
503
390
  const filteredComponentStatus = [];
504
391
  const depsToAdd = [];
505
392
  await (0, _pMapSeries().default)(compIdsToKeep, async compId => {
506
393
  const fromStatus = allComponentsStatus.find(c => c.id.isEqualWithoutVersion(compId._legacy));
507
-
508
394
  if (!fromStatus) {
509
395
  throw new Error(`filterComponentsStatus: unable to find ${compId.toString()} in component-status`);
510
396
  }
511
-
512
397
  filteredComponentStatus.push(fromStatus);
513
-
514
398
  if (fromStatus.unmergedMessage) {
515
399
  return;
516
400
  }
517
-
518
401
  const {
519
402
  divergeData
520
403
  } = fromStatus;
521
-
522
404
  if (!divergeData) {
523
405
  throw new Error(`filterComponentsStatus: unable to find divergeData for ${compId.toString()}`);
524
406
  }
525
-
526
407
  const remoteVersions = divergeData.snapsOnRemoteOnly;
527
-
528
408
  if (!remoteVersions.length) {
529
409
  return;
530
410
  }
531
-
532
- const modelComponent = await workspace.consumer.scope.getModelComponent(compId._legacy); // optimization suggestion: if squash is given, check only the last version.
533
-
411
+ const modelComponent = await workspace.consumer.scope.getModelComponent(compId._legacy);
412
+ // optimization suggestion: if squash is given, check only the last version.
534
413
  await (0, _pMapSeries().default)(remoteVersions, async remoteVersion => {
535
414
  const versionObj = await modelComponent.loadVersion(remoteVersion.toString(), workspace.consumer.scope.objects);
536
415
  const flattenedDeps = versionObj.getAllFlattenedDependencies();
537
416
  const depsNotIncludeInPattern = flattenedDeps.filter(id => bitIdsNotFromPattern.find(bitId => bitId.isEqualWithoutVersion(id)));
538
-
539
417
  if (!depsNotIncludeInPattern.length) {
540
418
  return;
541
419
  }
542
-
543
420
  const depsOnLane = [];
544
421
  await Promise.all(depsNotIncludeInPattern.map(async dep => {
545
422
  const isOnLane = await workspace.consumer.scope.isIdOnLane(dep, lane);
546
-
547
423
  if (isOnLane) {
548
424
  depsOnLane.push(dep);
549
425
  }
550
426
  }));
551
-
552
427
  if (!depsOnLane.length) {
553
428
  return;
554
429
  }
555
-
556
430
  if (!includeDeps) {
557
431
  throw new (_bitError().BitError)(`unable to merge ${compId.toString()}.
558
432
  it has (in version ${remoteVersion.toString()}) the following dependencies which were not included in the pattern. consider adding "--include-deps" flag
559
433
  ${depsOnLane.map(d => d.toString()).join('\n')}`);
560
434
  }
561
-
562
435
  depsToAdd.push(...depsOnLane);
563
436
  });
564
437
  });
565
-
566
438
  if (depsToAdd.length) {
567
439
  const depsUniq = _bitId().BitIds.uniqFromArray(depsToAdd);
568
-
569
440
  depsUniq.forEach(id => {
570
441
  const fromStatus = allComponentsStatus.find(c => c.id.isEqualWithoutVersion(id));
571
-
572
442
  if (!fromStatus) {
573
443
  throw new Error(`filterComponentsStatus: unable to find ${id.toString()} in component-status`);
574
444
  }
575
-
576
445
  filteredComponentStatus.push(fromStatus);
577
446
  });
578
447
  }
579
-
580
448
  return filteredComponentStatus;
581
449
  }
582
-
583
450
  function squashSnaps(allComponentsStatus, otherLaneId, consumer) {
584
451
  const currentLaneName = consumer.getCurrentLaneId().name;
585
452
  const succeededComponents = allComponentsStatus.filter(c => !c.unmergedMessage);
@@ -591,68 +458,58 @@ function squashSnaps(allComponentsStatus, otherLaneId, consumer) {
591
458
  if (!divergeData) {
592
459
  throw new Error(`unable to squash. divergeData is missing from ${id.toString()}`);
593
460
  }
594
-
595
461
  const modifiedComp = squashOneComp(currentLaneName, otherLaneId, id, divergeData, componentFromModel);
596
462
  if (modifiedComp) consumer.scope.objects.add(modifiedComp);
597
463
  });
598
464
  }
465
+
599
466
  /**
600
467
  * returns Version object if it was modified. otherwise, returns undefined
601
468
  */
602
-
603
-
604
469
  function squashOneComp(currentLaneName, otherLaneId, id, divergeData, componentFromModel) {
605
470
  if (divergeData.isDiverged()) {
606
471
  throw new (_bitError().BitError)(`unable to squash because ${id.toString()} is diverged in history.
607
472
  consider switching to "${otherLaneId.name}" first, merging "${currentLaneName}", then switching back to "${currentLaneName}" and merging "${otherLaneId.name}"
608
473
  alternatively, use "--no-squash" flag to keep the entire history of "${otherLaneId.name}"`);
609
474
  }
610
-
611
475
  if (divergeData.isLocalAhead()) {
612
476
  // nothing to do. current is ahead, nothing to merge. (it was probably filtered out already as a "failedComponent")
613
477
  return undefined;
614
478
  }
615
-
616
479
  if (!divergeData.isRemoteAhead()) {
617
480
  // nothing to do. current and remote are the same, nothing to merge. (it was probably filtered out already as a "failedComponent")
618
481
  return undefined;
619
- } // remote is ahead and was not diverge.
620
-
621
-
482
+ }
483
+ // remote is ahead and was not diverge.
622
484
  const remoteSnaps = divergeData.snapsOnRemoteOnly;
623
-
624
485
  if (remoteSnaps.length === 0) {
625
486
  throw new Error(`remote is ahead but it has no snaps. it's impossible`);
626
- } // no need to check this case. even if it has only one snap ahead, we want to do the "squash", and run "addAsOnlyParent"
487
+ }
488
+ // no need to check this case. even if it has only one snap ahead, we want to do the "squash", and run "addAsOnlyParent"
627
489
  // to make sure it doesn't not have two parents.
628
490
  // if (remoteSnaps.length === 1) {
629
491
  // // nothing to squash. it has only one commit.
630
492
  // return;
631
493
  // }
632
-
633
-
634
494
  if (!componentFromModel) {
635
495
  throw new Error('unable to squash, the componentFromModel is missing');
636
496
  }
497
+ const currentParents = componentFromModel.parents;
637
498
 
638
- const currentParents = componentFromModel.parents; // do the squash.
639
-
499
+ // do the squash.
640
500
  if (divergeData.commonSnapBeforeDiverge) {
641
501
  componentFromModel.addAsOnlyParent(divergeData.commonSnapBeforeDiverge);
642
502
  } else {
643
503
  // there is no commonSnapBeforeDiverge. the local has no snaps, all are remote, no need for parents. keep only head.
644
504
  componentFromModel.parents.forEach(ref => componentFromModel.removeParent(ref));
645
505
  }
646
-
647
506
  componentFromModel.setSquashed({
648
507
  previousParents: currentParents,
649
508
  laneId: otherLaneId
650
509
  });
651
510
  return componentFromModel;
652
511
  }
653
-
654
512
  _mergeLanes().MergeLanesAspect.addRuntime(MergeLanesMain);
655
-
656
513
  var _default = MergeLanesMain;
657
514
  exports.default = _default;
658
515
 
@@ -1 +1 @@
1
- {"version":3,"names":["MergeLanesMain","constructor","workspace","merging","lanes","logger","remove","scope","exporter","mergeLane","laneName","options","BitError","consumer","mergeStrategy","noSnap","tag","snapMessage","existingOnWorkspaceOnly","build","keepReadme","noSquash","pattern","includeDeps","skipDependencyInstallation","resolveUnrelated","ignoreConfigChanges","remote","currentLaneId","getCurrentLaneId","isDefault","toString","otherLaneId","getParsedLaneId","isEqual","currentLane","loadLane","isDefaultLane","getOtherLane","undefined","lane","fetchLaneWithItsComponents","otherLane","getBitIds","Error","DEFAULT_LANE","getDefaultLaneIdsFromLane","toBitIds","bitIds","debug","otherLaneName","getAllComponentsStatus","tmp","Tmp","componentsStatus","Promise","all","map","bitId","getComponentMergeStatus","clear","err","allComponentsStatus","componentIds","resolveMultipleComponentIds","compIdsFromPattern","filterIdsFromPoolIdsByPattern","filterComponentsStatus","forEach","find","c","id","isEqualWithoutVersion","push","unmergedLegitimately","unmergedMessage","workspaceIds","listIds","filter","_legacy","throwForFailures","squashSnaps","mergeResults","mergeSnaps","laneId","localLane","mergedSuccessfully","failedComponents","length","every","failedComponent","unchangedLegitimately","deleteResults","readmeComponent","readmeComponentId","changeVersion","head","hash","componentsPattern","force","track","deleteFiles","fromLane","readmeResult","name","onDestroy","failureMsgs","chalk","bold","red","join","mergeFromScope","LaneId","parse","importLaneObject","laneIds","scopeComponentsImporter","ScopeComponentsImporter","getInstance","legacyScope","importManyDeltaWithoutDeps","toVersionLatest","repo","objects","mergedPreviously","mergedNow","bitObjectsPerComp","pMapSeries","modelComponent","getModelComponent","versionObj","loadVersion","version","laneHead","getRef","mainHead","divergeData","getDivergeData","remoteHead","checkedOutLocalHead","modifiedVersion","squashOneComp","setHead","bitObjects","compact","b","writeObjectsToTheFS","flat","exportedIds","ids","BitIds","fromArray","exported","exportMany","idsWithFutureScope","allVersions","provider","cli","loggerMain","createLogger","MergeLanesAspect","lanesCommand","getCommand","mergeLanesMain","commands","MergeLaneCmd","register","MergeLaneFromScopeCmd","LanesAspect","CLIAspect","WorkspaceAspect","MergingAspect","LoggerAspect","RemoveAspect","ScopeAspect","ExportAspect","MainRuntime","compIdsToKeep","allBitIds","bitIdsFromPattern","bitIdsNotFromPattern","hasWithoutVersion","filteredComponentStatus","depsToAdd","compId","fromStatus","remoteVersions","snapsOnRemoteOnly","remoteVersion","flattenedDeps","getAllFlattenedDependencies","depsNotIncludeInPattern","depsOnLane","dep","isOnLane","isIdOnLane","d","depsUniq","uniqFromArray","currentLaneName","succeededComponents","componentFromModel","modifiedComp","add","isDiverged","isLocalAhead","isRemoteAhead","remoteSnaps","currentParents","parents","commonSnapBeforeDiverge","addAsOnlyParent","ref","removeParent","setSquashed","previousParents","addRuntime"],"sources":["merge-lanes.main.runtime.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { LanesAspect, LanesMain } from '@teambit/lanes';\nimport MergingAspect, { MergingMain, ComponentMergeStatus } from '@teambit/merging';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport chalk from 'chalk';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport pMapSeries from 'p-map-series';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { MergeStrategy, ApplyVersionResults } from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport { BitIds } from '@teambit/legacy/dist/bit-id';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport ScopeComponentsImporter from '@teambit/legacy/dist/scope/component-ops/scope-components-importer';\nimport { ComponentID } from '@teambit/component-id';\nimport { DEFAULT_LANE, LaneId } from '@teambit/lane-id';\nimport { Lane, Version } from '@teambit/legacy/dist/scope/models';\nimport { Tmp } from '@teambit/legacy/dist/scope/repositories';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { DivergeData } from '@teambit/legacy/dist/scope/component-ops/diverge-data';\nimport { RemoveAspect, RemoveMain } from '@teambit/remove';\nimport { compact } from 'lodash';\nimport { ExportAspect, ExportMain } from '@teambit/export';\nimport { BitObject } from '@teambit/legacy/dist/scope/objects';\nimport { getDivergeData } from '@teambit/legacy/dist/scope/component-ops/get-diverge-data';\nimport { MergeLanesAspect } from './merge-lanes.aspect';\nimport { MergeLaneCmd } from './merge-lane.cmd';\nimport { MergeLaneFromScopeCmd } from './merge-lane-from-scope.cmd';\n\nexport type MergeLaneOptions = {\n mergeStrategy: MergeStrategy;\n noSnap: boolean;\n snapMessage: string;\n existingOnWorkspaceOnly: boolean;\n build: boolean;\n keepReadme: boolean;\n noSquash: boolean;\n tag?: boolean;\n pattern?: string;\n includeDeps?: boolean;\n skipDependencyInstallation?: boolean;\n resolveUnrelated?: MergeStrategy;\n ignoreConfigChanges?: boolean;\n remote?: boolean;\n};\n\nexport class MergeLanesMain {\n constructor(\n private workspace: Workspace | undefined,\n private merging: MergingMain,\n private lanes: LanesMain,\n private logger: Logger,\n private remove: RemoveMain,\n private scope: ScopeMain,\n private exporter: ExportMain\n ) {}\n\n async mergeLane(\n laneName: string,\n options: MergeLaneOptions\n ): Promise<{ mergeResults: ApplyVersionResults; deleteResults: any }> {\n if (!this.workspace) {\n throw new BitError(`unable to merge a lane outside of Bit workspace`);\n }\n const consumer = this.workspace.consumer;\n\n const {\n mergeStrategy,\n noSnap,\n tag,\n snapMessage,\n existingOnWorkspaceOnly,\n build,\n keepReadme,\n noSquash,\n pattern,\n includeDeps,\n skipDependencyInstallation,\n resolveUnrelated,\n ignoreConfigChanges,\n remote,\n } = options;\n\n const currentLaneId = consumer.getCurrentLaneId();\n if (tag && !currentLaneId.isDefault()) {\n throw new BitError(`--tag only possible when on main. currently checked out to ${currentLaneId.toString()}`);\n }\n const otherLaneId = await consumer.getParsedLaneId(laneName);\n if (otherLaneId.isEqual(currentLaneId)) {\n throw new BitError(\n `unable to merge lane \"${otherLaneId.toString()}\", you're already at this lane. to get updates, simply run \"bit checkout head\"`\n );\n }\n const currentLane = currentLaneId.isDefault() ? null : await consumer.scope.loadLane(currentLaneId);\n const isDefaultLane = otherLaneId.isDefault();\n const getOtherLane = async () => {\n if (isDefaultLane) {\n return undefined;\n }\n const lane = await consumer.scope.loadLane(otherLaneId);\n if (remote || !lane) {\n return this.lanes.fetchLaneWithItsComponents(otherLaneId);\n }\n return lane;\n };\n const otherLane = await getOtherLane();\n const getBitIds = async () => {\n if (isDefaultLane) {\n if (!currentLane) throw new Error(`unable to merge ${DEFAULT_LANE}, the current lane was not found`);\n return consumer.scope.getDefaultLaneIdsFromLane(currentLane);\n }\n if (!otherLane) throw new Error(`lane must be defined for non-default`);\n return otherLane.toBitIds();\n };\n const bitIds = await getBitIds();\n this.logger.debug(`merging the following bitIds: ${bitIds.toString()}`);\n const otherLaneName = isDefaultLane ? DEFAULT_LANE : otherLaneId.toString();\n\n const getAllComponentsStatus = async (): Promise<ComponentMergeStatus[]> => {\n const tmp = new Tmp(consumer.scope);\n try {\n const componentsStatus = await Promise.all(\n bitIds.map((bitId) =>\n this.merging.getComponentMergeStatus(bitId, currentLane, otherLaneName, {\n resolveUnrelated,\n ignoreConfigChanges,\n })\n )\n );\n await tmp.clear();\n return componentsStatus;\n } catch (err: any) {\n await tmp.clear();\n throw err;\n }\n };\n let allComponentsStatus = await getAllComponentsStatus();\n\n if (pattern) {\n const componentIds = await this.workspace.resolveMultipleComponentIds(bitIds);\n const compIdsFromPattern = this.workspace.scope.filterIdsFromPoolIdsByPattern(pattern, componentIds);\n allComponentsStatus = await filterComponentsStatus(\n allComponentsStatus,\n compIdsFromPattern,\n bitIds,\n this.workspace,\n includeDeps,\n otherLane || undefined\n );\n bitIds.forEach((bitId) => {\n if (!allComponentsStatus.find((c) => c.id.isEqualWithoutVersion(bitId))) {\n allComponentsStatus.push({ id: bitId, unmergedLegitimately: true, unmergedMessage: `excluded by pattern` });\n }\n });\n }\n if (existingOnWorkspaceOnly) {\n const workspaceIds = await this.workspace.listIds();\n const compIdsFromPattern = workspaceIds.filter((id) =>\n allComponentsStatus.find((c) => c.id.isEqualWithoutVersion(id._legacy))\n );\n allComponentsStatus = await filterComponentsStatus(\n allComponentsStatus,\n compIdsFromPattern,\n bitIds,\n this.workspace,\n includeDeps\n );\n bitIds.forEach((bitId) => {\n if (!allComponentsStatus.find((c) => c.id.isEqualWithoutVersion(bitId))) {\n allComponentsStatus.push({ id: bitId, unmergedLegitimately: true, unmergedMessage: `not in the workspace` });\n }\n });\n }\n\n throwForFailures();\n\n if (currentLaneId.isDefault() && !noSquash) {\n squashSnaps(allComponentsStatus, otherLaneId, consumer);\n }\n\n const mergeResults = await this.merging.mergeSnaps({\n mergeStrategy,\n allComponentsStatus,\n laneId: otherLaneId,\n localLane: currentLane,\n noSnap,\n tag,\n snapMessage,\n build,\n skipDependencyInstallation,\n });\n\n const mergedSuccessfully =\n !mergeResults.failedComponents ||\n mergeResults.failedComponents.length === 0 ||\n mergeResults.failedComponents.every((failedComponent) => failedComponent.unchangedLegitimately);\n\n let deleteResults = {};\n\n if (!keepReadme && otherLane && otherLane.readmeComponent && mergedSuccessfully) {\n const readmeComponentId = otherLane.readmeComponent.id\n .changeVersion(otherLane.readmeComponent?.head?.hash)\n .toString();\n\n deleteResults = await this.remove.remove({\n componentsPattern: readmeComponentId,\n force: false,\n remote: false,\n track: false,\n deleteFiles: true,\n fromLane: false,\n });\n } else if (otherLane && !otherLane.readmeComponent) {\n deleteResults = { readmeResult: `\\nlane ${otherLane.name} doesn't have a readme component` };\n }\n\n await this.workspace.consumer.onDestroy();\n\n return { mergeResults, deleteResults };\n\n function throwForFailures() {\n const failedComponents = allComponentsStatus.filter((c) => c.unmergedMessage && !c.unmergedLegitimately);\n if (failedComponents.length) {\n const failureMsgs = failedComponents\n .map(\n (failedComponent) =>\n `${chalk.bold(failedComponent.id.toString())} - ${chalk.red(failedComponent.unmergedMessage as string)}`\n )\n .join('\\n');\n throw new BitError(`unable to merge due to the following failures:\\n${failureMsgs}`);\n }\n }\n }\n\n async mergeFromScope(\n laneName: string,\n options: Partial<MergeLaneOptions> & { push?: boolean }\n ): Promise<{\n mergedPreviously: string[];\n mergedNow: string[];\n exportedIds: string[];\n }> {\n if (this.workspace)\n throw new BitError(\n `unable to run this command from a workspace, please create a new bare-scope and run it from there`\n );\n const laneId = LaneId.parse(laneName);\n const lane = await this.lanes.importLaneObject(laneId);\n const laneIds = lane.toBitIds();\n const scopeComponentsImporter = ScopeComponentsImporter.getInstance(this.scope.legacyScope);\n await scopeComponentsImporter.importManyDeltaWithoutDeps(laneIds, true, lane, true);\n // get their main as well\n await scopeComponentsImporter.importManyDeltaWithoutDeps(laneIds.toVersionLatest(), true, undefined, true);\n const repo = this.scope.legacyScope.objects;\n // loop through all components, make sure they're all ahead of main (it might not be on main yet).\n // then, change the version object to include an extra parent to point to the main.\n // then, change the component object head to point to this changed version\n const mergedPreviously: BitId[] = [];\n const mergedNow: BitId[] = [];\n const bitObjectsPerComp = await pMapSeries(laneIds, async (id) => {\n const modelComponent = await this.scope.legacyScope.getModelComponent(id);\n const versionObj = await modelComponent.loadVersion(id.version as string, repo);\n const laneHead = modelComponent.getRef(id.version as string);\n if (!laneHead) throw new Error(`lane head must be defined for ${id.toString()}`);\n const mainHead = modelComponent.head || null;\n if (mainHead?.isEqual(laneHead)) {\n mergedPreviously.push(id);\n return undefined;\n }\n const divergeData = await getDivergeData({\n repo,\n modelComponent,\n remoteHead: laneHead,\n checkedOutLocalHead: mainHead,\n });\n const modifiedVersion = squashOneComp(DEFAULT_LANE, laneId, id, divergeData, versionObj);\n modelComponent.setHead(laneHead);\n const objects = [modelComponent, modifiedVersion];\n mergedNow.push(id);\n return { id, objects };\n });\n const bitObjects = compact(bitObjectsPerComp).map((b) => b.objects);\n await repo.writeObjectsToTheFS(bitObjects.flat() as BitObject[]);\n let exportedIds: string[] = [];\n if (options.push) {\n const ids = compact(bitObjectsPerComp).map((b) => b.id);\n const bitIds = BitIds.fromArray(ids);\n const { exported } = await this.exporter.exportMany({\n scope: this.scope.legacyScope,\n ids: bitIds,\n idsWithFutureScope: bitIds,\n allVersions: false,\n });\n exportedIds = exported.map((id) => id.toString());\n }\n\n return {\n mergedPreviously: mergedPreviously.map((id) => id.toString()),\n mergedNow: mergedNow.map((id) => id.toString()),\n exportedIds,\n };\n }\n\n static slots = [];\n static dependencies = [\n LanesAspect,\n CLIAspect,\n WorkspaceAspect,\n MergingAspect,\n LoggerAspect,\n RemoveAspect,\n ScopeAspect,\n ExportAspect,\n ];\n static runtime = MainRuntime;\n\n static async provider([lanes, cli, workspace, merging, loggerMain, remove, scope, exporter]: [\n LanesMain,\n CLIMain,\n Workspace,\n MergingMain,\n LoggerMain,\n RemoveMain,\n ScopeMain,\n ExportMain\n ]) {\n const logger = loggerMain.createLogger(MergeLanesAspect.id);\n const lanesCommand = cli.getCommand('lane');\n const mergeLanesMain = new MergeLanesMain(workspace, merging, lanes, logger, remove, scope, exporter);\n lanesCommand?.commands?.push(new MergeLaneCmd(mergeLanesMain));\n cli.register(new MergeLaneFromScopeCmd(mergeLanesMain));\n return mergeLanesMain;\n }\n}\n\nasync function filterComponentsStatus(\n allComponentsStatus: ComponentMergeStatus[],\n compIdsToKeep: ComponentID[],\n allBitIds: BitId[],\n workspace: Workspace,\n includeDeps = false,\n lane?: Lane\n): Promise<ComponentMergeStatus[]> {\n const bitIdsFromPattern = BitIds.fromArray(compIdsToKeep.map((c) => c._legacy));\n const bitIdsNotFromPattern = allBitIds.filter((bitId) => !bitIdsFromPattern.hasWithoutVersion(bitId));\n const filteredComponentStatus: ComponentMergeStatus[] = [];\n const depsToAdd: BitId[] = [];\n await pMapSeries(compIdsToKeep, async (compId) => {\n const fromStatus = allComponentsStatus.find((c) => c.id.isEqualWithoutVersion(compId._legacy));\n if (!fromStatus) {\n throw new Error(`filterComponentsStatus: unable to find ${compId.toString()} in component-status`);\n }\n filteredComponentStatus.push(fromStatus);\n if (fromStatus.unmergedMessage) {\n return;\n }\n const { divergeData } = fromStatus;\n if (!divergeData) {\n throw new Error(`filterComponentsStatus: unable to find divergeData for ${compId.toString()}`);\n }\n const remoteVersions = divergeData.snapsOnRemoteOnly;\n if (!remoteVersions.length) {\n return;\n }\n const modelComponent = await workspace.consumer.scope.getModelComponent(compId._legacy);\n // optimization suggestion: if squash is given, check only the last version.\n await pMapSeries(remoteVersions, async (remoteVersion) => {\n const versionObj = await modelComponent.loadVersion(remoteVersion.toString(), workspace.consumer.scope.objects);\n const flattenedDeps = versionObj.getAllFlattenedDependencies();\n const depsNotIncludeInPattern = flattenedDeps.filter((id) =>\n bitIdsNotFromPattern.find((bitId) => bitId.isEqualWithoutVersion(id))\n );\n if (!depsNotIncludeInPattern.length) {\n return;\n }\n const depsOnLane: BitId[] = [];\n await Promise.all(\n depsNotIncludeInPattern.map(async (dep) => {\n const isOnLane = await workspace.consumer.scope.isIdOnLane(dep, lane);\n if (isOnLane) {\n depsOnLane.push(dep);\n }\n })\n );\n if (!depsOnLane.length) {\n return;\n }\n if (!includeDeps) {\n throw new BitError(`unable to merge ${compId.toString()}.\nit has (in version ${remoteVersion.toString()}) the following dependencies which were not included in the pattern. consider adding \"--include-deps\" flag\n${depsOnLane.map((d) => d.toString()).join('\\n')}`);\n }\n depsToAdd.push(...depsOnLane);\n });\n });\n if (depsToAdd.length) {\n const depsUniq = BitIds.uniqFromArray(depsToAdd);\n depsUniq.forEach((id) => {\n const fromStatus = allComponentsStatus.find((c) => c.id.isEqualWithoutVersion(id));\n if (!fromStatus) {\n throw new Error(`filterComponentsStatus: unable to find ${id.toString()} in component-status`);\n }\n filteredComponentStatus.push(fromStatus);\n });\n }\n return filteredComponentStatus;\n}\n\nfunction squashSnaps(allComponentsStatus: ComponentMergeStatus[], otherLaneId: LaneId, consumer: Consumer) {\n const currentLaneName = consumer.getCurrentLaneId().name;\n const succeededComponents = allComponentsStatus.filter((c) => !c.unmergedMessage);\n succeededComponents.forEach(({ id, divergeData, componentFromModel }) => {\n if (!divergeData) {\n throw new Error(`unable to squash. divergeData is missing from ${id.toString()}`);\n }\n const modifiedComp = squashOneComp(currentLaneName, otherLaneId, id, divergeData, componentFromModel);\n if (modifiedComp) consumer.scope.objects.add(modifiedComp);\n });\n}\n\n/**\n * returns Version object if it was modified. otherwise, returns undefined\n */\nfunction squashOneComp(\n currentLaneName: string,\n otherLaneId: LaneId,\n id: BitId,\n divergeData: DivergeData,\n componentFromModel?: Version\n): Version | undefined {\n if (divergeData.isDiverged()) {\n throw new BitError(`unable to squash because ${id.toString()} is diverged in history.\nconsider switching to \"${\n otherLaneId.name\n }\" first, merging \"${currentLaneName}\", then switching back to \"${currentLaneName}\" and merging \"${\n otherLaneId.name\n }\"\nalternatively, use \"--no-squash\" flag to keep the entire history of \"${otherLaneId.name}\"`);\n }\n if (divergeData.isLocalAhead()) {\n // nothing to do. current is ahead, nothing to merge. (it was probably filtered out already as a \"failedComponent\")\n return undefined;\n }\n if (!divergeData.isRemoteAhead()) {\n // nothing to do. current and remote are the same, nothing to merge. (it was probably filtered out already as a \"failedComponent\")\n return undefined;\n }\n // remote is ahead and was not diverge.\n const remoteSnaps = divergeData.snapsOnRemoteOnly;\n if (remoteSnaps.length === 0) {\n throw new Error(`remote is ahead but it has no snaps. it's impossible`);\n }\n // no need to check this case. even if it has only one snap ahead, we want to do the \"squash\", and run \"addAsOnlyParent\"\n // to make sure it doesn't not have two parents.\n // if (remoteSnaps.length === 1) {\n // // nothing to squash. it has only one commit.\n // return;\n // }\n if (!componentFromModel) {\n throw new Error('unable to squash, the componentFromModel is missing');\n }\n\n const currentParents = componentFromModel.parents;\n\n // do the squash.\n if (divergeData.commonSnapBeforeDiverge) {\n componentFromModel.addAsOnlyParent(divergeData.commonSnapBeforeDiverge);\n } else {\n // there is no commonSnapBeforeDiverge. the local has no snaps, all are remote, no need for parents. keep only head.\n componentFromModel.parents.forEach((ref) => componentFromModel.removeParent(ref));\n }\n componentFromModel.setSquashed({ previousParents: currentParents, laneId: otherLaneId });\n return componentFromModel;\n}\n\nMergeLanesAspect.addRuntime(MergeLanesMain);\n\nexport default MergeLanesMain;\n"],"mappings":"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"}
1
+ {"version":3,"names":["MergeLanesMain","constructor","workspace","merging","lanes","logger","remove","scope","exporter","mergeLane","laneName","options","BitError","consumer","mergeStrategy","noSnap","tag","snapMessage","existingOnWorkspaceOnly","build","keepReadme","noSquash","pattern","includeDeps","skipDependencyInstallation","resolveUnrelated","ignoreConfigChanges","remote","currentLaneId","getCurrentLaneId","isDefault","toString","otherLaneId","getParsedLaneId","isEqual","currentLane","loadLane","isDefaultLane","getOtherLane","undefined","lane","fetchLaneWithItsComponents","otherLane","getBitIds","Error","DEFAULT_LANE","getDefaultLaneIdsFromLane","toBitIds","bitIds","debug","otherLaneName","getAllComponentsStatus","tmp","Tmp","componentsStatus","Promise","all","map","bitId","getComponentMergeStatus","clear","err","allComponentsStatus","componentIds","resolveMultipleComponentIds","compIdsFromPattern","filterIdsFromPoolIdsByPattern","filterComponentsStatus","forEach","find","c","id","isEqualWithoutVersion","push","unmergedLegitimately","unmergedMessage","workspaceIds","listIds","filter","_legacy","throwForFailures","squashSnaps","mergeResults","mergeSnaps","laneId","localLane","mergedSuccessfully","failedComponents","length","every","failedComponent","unchangedLegitimately","deleteResults","readmeComponent","readmeComponentId","changeVersion","head","hash","componentsPattern","force","track","deleteFiles","fromLane","readmeResult","name","onDestroy","failureMsgs","chalk","bold","red","join","mergeFromScope","LaneId","parse","importLaneObject","laneIds","scopeComponentsImporter","ScopeComponentsImporter","getInstance","legacyScope","importManyDeltaWithoutDeps","toVersionLatest","repo","objects","mergedPreviously","mergedNow","bitObjectsPerComp","pMapSeries","modelComponent","getModelComponent","versionObj","loadVersion","version","laneHead","getRef","mainHead","divergeData","getDivergeData","remoteHead","checkedOutLocalHead","modifiedVersion","squashOneComp","setHead","bitObjects","compact","b","writeObjectsToTheFS","flat","exportedIds","ids","BitIds","fromArray","exported","exportMany","idsWithFutureScope","allVersions","provider","cli","loggerMain","createLogger","MergeLanesAspect","lanesCommand","getCommand","mergeLanesMain","commands","MergeLaneCmd","register","MergeLaneFromScopeCmd","LanesAspect","CLIAspect","WorkspaceAspect","MergingAspect","LoggerAspect","RemoveAspect","ScopeAspect","ExportAspect","MainRuntime","compIdsToKeep","allBitIds","bitIdsFromPattern","bitIdsNotFromPattern","hasWithoutVersion","filteredComponentStatus","depsToAdd","compId","fromStatus","remoteVersions","snapsOnRemoteOnly","remoteVersion","flattenedDeps","getAllFlattenedDependencies","depsNotIncludeInPattern","depsOnLane","dep","isOnLane","isIdOnLane","d","depsUniq","uniqFromArray","currentLaneName","succeededComponents","componentFromModel","modifiedComp","add","isDiverged","isLocalAhead","isRemoteAhead","remoteSnaps","currentParents","parents","commonSnapBeforeDiverge","addAsOnlyParent","ref","removeParent","setSquashed","previousParents","addRuntime"],"sources":["merge-lanes.main.runtime.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { LanesAspect, LanesMain } from '@teambit/lanes';\nimport MergingAspect, { MergingMain, ComponentMergeStatus } from '@teambit/merging';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport chalk from 'chalk';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport pMapSeries from 'p-map-series';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { MergeStrategy, ApplyVersionResults } from '@teambit/legacy/dist/consumer/versions-ops/merge-version';\nimport { BitIds } from '@teambit/legacy/dist/bit-id';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport ScopeComponentsImporter from '@teambit/legacy/dist/scope/component-ops/scope-components-importer';\nimport { ComponentID } from '@teambit/component-id';\nimport { DEFAULT_LANE, LaneId } from '@teambit/lane-id';\nimport { Lane, Version } from '@teambit/legacy/dist/scope/models';\nimport { Tmp } from '@teambit/legacy/dist/scope/repositories';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { DivergeData } from '@teambit/legacy/dist/scope/component-ops/diverge-data';\nimport { RemoveAspect, RemoveMain } from '@teambit/remove';\nimport { compact } from 'lodash';\nimport { ExportAspect, ExportMain } from '@teambit/export';\nimport { BitObject } from '@teambit/legacy/dist/scope/objects';\nimport { getDivergeData } from '@teambit/legacy/dist/scope/component-ops/get-diverge-data';\nimport { MergeLanesAspect } from './merge-lanes.aspect';\nimport { MergeLaneCmd } from './merge-lane.cmd';\nimport { MergeLaneFromScopeCmd } from './merge-lane-from-scope.cmd';\n\nexport type MergeLaneOptions = {\n mergeStrategy: MergeStrategy;\n noSnap: boolean;\n snapMessage: string;\n existingOnWorkspaceOnly: boolean;\n build: boolean;\n keepReadme: boolean;\n noSquash: boolean;\n tag?: boolean;\n pattern?: string;\n includeDeps?: boolean;\n skipDependencyInstallation?: boolean;\n resolveUnrelated?: MergeStrategy;\n ignoreConfigChanges?: boolean;\n remote?: boolean;\n};\n\nexport class MergeLanesMain {\n constructor(\n private workspace: Workspace | undefined,\n private merging: MergingMain,\n private lanes: LanesMain,\n private logger: Logger,\n private remove: RemoveMain,\n private scope: ScopeMain,\n private exporter: ExportMain\n ) {}\n\n async mergeLane(\n laneName: string,\n options: MergeLaneOptions\n ): Promise<{ mergeResults: ApplyVersionResults; deleteResults: any }> {\n if (!this.workspace) {\n throw new BitError(`unable to merge a lane outside of Bit workspace`);\n }\n const consumer = this.workspace.consumer;\n\n const {\n mergeStrategy,\n noSnap,\n tag,\n snapMessage,\n existingOnWorkspaceOnly,\n build,\n keepReadme,\n noSquash,\n pattern,\n includeDeps,\n skipDependencyInstallation,\n resolveUnrelated,\n ignoreConfigChanges,\n remote,\n } = options;\n\n const currentLaneId = consumer.getCurrentLaneId();\n if (tag && !currentLaneId.isDefault()) {\n throw new BitError(`--tag only possible when on main. currently checked out to ${currentLaneId.toString()}`);\n }\n const otherLaneId = await consumer.getParsedLaneId(laneName);\n if (otherLaneId.isEqual(currentLaneId)) {\n throw new BitError(\n `unable to merge lane \"${otherLaneId.toString()}\", you're already at this lane. to get updates, simply run \"bit checkout head\"`\n );\n }\n const currentLane = currentLaneId.isDefault() ? null : await consumer.scope.loadLane(currentLaneId);\n const isDefaultLane = otherLaneId.isDefault();\n const getOtherLane = async () => {\n if (isDefaultLane) {\n return undefined;\n }\n const lane = await consumer.scope.loadLane(otherLaneId);\n if (remote || !lane) {\n return this.lanes.fetchLaneWithItsComponents(otherLaneId);\n }\n return lane;\n };\n const otherLane = await getOtherLane();\n const getBitIds = async () => {\n if (isDefaultLane) {\n if (!currentLane) throw new Error(`unable to merge ${DEFAULT_LANE}, the current lane was not found`);\n return consumer.scope.getDefaultLaneIdsFromLane(currentLane);\n }\n if (!otherLane) throw new Error(`lane must be defined for non-default`);\n return otherLane.toBitIds();\n };\n const bitIds = await getBitIds();\n this.logger.debug(`merging the following bitIds: ${bitIds.toString()}`);\n const otherLaneName = isDefaultLane ? DEFAULT_LANE : otherLaneId.toString();\n\n const getAllComponentsStatus = async (): Promise<ComponentMergeStatus[]> => {\n const tmp = new Tmp(consumer.scope);\n try {\n const componentsStatus = await Promise.all(\n bitIds.map((bitId) =>\n this.merging.getComponentMergeStatus(bitId, currentLane, otherLaneName, {\n resolveUnrelated,\n ignoreConfigChanges,\n })\n )\n );\n await tmp.clear();\n return componentsStatus;\n } catch (err: any) {\n await tmp.clear();\n throw err;\n }\n };\n let allComponentsStatus = await getAllComponentsStatus();\n\n if (pattern) {\n const componentIds = await this.workspace.resolveMultipleComponentIds(bitIds);\n const compIdsFromPattern = this.workspace.scope.filterIdsFromPoolIdsByPattern(pattern, componentIds);\n allComponentsStatus = await filterComponentsStatus(\n allComponentsStatus,\n compIdsFromPattern,\n bitIds,\n this.workspace,\n includeDeps,\n otherLane || undefined\n );\n bitIds.forEach((bitId) => {\n if (!allComponentsStatus.find((c) => c.id.isEqualWithoutVersion(bitId))) {\n allComponentsStatus.push({ id: bitId, unmergedLegitimately: true, unmergedMessage: `excluded by pattern` });\n }\n });\n }\n if (existingOnWorkspaceOnly) {\n const workspaceIds = await this.workspace.listIds();\n const compIdsFromPattern = workspaceIds.filter((id) =>\n allComponentsStatus.find((c) => c.id.isEqualWithoutVersion(id._legacy))\n );\n allComponentsStatus = await filterComponentsStatus(\n allComponentsStatus,\n compIdsFromPattern,\n bitIds,\n this.workspace,\n includeDeps\n );\n bitIds.forEach((bitId) => {\n if (!allComponentsStatus.find((c) => c.id.isEqualWithoutVersion(bitId))) {\n allComponentsStatus.push({ id: bitId, unmergedLegitimately: true, unmergedMessage: `not in the workspace` });\n }\n });\n }\n\n throwForFailures();\n\n if (currentLaneId.isDefault() && !noSquash) {\n squashSnaps(allComponentsStatus, otherLaneId, consumer);\n }\n\n const mergeResults = await this.merging.mergeSnaps({\n mergeStrategy,\n allComponentsStatus,\n laneId: otherLaneId,\n localLane: currentLane,\n noSnap,\n tag,\n snapMessage,\n build,\n skipDependencyInstallation,\n });\n\n const mergedSuccessfully =\n !mergeResults.failedComponents ||\n mergeResults.failedComponents.length === 0 ||\n mergeResults.failedComponents.every((failedComponent) => failedComponent.unchangedLegitimately);\n\n let deleteResults = {};\n\n if (!keepReadme && otherLane && otherLane.readmeComponent && mergedSuccessfully) {\n const readmeComponentId = otherLane.readmeComponent.id\n .changeVersion(otherLane.readmeComponent?.head?.hash)\n .toString();\n\n deleteResults = await this.remove.remove({\n componentsPattern: readmeComponentId,\n force: false,\n remote: false,\n track: false,\n deleteFiles: true,\n fromLane: false,\n });\n } else if (otherLane && !otherLane.readmeComponent) {\n deleteResults = { readmeResult: `\\nlane ${otherLane.name} doesn't have a readme component` };\n }\n\n await this.workspace.consumer.onDestroy();\n\n return { mergeResults, deleteResults };\n\n function throwForFailures() {\n const failedComponents = allComponentsStatus.filter((c) => c.unmergedMessage && !c.unmergedLegitimately);\n if (failedComponents.length) {\n const failureMsgs = failedComponents\n .map(\n (failedComponent) =>\n `${chalk.bold(failedComponent.id.toString())} - ${chalk.red(failedComponent.unmergedMessage as string)}`\n )\n .join('\\n');\n throw new BitError(`unable to merge due to the following failures:\\n${failureMsgs}`);\n }\n }\n }\n\n async mergeFromScope(\n laneName: string,\n options: Partial<MergeLaneOptions> & { push?: boolean }\n ): Promise<{\n mergedPreviously: string[];\n mergedNow: string[];\n exportedIds: string[];\n }> {\n if (this.workspace)\n throw new BitError(\n `unable to run this command from a workspace, please create a new bare-scope and run it from there`\n );\n const laneId = LaneId.parse(laneName);\n const lane = await this.lanes.importLaneObject(laneId);\n const laneIds = lane.toBitIds();\n const scopeComponentsImporter = ScopeComponentsImporter.getInstance(this.scope.legacyScope);\n await scopeComponentsImporter.importManyDeltaWithoutDeps(laneIds, true, lane, true);\n // get their main as well\n await scopeComponentsImporter.importManyDeltaWithoutDeps(laneIds.toVersionLatest(), true, undefined, true);\n const repo = this.scope.legacyScope.objects;\n // loop through all components, make sure they're all ahead of main (it might not be on main yet).\n // then, change the version object to include an extra parent to point to the main.\n // then, change the component object head to point to this changed version\n const mergedPreviously: BitId[] = [];\n const mergedNow: BitId[] = [];\n const bitObjectsPerComp = await pMapSeries(laneIds, async (id) => {\n const modelComponent = await this.scope.legacyScope.getModelComponent(id);\n const versionObj = await modelComponent.loadVersion(id.version as string, repo);\n const laneHead = modelComponent.getRef(id.version as string);\n if (!laneHead) throw new Error(`lane head must be defined for ${id.toString()}`);\n const mainHead = modelComponent.head || null;\n if (mainHead?.isEqual(laneHead)) {\n mergedPreviously.push(id);\n return undefined;\n }\n const divergeData = await getDivergeData({\n repo,\n modelComponent,\n remoteHead: laneHead,\n checkedOutLocalHead: mainHead,\n });\n const modifiedVersion = squashOneComp(DEFAULT_LANE, laneId, id, divergeData, versionObj);\n modelComponent.setHead(laneHead);\n const objects = [modelComponent, modifiedVersion];\n mergedNow.push(id);\n return { id, objects };\n });\n const bitObjects = compact(bitObjectsPerComp).map((b) => b.objects);\n await repo.writeObjectsToTheFS(bitObjects.flat() as BitObject[]);\n let exportedIds: string[] = [];\n if (options.push) {\n const ids = compact(bitObjectsPerComp).map((b) => b.id);\n const bitIds = BitIds.fromArray(ids);\n const { exported } = await this.exporter.exportMany({\n scope: this.scope.legacyScope,\n ids: bitIds,\n idsWithFutureScope: bitIds,\n allVersions: false,\n });\n exportedIds = exported.map((id) => id.toString());\n }\n\n return {\n mergedPreviously: mergedPreviously.map((id) => id.toString()),\n mergedNow: mergedNow.map((id) => id.toString()),\n exportedIds,\n };\n }\n\n static slots = [];\n static dependencies = [\n LanesAspect,\n CLIAspect,\n WorkspaceAspect,\n MergingAspect,\n LoggerAspect,\n RemoveAspect,\n ScopeAspect,\n ExportAspect,\n ];\n static runtime = MainRuntime;\n\n static async provider([lanes, cli, workspace, merging, loggerMain, remove, scope, exporter]: [\n LanesMain,\n CLIMain,\n Workspace,\n MergingMain,\n LoggerMain,\n RemoveMain,\n ScopeMain,\n ExportMain\n ]) {\n const logger = loggerMain.createLogger(MergeLanesAspect.id);\n const lanesCommand = cli.getCommand('lane');\n const mergeLanesMain = new MergeLanesMain(workspace, merging, lanes, logger, remove, scope, exporter);\n lanesCommand?.commands?.push(new MergeLaneCmd(mergeLanesMain));\n cli.register(new MergeLaneFromScopeCmd(mergeLanesMain));\n return mergeLanesMain;\n }\n}\n\nasync function filterComponentsStatus(\n allComponentsStatus: ComponentMergeStatus[],\n compIdsToKeep: ComponentID[],\n allBitIds: BitId[],\n workspace: Workspace,\n includeDeps = false,\n lane?: Lane\n): Promise<ComponentMergeStatus[]> {\n const bitIdsFromPattern = BitIds.fromArray(compIdsToKeep.map((c) => c._legacy));\n const bitIdsNotFromPattern = allBitIds.filter((bitId) => !bitIdsFromPattern.hasWithoutVersion(bitId));\n const filteredComponentStatus: ComponentMergeStatus[] = [];\n const depsToAdd: BitId[] = [];\n await pMapSeries(compIdsToKeep, async (compId) => {\n const fromStatus = allComponentsStatus.find((c) => c.id.isEqualWithoutVersion(compId._legacy));\n if (!fromStatus) {\n throw new Error(`filterComponentsStatus: unable to find ${compId.toString()} in component-status`);\n }\n filteredComponentStatus.push(fromStatus);\n if (fromStatus.unmergedMessage) {\n return;\n }\n const { divergeData } = fromStatus;\n if (!divergeData) {\n throw new Error(`filterComponentsStatus: unable to find divergeData for ${compId.toString()}`);\n }\n const remoteVersions = divergeData.snapsOnRemoteOnly;\n if (!remoteVersions.length) {\n return;\n }\n const modelComponent = await workspace.consumer.scope.getModelComponent(compId._legacy);\n // optimization suggestion: if squash is given, check only the last version.\n await pMapSeries(remoteVersions, async (remoteVersion) => {\n const versionObj = await modelComponent.loadVersion(remoteVersion.toString(), workspace.consumer.scope.objects);\n const flattenedDeps = versionObj.getAllFlattenedDependencies();\n const depsNotIncludeInPattern = flattenedDeps.filter((id) =>\n bitIdsNotFromPattern.find((bitId) => bitId.isEqualWithoutVersion(id))\n );\n if (!depsNotIncludeInPattern.length) {\n return;\n }\n const depsOnLane: BitId[] = [];\n await Promise.all(\n depsNotIncludeInPattern.map(async (dep) => {\n const isOnLane = await workspace.consumer.scope.isIdOnLane(dep, lane);\n if (isOnLane) {\n depsOnLane.push(dep);\n }\n })\n );\n if (!depsOnLane.length) {\n return;\n }\n if (!includeDeps) {\n throw new BitError(`unable to merge ${compId.toString()}.\nit has (in version ${remoteVersion.toString()}) the following dependencies which were not included in the pattern. consider adding \"--include-deps\" flag\n${depsOnLane.map((d) => d.toString()).join('\\n')}`);\n }\n depsToAdd.push(...depsOnLane);\n });\n });\n if (depsToAdd.length) {\n const depsUniq = BitIds.uniqFromArray(depsToAdd);\n depsUniq.forEach((id) => {\n const fromStatus = allComponentsStatus.find((c) => c.id.isEqualWithoutVersion(id));\n if (!fromStatus) {\n throw new Error(`filterComponentsStatus: unable to find ${id.toString()} in component-status`);\n }\n filteredComponentStatus.push(fromStatus);\n });\n }\n return filteredComponentStatus;\n}\n\nfunction squashSnaps(allComponentsStatus: ComponentMergeStatus[], otherLaneId: LaneId, consumer: Consumer) {\n const currentLaneName = consumer.getCurrentLaneId().name;\n const succeededComponents = allComponentsStatus.filter((c) => !c.unmergedMessage);\n succeededComponents.forEach(({ id, divergeData, componentFromModel }) => {\n if (!divergeData) {\n throw new Error(`unable to squash. divergeData is missing from ${id.toString()}`);\n }\n const modifiedComp = squashOneComp(currentLaneName, otherLaneId, id, divergeData, componentFromModel);\n if (modifiedComp) consumer.scope.objects.add(modifiedComp);\n });\n}\n\n/**\n * returns Version object if it was modified. otherwise, returns undefined\n */\nfunction squashOneComp(\n currentLaneName: string,\n otherLaneId: LaneId,\n id: BitId,\n divergeData: DivergeData,\n componentFromModel?: Version\n): Version | undefined {\n if (divergeData.isDiverged()) {\n throw new BitError(`unable to squash because ${id.toString()} is diverged in history.\nconsider switching to \"${\n otherLaneId.name\n }\" first, merging \"${currentLaneName}\", then switching back to \"${currentLaneName}\" and merging \"${\n otherLaneId.name\n }\"\nalternatively, use \"--no-squash\" flag to keep the entire history of \"${otherLaneId.name}\"`);\n }\n if (divergeData.isLocalAhead()) {\n // nothing to do. current is ahead, nothing to merge. (it was probably filtered out already as a \"failedComponent\")\n return undefined;\n }\n if (!divergeData.isRemoteAhead()) {\n // nothing to do. current and remote are the same, nothing to merge. (it was probably filtered out already as a \"failedComponent\")\n return undefined;\n }\n // remote is ahead and was not diverge.\n const remoteSnaps = divergeData.snapsOnRemoteOnly;\n if (remoteSnaps.length === 0) {\n throw new Error(`remote is ahead but it has no snaps. it's impossible`);\n }\n // no need to check this case. even if it has only one snap ahead, we want to do the \"squash\", and run \"addAsOnlyParent\"\n // to make sure it doesn't not have two parents.\n // if (remoteSnaps.length === 1) {\n // // nothing to squash. it has only one commit.\n // return;\n // }\n if (!componentFromModel) {\n throw new Error('unable to squash, the componentFromModel is missing');\n }\n\n const currentParents = componentFromModel.parents;\n\n // do the squash.\n if (divergeData.commonSnapBeforeDiverge) {\n componentFromModel.addAsOnlyParent(divergeData.commonSnapBeforeDiverge);\n } else {\n // there is no commonSnapBeforeDiverge. the local has no snaps, all are remote, no need for parents. keep only head.\n componentFromModel.parents.forEach((ref) => componentFromModel.removeParent(ref));\n }\n componentFromModel.setSquashed({ previousParents: currentParents, laneId: otherLaneId });\n return componentFromModel;\n}\n\nMergeLanesAspect.addRuntime(MergeLanesMain);\n\nexport default MergeLanesMain;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/merge-lanes",
3
- "version": "0.0.57",
3
+ "version": "0.0.59",
4
4
  "homepage": "https://bit.dev/teambit/lanes/merge-lanes",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.lanes",
8
8
  "name": "merge-lanes",
9
- "version": "0.0.57"
9
+ "version": "0.0.59"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -16,17 +16,17 @@
16
16
  "core-js": "^3.0.0",
17
17
  "@teambit/harmony": "0.3.3",
18
18
  "@teambit/bit-error": "0.0.400",
19
- "@teambit/cli": "0.0.590",
20
- "@teambit/merging": "0.0.195",
19
+ "@teambit/cli": "0.0.591",
20
+ "@teambit/merging": "0.0.197",
21
21
  "@teambit/component-id": "0.0.418",
22
- "@teambit/export": "0.0.880",
23
- "@teambit/lane-id": "0.0.108",
24
- "@teambit/lanes": "0.0.452",
22
+ "@teambit/export": "0.0.882",
23
+ "@teambit/lane-id": "0.0.109",
24
+ "@teambit/lanes": "0.0.454",
25
25
  "@teambit/legacy-bit-id": "0.0.414",
26
- "@teambit/logger": "0.0.683",
27
- "@teambit/remove": "0.0.57",
28
- "@teambit/scope": "0.0.880",
29
- "@teambit/workspace": "0.0.880"
26
+ "@teambit/logger": "0.0.684",
27
+ "@teambit/remove": "0.0.59",
28
+ "@teambit/scope": "0.0.882",
29
+ "@teambit/workspace": "0.0.882"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/lodash": "4.14.165",
@@ -38,7 +38,7 @@
38
38
  "@types/node": "12.20.4"
39
39
  },
40
40
  "peerDependencies": {
41
- "@teambit/legacy": "1.0.373",
41
+ "@teambit/legacy": "1.0.374",
42
42
  "react-dom": "^16.8.0 || ^17.0.0",
43
43
  "react": "^16.8.0 || ^17.0.0"
44
44
  },