@teambit/merge-lanes 0.0.0-012f21d51d884d0035b43584f4bd41f1410e77b9
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/esm.mjs +7 -0
- package/dist/exceptions/missing-comps-to-merge.d.ts +6 -0
- package/dist/exceptions/missing-comps-to-merge.js +39 -0
- package/dist/exceptions/missing-comps-to-merge.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/lanes-check-conflicts.route.d.ts +13 -0
- package/dist/lanes-check-conflicts.route.js +59 -0
- package/dist/lanes-check-conflicts.route.js.map +1 -0
- package/dist/last-merged.d.ts +34 -0
- package/dist/last-merged.js +235 -0
- package/dist/last-merged.js.map +1 -0
- package/dist/merge-abort.cmd.d.ts +22 -0
- package/dist/merge-abort.cmd.js +72 -0
- package/dist/merge-abort.cmd.js.map +1 -0
- package/dist/merge-lane.cmd.d.ts +44 -0
- package/dist/merge-lane.cmd.js +173 -0
- package/dist/merge-lane.cmd.js.map +1 -0
- package/dist/merge-lanes.aspect.d.ts +2 -0
- package/dist/merge-lanes.aspect.js +18 -0
- package/dist/merge-lanes.aspect.js.map +1 -0
- package/dist/merge-lanes.main.runtime.d.ts +114 -0
- package/dist/merge-lanes.main.runtime.js +792 -0
- package/dist/merge-lanes.main.runtime.js.map +1 -0
- package/dist/merge-move.cmd.d.ts +19 -0
- package/dist/merge-move.cmd.js +59 -0
- package/dist/merge-move.cmd.js.map +1 -0
- package/dist/preview-1758816948973.js +7 -0
- package/esm.mjs +7 -0
- package/exceptions/missing-comps-to-merge.ts +27 -0
- package/package.json +82 -0
- package/types/asset.d.ts +41 -0
- package/types/style.d.ts +42 -0
package/dist/esm.mjs
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MissingCompsToMerge = void 0;
|
|
7
|
+
function _bitError() {
|
|
8
|
+
const data = require("@teambit/bit-error");
|
|
9
|
+
_bitError = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
class MissingCompsToMerge extends _bitError().BitError {
|
|
15
|
+
constructor(missingDepsFromHead, missingDepsFromHistory) {
|
|
16
|
+
const getMissingHeadDepsStr = () => {
|
|
17
|
+
if (!Object.keys(missingDepsFromHead).length) return '';
|
|
18
|
+
const title = 'The following are missing dependencies from the head version:';
|
|
19
|
+
const missingDepsStr = Object.keys(missingDepsFromHead).map(dep => {
|
|
20
|
+
const originComps = missingDepsFromHead[dep];
|
|
21
|
+
return `${dep} => (dependency of: ${originComps.map(d => d.toString()).join(', ')})`;
|
|
22
|
+
});
|
|
23
|
+
return `${title}\n${missingDepsStr.join('\n')}`;
|
|
24
|
+
};
|
|
25
|
+
const getMissingHistoryDepsStr = () => {
|
|
26
|
+
if (!missingDepsFromHistory.length) return '';
|
|
27
|
+
const title = 'The following are dependencies from previous versions, which you can avoid merging by using --squash flag:';
|
|
28
|
+
return `\n${title}\n${missingDepsFromHistory.join('\n')}`;
|
|
29
|
+
};
|
|
30
|
+
super(`Failed to merge the lane partially as some components have dependencies which were not included.
|
|
31
|
+
consider adding "--include-deps" flag to include them.
|
|
32
|
+
|
|
33
|
+
${getMissingHeadDepsStr()}
|
|
34
|
+
${getMissingHistoryDepsStr()}`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.MissingCompsToMerge = MissingCompsToMerge;
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=missing-comps-to-merge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_bitError","data","require","MissingCompsToMerge","BitError","constructor","missingDepsFromHead","missingDepsFromHistory","getMissingHeadDepsStr","Object","keys","length","title","missingDepsStr","map","dep","originComps","d","toString","join","getMissingHistoryDepsStr","exports"],"sources":["missing-comps-to-merge.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class MissingCompsToMerge extends BitError {\n constructor(missingDepsFromHead: { [depId: string]: string[] }, missingDepsFromHistory: string[]) {\n const getMissingHeadDepsStr = () => {\n if (!Object.keys(missingDepsFromHead).length) return '';\n const title = 'The following are missing dependencies from the head version:';\n const missingDepsStr = Object.keys(missingDepsFromHead).map((dep) => {\n const originComps = missingDepsFromHead[dep];\n return `${dep} => (dependency of: ${originComps.map((d) => d.toString()).join(', ')})`;\n });\n return `${title}\\n${missingDepsStr.join('\\n')}`;\n };\n const getMissingHistoryDepsStr = () => {\n if (!missingDepsFromHistory.length) return '';\n const title =\n 'The following are dependencies from previous versions, which you can avoid merging by using --squash flag:';\n return `\\n${title}\\n${missingDepsFromHistory.join('\\n')}`;\n };\n\n super(`Failed to merge the lane partially as some components have dependencies which were not included.\nconsider adding \"--include-deps\" flag to include them.\n\n${getMissingHeadDepsStr()}\n${getMissingHistoryDepsStr()}`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,mBAAmB,SAASC,oBAAQ,CAAC;EAChDC,WAAWA,CAACC,mBAAkD,EAAEC,sBAAgC,EAAE;IAChG,MAAMC,qBAAqB,GAAGA,CAAA,KAAM;MAClC,IAAI,CAACC,MAAM,CAACC,IAAI,CAACJ,mBAAmB,CAAC,CAACK,MAAM,EAAE,OAAO,EAAE;MACvD,MAAMC,KAAK,GAAG,+DAA+D;MAC7E,MAAMC,cAAc,GAAGJ,MAAM,CAACC,IAAI,CAACJ,mBAAmB,CAAC,CAACQ,GAAG,CAAEC,GAAG,IAAK;QACnE,MAAMC,WAAW,GAAGV,mBAAmB,CAACS,GAAG,CAAC;QAC5C,OAAO,GAAGA,GAAG,uBAAuBC,WAAW,CAACF,GAAG,CAAEG,CAAC,IAAKA,CAAC,CAACC,QAAQ,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,GAAG;MACxF,CAAC,CAAC;MACF,OAAO,GAAGP,KAAK,KAAKC,cAAc,CAACM,IAAI,CAAC,IAAI,CAAC,EAAE;IACjD,CAAC;IACD,MAAMC,wBAAwB,GAAGA,CAAA,KAAM;MACrC,IAAI,CAACb,sBAAsB,CAACI,MAAM,EAAE,OAAO,EAAE;MAC7C,MAAMC,KAAK,GACT,4GAA4G;MAC9G,OAAO,KAAKA,KAAK,KAAKL,sBAAsB,CAACY,IAAI,CAAC,IAAI,CAAC,EAAE;IAC3D,CAAC;IAED,KAAK,CAAC;AACV;AACA;AACA,EAAEX,qBAAqB,CAAC,CAAC;AACzB,EAAEY,wBAAwB,CAAC,CAAC,EAAE,CAAC;EAC7B;AACF;AAACC,OAAA,CAAAlB,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "MergeLanesAspect", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _mergeLanes().MergeLanesAspect;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
exports.default = void 0;
|
|
13
|
+
function _mergeLanes() {
|
|
14
|
+
const data = require("./merge-lanes.aspect");
|
|
15
|
+
_mergeLanes = function () {
|
|
16
|
+
return data;
|
|
17
|
+
};
|
|
18
|
+
return data;
|
|
19
|
+
}
|
|
20
|
+
var _default = exports.default = _mergeLanes().MergeLanesAspect;
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_mergeLanes","data","require","_default","exports","default","MergeLanesAspect"],"sources":["index.ts"],"sourcesContent":["import { MergeLanesAspect } from './merge-lanes.aspect';\n\nexport type { MergeLanesMain, MergeLaneOptions, ConflictPerId } from './merge-lanes.main.runtime';\nexport default MergeLanesAspect;\nexport { MergeLanesAspect };\n"],"mappings":";;;;;;;;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAwD,IAAAE,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAGzCC,8BAAgB","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Route, Request, Response } from '@teambit/express';
|
|
2
|
+
import { Verb } from '@teambit/express';
|
|
3
|
+
import type { Logger } from '@teambit/logger';
|
|
4
|
+
import type { MergeLanesMain } from './merge-lanes.main.runtime';
|
|
5
|
+
export declare class LanesCheckConflictsRoute implements Route {
|
|
6
|
+
private mergeLanes;
|
|
7
|
+
private logger;
|
|
8
|
+
constructor(mergeLanes: MergeLanesMain, logger: Logger);
|
|
9
|
+
method: string;
|
|
10
|
+
route: string;
|
|
11
|
+
verb: Verb;
|
|
12
|
+
middlewares: ((req: Request, res: Response) => Promise<import("express").Response<any, Record<string, any>>>)[];
|
|
13
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.LanesCheckConflictsRoute = void 0;
|
|
7
|
+
function _express() {
|
|
8
|
+
const data = require("@teambit/express");
|
|
9
|
+
_express = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
15
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
17
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
18
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
19
|
+
class LanesCheckConflictsRoute {
|
|
20
|
+
constructor(mergeLanes, logger) {
|
|
21
|
+
this.mergeLanes = mergeLanes;
|
|
22
|
+
this.logger = logger;
|
|
23
|
+
_defineProperty(this, "method", 'post');
|
|
24
|
+
_defineProperty(this, "route", '/lanes/check-conflicts');
|
|
25
|
+
_defineProperty(this, "verb", _express().Verb.READ);
|
|
26
|
+
_defineProperty(this, "middlewares", [async (req, res) => {
|
|
27
|
+
const {
|
|
28
|
+
body
|
|
29
|
+
} = req;
|
|
30
|
+
const sourceLane = body.sourceLane;
|
|
31
|
+
const targetLane = body.targetLane;
|
|
32
|
+
if (!sourceLane) {
|
|
33
|
+
return res.status(400).send('Missing sourceLane in body');
|
|
34
|
+
}
|
|
35
|
+
if (!targetLane) {
|
|
36
|
+
return res.status(400).send('Missing targetLane in body');
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
const {
|
|
40
|
+
conflicts
|
|
41
|
+
} = await this.mergeLanes.checkLaneForConflicts(sourceLane, targetLane, {});
|
|
42
|
+
const conflictsOutput = conflicts.map(conflict => {
|
|
43
|
+
return _objectSpread(_objectSpread({}, conflict), {}, {
|
|
44
|
+
id: conflict.id.toString()
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
return res.json({
|
|
48
|
+
conflicts: conflictsOutput
|
|
49
|
+
});
|
|
50
|
+
} catch (e) {
|
|
51
|
+
this.logger.error(e.toString());
|
|
52
|
+
return res.status(500).send(e.toString());
|
|
53
|
+
}
|
|
54
|
+
}]);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.LanesCheckConflictsRoute = LanesCheckConflictsRoute;
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=lanes-check-conflicts.route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_express","data","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","LanesCheckConflictsRoute","constructor","mergeLanes","logger","Verb","READ","req","res","body","sourceLane","targetLane","status","send","conflicts","checkLaneForConflicts","conflictsOutput","map","conflict","id","toString","json","error","exports"],"sources":["lanes-check-conflicts.route.ts"],"sourcesContent":["import type { Route, Request, Response } from '@teambit/express';\nimport { Verb } from '@teambit/express';\nimport type { Logger } from '@teambit/logger';\nimport type { MergeLanesMain } from './merge-lanes.main.runtime';\n\nexport class LanesCheckConflictsRoute implements Route {\n constructor(\n private mergeLanes: MergeLanesMain,\n private logger: Logger\n ) {}\n\n method = 'post';\n route = '/lanes/check-conflicts';\n verb = Verb.READ;\n\n middlewares = [\n async (req: Request, res: Response) => {\n const { body } = req;\n const sourceLane = body.sourceLane;\n const targetLane = body.targetLane;\n if (!sourceLane) {\n return res.status(400).send('Missing sourceLane in body');\n }\n if (!targetLane) {\n return res.status(400).send('Missing targetLane in body');\n }\n try {\n const { conflicts } = await this.mergeLanes.checkLaneForConflicts(sourceLane, targetLane, {});\n const conflictsOutput = conflicts.map((conflict) => {\n return {\n ...conflict,\n id: conflict.id.toString(),\n };\n });\n return res.json({ conflicts: conflictsOutput });\n } catch (e: any) {\n this.logger.error(e.toString());\n return res.status(500).send(e.toString());\n }\n },\n ];\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ScopeMain } from '@teambit/scope';
|
|
2
|
+
import type { Lane } from '@teambit/objects';
|
|
3
|
+
import type { Consumer } from '@teambit/legacy.consumer';
|
|
4
|
+
import type { Logger } from '@teambit/logger';
|
|
5
|
+
import type { MergeAbortOpts } from './merge-abort.cmd';
|
|
6
|
+
type Snapshot = {
|
|
7
|
+
copyOfCurrentLane?: Lane;
|
|
8
|
+
copyOfBitmap: string;
|
|
9
|
+
copyOfWorkspaceJsonc: string;
|
|
10
|
+
copyOfStagedSnaps?: string;
|
|
11
|
+
copyOfStagedConfig?: string;
|
|
12
|
+
};
|
|
13
|
+
export declare class LastMerged {
|
|
14
|
+
private scope;
|
|
15
|
+
private consumer;
|
|
16
|
+
private logger;
|
|
17
|
+
constructor(scope: ScopeMain, consumer: Consumer, logger: Logger);
|
|
18
|
+
get path(): string;
|
|
19
|
+
takeSnapshot(currentLane?: Lane | null): Promise<Snapshot>;
|
|
20
|
+
persistSnapshot(snapshot: Snapshot): Promise<void>;
|
|
21
|
+
restoreLaneObjectFromLastMerged(): Promise<void>;
|
|
22
|
+
restoreFromLastMerged(mergeAbortOpts: MergeAbortOpts, currentLane?: Lane | null): Promise<{
|
|
23
|
+
compDirsToRemove: string[];
|
|
24
|
+
}>;
|
|
25
|
+
private mergeAbortPrompt;
|
|
26
|
+
private getLastMergedLaneContentIfExists;
|
|
27
|
+
private getFileContentIfExist;
|
|
28
|
+
private getLastMergedBitmapPath;
|
|
29
|
+
private getLastMergedWorkspacePath;
|
|
30
|
+
private getLastMergedLanePath;
|
|
31
|
+
private getLastMergedStagedSnapsPath;
|
|
32
|
+
private getLastMergedStagedConfigPath;
|
|
33
|
+
}
|
|
34
|
+
export {};
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.LastMerged = void 0;
|
|
7
|
+
function _path() {
|
|
8
|
+
const data = _interopRequireDefault(require("path"));
|
|
9
|
+
_path = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
function _tempy() {
|
|
15
|
+
const data = _interopRequireDefault(require("tempy"));
|
|
16
|
+
_tempy = function () {
|
|
17
|
+
return data;
|
|
18
|
+
};
|
|
19
|
+
return data;
|
|
20
|
+
}
|
|
21
|
+
function _fsExtra() {
|
|
22
|
+
const data = _interopRequireDefault(require("fs-extra"));
|
|
23
|
+
_fsExtra = function () {
|
|
24
|
+
return data;
|
|
25
|
+
};
|
|
26
|
+
return data;
|
|
27
|
+
}
|
|
28
|
+
function _yesno() {
|
|
29
|
+
const data = _interopRequireDefault(require("yesno"));
|
|
30
|
+
_yesno = function () {
|
|
31
|
+
return data;
|
|
32
|
+
};
|
|
33
|
+
return data;
|
|
34
|
+
}
|
|
35
|
+
function _chalk() {
|
|
36
|
+
const data = _interopRequireDefault(require("chalk"));
|
|
37
|
+
_chalk = function () {
|
|
38
|
+
return data;
|
|
39
|
+
};
|
|
40
|
+
return data;
|
|
41
|
+
}
|
|
42
|
+
function _legacy() {
|
|
43
|
+
const data = require("@teambit/legacy.bit-map");
|
|
44
|
+
_legacy = function () {
|
|
45
|
+
return data;
|
|
46
|
+
};
|
|
47
|
+
return data;
|
|
48
|
+
}
|
|
49
|
+
function _objects() {
|
|
50
|
+
const data = require("@teambit/objects");
|
|
51
|
+
_objects = function () {
|
|
52
|
+
return data;
|
|
53
|
+
};
|
|
54
|
+
return data;
|
|
55
|
+
}
|
|
56
|
+
function _legacy2() {
|
|
57
|
+
const data = require("@teambit/legacy.scope");
|
|
58
|
+
_legacy2 = function () {
|
|
59
|
+
return data;
|
|
60
|
+
};
|
|
61
|
+
return data;
|
|
62
|
+
}
|
|
63
|
+
function _bitError() {
|
|
64
|
+
const data = require("@teambit/bit-error");
|
|
65
|
+
_bitError = function () {
|
|
66
|
+
return data;
|
|
67
|
+
};
|
|
68
|
+
return data;
|
|
69
|
+
}
|
|
70
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
71
|
+
class PromptCanceled extends _bitError().BitError {
|
|
72
|
+
constructor() {
|
|
73
|
+
super(_chalk().default.yellow('operation aborted'));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
const LAST_MERGED_LANE_FILENAME = 'lane';
|
|
77
|
+
const LAST_MERGED_BITMAP_FILENAME = 'bitmap';
|
|
78
|
+
class LastMerged {
|
|
79
|
+
constructor(scope, consumer, logger) {
|
|
80
|
+
this.scope = scope;
|
|
81
|
+
this.consumer = consumer;
|
|
82
|
+
this.logger = logger;
|
|
83
|
+
}
|
|
84
|
+
get path() {
|
|
85
|
+
return this.scope.getLastMergedPath();
|
|
86
|
+
}
|
|
87
|
+
async takeSnapshot(currentLane) {
|
|
88
|
+
const consumer = this.consumer;
|
|
89
|
+
const copyOfCurrentLane = currentLane ? currentLane.clone() : undefined;
|
|
90
|
+
const copyOfBitmap = _tempy().default.file();
|
|
91
|
+
const copyOfWorkspaceJsonc = _tempy().default.file();
|
|
92
|
+
let copyOfStagedSnaps;
|
|
93
|
+
await _fsExtra().default.copyFile(consumer.bitMap.mapPath, copyOfBitmap);
|
|
94
|
+
await _fsExtra().default.copyFile(consumer.config.path, copyOfWorkspaceJsonc);
|
|
95
|
+
if (!consumer.scope.stagedSnaps.isEmpty()) {
|
|
96
|
+
copyOfStagedSnaps = _tempy().default.file();
|
|
97
|
+
await _fsExtra().default.copyFile(_legacy2().StagedSnaps.getPath(consumer.scope.path), copyOfStagedSnaps);
|
|
98
|
+
}
|
|
99
|
+
const stagedConfig = await this.scope.getStagedConfig();
|
|
100
|
+
let copyOfStagedConfig;
|
|
101
|
+
if (!stagedConfig.isEmpty()) {
|
|
102
|
+
copyOfStagedConfig = _tempy().default.file();
|
|
103
|
+
await _fsExtra().default.copyFile(stagedConfig.filePath, copyOfStagedConfig);
|
|
104
|
+
}
|
|
105
|
+
return {
|
|
106
|
+
copyOfCurrentLane,
|
|
107
|
+
copyOfBitmap,
|
|
108
|
+
copyOfWorkspaceJsonc,
|
|
109
|
+
copyOfStagedSnaps,
|
|
110
|
+
copyOfStagedConfig
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
async persistSnapshot(snapshot) {
|
|
114
|
+
const {
|
|
115
|
+
copyOfCurrentLane,
|
|
116
|
+
copyOfBitmap,
|
|
117
|
+
copyOfWorkspaceJsonc,
|
|
118
|
+
copyOfStagedSnaps,
|
|
119
|
+
copyOfStagedConfig
|
|
120
|
+
} = snapshot;
|
|
121
|
+
await _fsExtra().default.remove(this.path);
|
|
122
|
+
await _fsExtra().default.ensureDir(this.path);
|
|
123
|
+
await _fsExtra().default.copyFile(copyOfBitmap, this.getLastMergedBitmapPath());
|
|
124
|
+
await _fsExtra().default.copyFile(copyOfWorkspaceJsonc, this.getLastMergedWorkspacePath());
|
|
125
|
+
if (copyOfCurrentLane) {
|
|
126
|
+
const compressed = await copyOfCurrentLane.compress();
|
|
127
|
+
await _fsExtra().default.outputFile(this.getLastMergedLanePath(), compressed);
|
|
128
|
+
}
|
|
129
|
+
if (copyOfStagedSnaps) {
|
|
130
|
+
await _fsExtra().default.copyFile(copyOfStagedSnaps, this.getLastMergedStagedSnapsPath());
|
|
131
|
+
}
|
|
132
|
+
if (copyOfStagedConfig) {
|
|
133
|
+
await _fsExtra().default.copyFile(copyOfStagedConfig, this.getLastMergedStagedConfigPath());
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
async restoreLaneObjectFromLastMerged() {
|
|
137
|
+
if (!_fsExtra().default.pathExistsSync(this.path)) {
|
|
138
|
+
throw new (_bitError().BitError)(`unable to abort the last lane-merge because "bit export" was running since then`);
|
|
139
|
+
}
|
|
140
|
+
const lastLane = await this.getLastMergedLaneContentIfExists();
|
|
141
|
+
if (!lastLane) {
|
|
142
|
+
throw new (_bitError().BitError)(`unable to revert the last lane-merge because the ${LAST_MERGED_LANE_FILENAME} is missing from ${this.path}`);
|
|
143
|
+
}
|
|
144
|
+
const laneFromBackup = await _objects().BitObject.parseObject(lastLane, LAST_MERGED_LANE_FILENAME);
|
|
145
|
+
await this.scope.legacyScope.objects.writeObjectsToTheFS([laneFromBackup]);
|
|
146
|
+
}
|
|
147
|
+
async restoreFromLastMerged(mergeAbortOpts, currentLane) {
|
|
148
|
+
if (!_fsExtra().default.pathExistsSync(this.path)) {
|
|
149
|
+
throw new (_bitError().BitError)(`unable to abort the last lane-merge because "bit export" was running since then`);
|
|
150
|
+
}
|
|
151
|
+
const lastLane = await this.getLastMergedLaneContentIfExists();
|
|
152
|
+
if (!_fsExtra().default.pathExistsSync(this.getLastMergedBitmapPath())) {
|
|
153
|
+
throw new (_bitError().BitError)(`unable to abort the last lane-merge because the ${LAST_MERGED_BITMAP_FILENAME} is missing from ${this.path}`);
|
|
154
|
+
}
|
|
155
|
+
if (!_fsExtra().default.pathExistsSync(this.getLastMergedWorkspacePath())) {
|
|
156
|
+
throw new (_bitError().BitError)(`unable to abort the last lane-merge because the workspace.jsonc is missing from ${this.path}`);
|
|
157
|
+
}
|
|
158
|
+
if (currentLane) {
|
|
159
|
+
if (!lastLane) {
|
|
160
|
+
throw new (_bitError().BitError)(`unable to abort the last lane-merge because the ${LAST_MERGED_LANE_FILENAME} is missing from ${this.path}`);
|
|
161
|
+
}
|
|
162
|
+
const laneFromBackup = await _objects().BitObject.parseObject(lastLane, LAST_MERGED_LANE_FILENAME);
|
|
163
|
+
await this.scope.legacyScope.objects.writeObjectsToTheFS([laneFromBackup]);
|
|
164
|
+
}
|
|
165
|
+
const previousBitmapBuffer = await _fsExtra().default.readFile(this.getLastMergedBitmapPath());
|
|
166
|
+
const previousBitmap = _legacy().BitMap.loadFromContentWithoutLoadingFiles(previousBitmapBuffer, '', '', '');
|
|
167
|
+
const currentRootDirs = this.consumer.bitMap.getAllTrackDirs();
|
|
168
|
+
const previousRootDirs = previousBitmap.getAllTrackDirs();
|
|
169
|
+
const compDirsToRemove = Object.keys(currentRootDirs).filter(dir => !previousRootDirs[dir]);
|
|
170
|
+
if (!mergeAbortOpts.silent) {
|
|
171
|
+
await this.mergeAbortPrompt(compDirsToRemove);
|
|
172
|
+
}
|
|
173
|
+
await Promise.all(compDirsToRemove.map(dir => _fsExtra().default.remove(dir))); // it doesn't throw if not-exist, so we're good here.
|
|
174
|
+
await _fsExtra().default.copyFile(this.getLastMergedBitmapPath(), this.consumer.bitMap.mapPath);
|
|
175
|
+
await _fsExtra().default.copyFile(this.getLastMergedWorkspacePath(), this.consumer.config.path);
|
|
176
|
+
if (_fsExtra().default.pathExistsSync(this.getLastMergedStagedSnapsPath())) {
|
|
177
|
+
await _fsExtra().default.copyFile(this.getLastMergedStagedSnapsPath(), _legacy2().StagedSnaps.getPath(this.scope.path));
|
|
178
|
+
} else {
|
|
179
|
+
await this.scope.legacyScope.stagedSnaps.deleteFile();
|
|
180
|
+
}
|
|
181
|
+
const stagedConfig = await this.scope.getStagedConfig();
|
|
182
|
+
if (_fsExtra().default.pathExistsSync(this.getLastMergedStagedConfigPath())) {
|
|
183
|
+
await _fsExtra().default.copyFile(this.getLastMergedStagedConfigPath(), stagedConfig.filePath);
|
|
184
|
+
} else {
|
|
185
|
+
await stagedConfig.deleteFile();
|
|
186
|
+
}
|
|
187
|
+
await _fsExtra().default.remove(this.path);
|
|
188
|
+
return {
|
|
189
|
+
compDirsToRemove
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
async mergeAbortPrompt(dirsToRemove) {
|
|
193
|
+
this.logger.clearStatusLine();
|
|
194
|
+
const dirsToRemoveStr = dirsToRemove.length ? `\nThe following directories introduced by the merge will be deleted: ${dirsToRemove.join(', ')}` : '';
|
|
195
|
+
const ok = await (0, _yesno().default)({
|
|
196
|
+
question: `Code changes that were done since the last lane-merge will be lost.${dirsToRemoveStr}
|
|
197
|
+
The .bitmap and workspace.jsonc files will be restored to the state before the merge.
|
|
198
|
+
This action is irreversible.
|
|
199
|
+
${_chalk().default.bold('Do you want to continue? [yes(y)/no(n)]')}`
|
|
200
|
+
});
|
|
201
|
+
if (!ok) {
|
|
202
|
+
throw new PromptCanceled();
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
async getLastMergedLaneContentIfExists() {
|
|
206
|
+
const filename = this.getLastMergedLanePath();
|
|
207
|
+
return this.getFileContentIfExist(filename);
|
|
208
|
+
}
|
|
209
|
+
async getFileContentIfExist(filename) {
|
|
210
|
+
try {
|
|
211
|
+
return await _fsExtra().default.readFile(filename);
|
|
212
|
+
} catch (err) {
|
|
213
|
+
if (err.code === 'ENOENT') return null;
|
|
214
|
+
throw err;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
getLastMergedBitmapPath() {
|
|
218
|
+
return _path().default.join(this.path, LAST_MERGED_BITMAP_FILENAME);
|
|
219
|
+
}
|
|
220
|
+
getLastMergedWorkspacePath() {
|
|
221
|
+
return _path().default.join(this.path, 'workspace.jsonc');
|
|
222
|
+
}
|
|
223
|
+
getLastMergedLanePath() {
|
|
224
|
+
return _path().default.join(this.path, LAST_MERGED_LANE_FILENAME);
|
|
225
|
+
}
|
|
226
|
+
getLastMergedStagedSnapsPath() {
|
|
227
|
+
return _path().default.join(this.path, 'staged-snaps');
|
|
228
|
+
}
|
|
229
|
+
getLastMergedStagedConfigPath() {
|
|
230
|
+
return _path().default.join(this.path, 'staged-config.json');
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
exports.LastMerged = LastMerged;
|
|
234
|
+
|
|
235
|
+
//# sourceMappingURL=last-merged.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_path","data","_interopRequireDefault","require","_tempy","_fsExtra","_yesno","_chalk","_legacy","_objects","_legacy2","_bitError","e","__esModule","default","PromptCanceled","BitError","constructor","chalk","yellow","LAST_MERGED_LANE_FILENAME","LAST_MERGED_BITMAP_FILENAME","LastMerged","scope","consumer","logger","path","getLastMergedPath","takeSnapshot","currentLane","copyOfCurrentLane","clone","undefined","copyOfBitmap","tempy","file","copyOfWorkspaceJsonc","copyOfStagedSnaps","fs","copyFile","bitMap","mapPath","config","stagedSnaps","isEmpty","StagedSnaps","getPath","stagedConfig","getStagedConfig","copyOfStagedConfig","filePath","persistSnapshot","snapshot","remove","ensureDir","getLastMergedBitmapPath","getLastMergedWorkspacePath","compressed","compress","outputFile","getLastMergedLanePath","getLastMergedStagedSnapsPath","getLastMergedStagedConfigPath","restoreLaneObjectFromLastMerged","pathExistsSync","lastLane","getLastMergedLaneContentIfExists","laneFromBackup","BitObject","parseObject","legacyScope","objects","writeObjectsToTheFS","restoreFromLastMerged","mergeAbortOpts","previousBitmapBuffer","readFile","previousBitmap","BitMap","loadFromContentWithoutLoadingFiles","currentRootDirs","getAllTrackDirs","previousRootDirs","compDirsToRemove","Object","keys","filter","dir","silent","mergeAbortPrompt","Promise","all","map","deleteFile","dirsToRemove","clearStatusLine","dirsToRemoveStr","length","join","ok","yesno","question","bold","filename","getFileContentIfExist","err","code","exports"],"sources":["last-merged.ts"],"sourcesContent":["import path from 'path';\nimport tempy from 'tempy';\nimport fs from 'fs-extra';\nimport yesno from 'yesno';\nimport chalk from 'chalk';\nimport { BitMap } from '@teambit/legacy.bit-map';\nimport type { ScopeMain } from '@teambit/scope';\nimport type { Lane } from '@teambit/objects';\nimport { BitObject } from '@teambit/objects';\nimport { StagedSnaps } from '@teambit/legacy.scope';\nimport type { Consumer } from '@teambit/legacy.consumer';\nimport { BitError } from '@teambit/bit-error';\nimport type { Logger } from '@teambit/logger';\nimport type { MergeAbortOpts } from './merge-abort.cmd';\n\nclass PromptCanceled extends BitError {\n constructor() {\n super(chalk.yellow('operation aborted'));\n }\n}\n\nconst LAST_MERGED_LANE_FILENAME = 'lane';\nconst LAST_MERGED_BITMAP_FILENAME = 'bitmap';\n\ntype Snapshot = {\n copyOfCurrentLane?: Lane;\n copyOfBitmap: string;\n copyOfWorkspaceJsonc: string;\n copyOfStagedSnaps?: string;\n copyOfStagedConfig?: string;\n};\n\nexport class LastMerged {\n constructor(\n private scope: ScopeMain,\n private consumer: Consumer,\n private logger: Logger\n ) {}\n\n get path() {\n return this.scope.getLastMergedPath();\n }\n\n async takeSnapshot(currentLane?: Lane | null): Promise<Snapshot> {\n const consumer = this.consumer;\n const copyOfCurrentLane = currentLane ? currentLane.clone() : undefined;\n const copyOfBitmap = tempy.file();\n const copyOfWorkspaceJsonc = tempy.file();\n let copyOfStagedSnaps: string | undefined;\n await fs.copyFile(consumer.bitMap.mapPath, copyOfBitmap);\n await fs.copyFile(consumer.config.path, copyOfWorkspaceJsonc);\n if (!consumer.scope.stagedSnaps.isEmpty()) {\n copyOfStagedSnaps = tempy.file();\n await fs.copyFile(StagedSnaps.getPath(consumer.scope.path), copyOfStagedSnaps);\n }\n const stagedConfig = await this.scope.getStagedConfig();\n let copyOfStagedConfig: string | undefined;\n if (!stagedConfig.isEmpty()) {\n copyOfStagedConfig = tempy.file();\n await fs.copyFile(stagedConfig.filePath, copyOfStagedConfig);\n }\n\n return {\n copyOfCurrentLane,\n copyOfBitmap,\n copyOfWorkspaceJsonc,\n copyOfStagedSnaps,\n copyOfStagedConfig,\n };\n }\n\n async persistSnapshot(snapshot: Snapshot) {\n const { copyOfCurrentLane, copyOfBitmap, copyOfWorkspaceJsonc, copyOfStagedSnaps, copyOfStagedConfig } = snapshot;\n await fs.remove(this.path);\n await fs.ensureDir(this.path);\n await fs.copyFile(copyOfBitmap, this.getLastMergedBitmapPath());\n await fs.copyFile(copyOfWorkspaceJsonc, this.getLastMergedWorkspacePath());\n if (copyOfCurrentLane) {\n const compressed = await copyOfCurrentLane.compress();\n await fs.outputFile(this.getLastMergedLanePath(), compressed);\n }\n if (copyOfStagedSnaps) {\n await fs.copyFile(copyOfStagedSnaps, this.getLastMergedStagedSnapsPath());\n }\n if (copyOfStagedConfig) {\n await fs.copyFile(copyOfStagedConfig, this.getLastMergedStagedConfigPath());\n }\n }\n\n async restoreLaneObjectFromLastMerged() {\n if (!fs.pathExistsSync(this.path)) {\n throw new BitError(`unable to abort the last lane-merge because \"bit export\" was running since then`);\n }\n const lastLane = await this.getLastMergedLaneContentIfExists();\n if (!lastLane) {\n throw new BitError(\n `unable to revert the last lane-merge because the ${LAST_MERGED_LANE_FILENAME} is missing from ${this.path}`\n );\n }\n const laneFromBackup = await BitObject.parseObject(lastLane, LAST_MERGED_LANE_FILENAME);\n await this.scope.legacyScope.objects.writeObjectsToTheFS([laneFromBackup]);\n }\n\n async restoreFromLastMerged(mergeAbortOpts: MergeAbortOpts, currentLane?: Lane | null) {\n if (!fs.pathExistsSync(this.path)) {\n throw new BitError(`unable to abort the last lane-merge because \"bit export\" was running since then`);\n }\n const lastLane = await this.getLastMergedLaneContentIfExists();\n\n if (!fs.pathExistsSync(this.getLastMergedBitmapPath())) {\n throw new BitError(\n `unable to abort the last lane-merge because the ${LAST_MERGED_BITMAP_FILENAME} is missing from ${this.path}`\n );\n }\n if (!fs.pathExistsSync(this.getLastMergedWorkspacePath())) {\n throw new BitError(\n `unable to abort the last lane-merge because the workspace.jsonc is missing from ${this.path}`\n );\n }\n if (currentLane) {\n if (!lastLane) {\n throw new BitError(\n `unable to abort the last lane-merge because the ${LAST_MERGED_LANE_FILENAME} is missing from ${this.path}`\n );\n }\n const laneFromBackup = await BitObject.parseObject(lastLane, LAST_MERGED_LANE_FILENAME);\n await this.scope.legacyScope.objects.writeObjectsToTheFS([laneFromBackup]);\n }\n const previousBitmapBuffer = await fs.readFile(this.getLastMergedBitmapPath());\n const previousBitmap = BitMap.loadFromContentWithoutLoadingFiles(previousBitmapBuffer, '', '', '');\n const currentRootDirs = this.consumer.bitMap.getAllTrackDirs();\n const previousRootDirs = previousBitmap.getAllTrackDirs();\n const compDirsToRemove = Object.keys(currentRootDirs).filter((dir) => !previousRootDirs[dir]);\n\n if (!mergeAbortOpts.silent) {\n await this.mergeAbortPrompt(compDirsToRemove);\n }\n await Promise.all(compDirsToRemove.map((dir) => fs.remove(dir))); // it doesn't throw if not-exist, so we're good here.\n await fs.copyFile(this.getLastMergedBitmapPath(), this.consumer.bitMap.mapPath);\n await fs.copyFile(this.getLastMergedWorkspacePath(), this.consumer.config.path);\n if (fs.pathExistsSync(this.getLastMergedStagedSnapsPath())) {\n await fs.copyFile(this.getLastMergedStagedSnapsPath(), StagedSnaps.getPath(this.scope.path));\n } else {\n await this.scope.legacyScope.stagedSnaps.deleteFile();\n }\n const stagedConfig = await this.scope.getStagedConfig();\n if (fs.pathExistsSync(this.getLastMergedStagedConfigPath())) {\n await fs.copyFile(this.getLastMergedStagedConfigPath(), stagedConfig.filePath);\n } else {\n await stagedConfig.deleteFile();\n }\n await fs.remove(this.path);\n\n return {\n compDirsToRemove,\n };\n }\n\n private async mergeAbortPrompt(dirsToRemove: string[]) {\n this.logger.clearStatusLine();\n const dirsToRemoveStr = dirsToRemove.length\n ? `\\nThe following directories introduced by the merge will be deleted: ${dirsToRemove.join(', ')}`\n : '';\n const ok = await yesno({\n question: `Code changes that were done since the last lane-merge will be lost.${dirsToRemoveStr}\nThe .bitmap and workspace.jsonc files will be restored to the state before the merge.\nThis action is irreversible.\n${chalk.bold('Do you want to continue? [yes(y)/no(n)]')}`,\n });\n if (!ok) {\n throw new PromptCanceled();\n }\n }\n\n private async getLastMergedLaneContentIfExists(): Promise<Buffer | null> {\n const filename = this.getLastMergedLanePath();\n return this.getFileContentIfExist(filename);\n }\n private async getFileContentIfExist(filename: string): Promise<Buffer | null> {\n try {\n return await fs.readFile(filename);\n } catch (err: any) {\n if (err.code === 'ENOENT') return null;\n throw err;\n }\n }\n private getLastMergedBitmapPath() {\n return path.join(this.path, LAST_MERGED_BITMAP_FILENAME);\n }\n private getLastMergedWorkspacePath() {\n return path.join(this.path, 'workspace.jsonc');\n }\n private getLastMergedLanePath() {\n return path.join(this.path, LAST_MERGED_LANE_FILENAME);\n }\n private getLastMergedStagedSnapsPath() {\n return path.join(this.path, 'staged-snaps');\n }\n private getLastMergedStagedConfigPath() {\n return path.join(this.path, 'staged-config.json');\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Command, CommandOptions } from '@teambit/cli';
|
|
2
|
+
import type { MergeLanesMain } from './merge-lanes.main.runtime';
|
|
3
|
+
export type MergeAbortOpts = {
|
|
4
|
+
silent?: boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare class MergeAbortLaneCmd implements Command {
|
|
7
|
+
private mergeLanes;
|
|
8
|
+
name: string;
|
|
9
|
+
description: string;
|
|
10
|
+
extendedDescription: string;
|
|
11
|
+
alias: string;
|
|
12
|
+
options: CommandOptions;
|
|
13
|
+
loader: boolean;
|
|
14
|
+
private: boolean;
|
|
15
|
+
remoteOp: boolean;
|
|
16
|
+
constructor(mergeLanes: MergeLanesMain);
|
|
17
|
+
report(_: any, { skipDependencyInstallation, verbose, silent, }: {
|
|
18
|
+
skipDependencyInstallation?: boolean;
|
|
19
|
+
verbose?: boolean;
|
|
20
|
+
silent?: boolean;
|
|
21
|
+
}): Promise<string>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MergeAbortLaneCmd = void 0;
|
|
7
|
+
function _chalk() {
|
|
8
|
+
const data = _interopRequireDefault(require("chalk"));
|
|
9
|
+
_chalk = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
function _checkout() {
|
|
15
|
+
const data = require("@teambit/checkout");
|
|
16
|
+
_checkout = function () {
|
|
17
|
+
return data;
|
|
18
|
+
};
|
|
19
|
+
return data;
|
|
20
|
+
}
|
|
21
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
23
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
24
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
25
|
+
class MergeAbortLaneCmd {
|
|
26
|
+
constructor(mergeLanes) {
|
|
27
|
+
this.mergeLanes = mergeLanes;
|
|
28
|
+
_defineProperty(this, "name", 'merge-abort');
|
|
29
|
+
_defineProperty(this, "description", `abort the recent lane-merge. revert the lane object and checkout accordingly`);
|
|
30
|
+
_defineProperty(this, "extendedDescription", `restore the lane-object to its state before the last "bit lane merge" command.
|
|
31
|
+
also, checkout the workspace components according to the restored lane state`);
|
|
32
|
+
_defineProperty(this, "alias", '');
|
|
33
|
+
_defineProperty(this, "options", [['', 'verbose', "show details of components that didn't need to be merged"], ['s', 'silent', 'skip confirmation'], ['x', 'skip-dependency-installation', 'do not install packages of the imported components']]);
|
|
34
|
+
_defineProperty(this, "loader", true);
|
|
35
|
+
_defineProperty(this, "private", true);
|
|
36
|
+
_defineProperty(this, "remoteOp", true);
|
|
37
|
+
}
|
|
38
|
+
async report(_, {
|
|
39
|
+
skipDependencyInstallation = false,
|
|
40
|
+
verbose = false,
|
|
41
|
+
silent = false
|
|
42
|
+
}) {
|
|
43
|
+
const checkoutProps = {
|
|
44
|
+
reset: true,
|
|
45
|
+
all: true,
|
|
46
|
+
verbose,
|
|
47
|
+
skipNpmInstall: skipDependencyInstallation
|
|
48
|
+
};
|
|
49
|
+
const mergeAbortOpts = {
|
|
50
|
+
silent
|
|
51
|
+
};
|
|
52
|
+
const {
|
|
53
|
+
checkoutResults,
|
|
54
|
+
restoredItems,
|
|
55
|
+
checkoutError
|
|
56
|
+
} = await this.mergeLanes.abortLaneMerge(checkoutProps, mergeAbortOpts);
|
|
57
|
+
const getCheckoutErrorStr = () => {
|
|
58
|
+
if (!checkoutError) return '';
|
|
59
|
+
const errMsg = `\n\nFailed to change component files to the pre-merge state due to an error:
|
|
60
|
+
${checkoutError.message}
|
|
61
|
+
please fix the error and then run "bit checkout reset --all" to revert the components to the pre-merge state`;
|
|
62
|
+
return _chalk().default.red(errMsg);
|
|
63
|
+
};
|
|
64
|
+
const checkoutOutputStr = checkoutResults ? (0, _checkout().checkoutOutput)(checkoutResults, checkoutProps) : '';
|
|
65
|
+
const restoredItemsTitle = _chalk().default.green('The following have been restored successfully:');
|
|
66
|
+
const restoredItemsOutput = restoredItems.map(item => `[√] ${item}`).join('\n');
|
|
67
|
+
return `${checkoutOutputStr}\n\n${restoredItemsTitle}\n${restoredItemsOutput}${getCheckoutErrorStr()}`;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.MergeAbortLaneCmd = MergeAbortLaneCmd;
|
|
71
|
+
|
|
72
|
+
//# sourceMappingURL=merge-abort.cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_checkout","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","MergeAbortLaneCmd","constructor","mergeLanes","report","_","skipDependencyInstallation","verbose","silent","checkoutProps","reset","all","skipNpmInstall","mergeAbortOpts","checkoutResults","restoredItems","checkoutError","abortLaneMerge","getCheckoutErrorStr","errMsg","message","chalk","red","checkoutOutputStr","checkoutOutput","restoredItemsTitle","green","restoredItemsOutput","map","item","join","exports"],"sources":["merge-abort.cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport type { CheckoutProps } from '@teambit/checkout';\nimport { checkoutOutput } from '@teambit/checkout';\nimport type { Command, CommandOptions } from '@teambit/cli';\nimport type { MergeLanesMain } from './merge-lanes.main.runtime';\n\nexport type MergeAbortOpts = {\n silent?: boolean; // don't show prompt before aborting\n};\n\nexport class MergeAbortLaneCmd implements Command {\n name = 'merge-abort';\n description = `abort the recent lane-merge. revert the lane object and checkout accordingly`;\n extendedDescription = `restore the lane-object to its state before the last \"bit lane merge\" command.\nalso, checkout the workspace components according to the restored lane state`;\n alias = '';\n options = [\n ['', 'verbose', \"show details of components that didn't need to be merged\"],\n ['s', 'silent', 'skip confirmation'],\n ['x', 'skip-dependency-installation', 'do not install packages of the imported components'],\n ] as CommandOptions;\n loader = true;\n private = true;\n remoteOp = true;\n\n constructor(private mergeLanes: MergeLanesMain) {}\n\n async report(\n _,\n {\n skipDependencyInstallation = false,\n verbose = false,\n silent = false,\n }: {\n skipDependencyInstallation?: boolean;\n verbose?: boolean;\n silent?: boolean;\n }\n ): Promise<string> {\n const checkoutProps: CheckoutProps = {\n reset: true,\n all: true,\n verbose,\n skipNpmInstall: skipDependencyInstallation,\n };\n const mergeAbortOpts = { silent };\n const { checkoutResults, restoredItems, checkoutError } = await this.mergeLanes.abortLaneMerge(\n checkoutProps,\n mergeAbortOpts\n );\n\n const getCheckoutErrorStr = () => {\n if (!checkoutError) return '';\n const errMsg = `\\n\\nFailed to change component files to the pre-merge state due to an error:\n${checkoutError.message}\nplease fix the error and then run \"bit checkout reset --all\" to revert the components to the pre-merge state`;\n return chalk.red(errMsg);\n };\n\n const checkoutOutputStr = checkoutResults ? checkoutOutput(checkoutResults, checkoutProps) : '';\n const restoredItemsTitle = chalk.green('The following have been restored successfully:');\n const restoredItemsOutput = restoredItems.map((item) => `[√] ${item}`).join('\\n');\n\n return `${checkoutOutputStr}\\n\\n${restoredItemsTitle}\\n${restoredItemsOutput}${getCheckoutErrorStr()}`;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { Command, CommandOptions } from '@teambit/cli';
|
|
2
|
+
import type { MergeLanesMain } from './merge-lanes.main.runtime';
|
|
3
|
+
import type { ConfigStoreMain } from '@teambit/config-store';
|
|
4
|
+
export declare class MergeLaneCmd implements Command {
|
|
5
|
+
private mergeLanes;
|
|
6
|
+
private configStore;
|
|
7
|
+
name: string;
|
|
8
|
+
description: string;
|
|
9
|
+
extendedDescription: string;
|
|
10
|
+
arguments: {
|
|
11
|
+
name: string;
|
|
12
|
+
description: string;
|
|
13
|
+
}[];
|
|
14
|
+
alias: string;
|
|
15
|
+
options: CommandOptions;
|
|
16
|
+
loader: boolean;
|
|
17
|
+
private: boolean;
|
|
18
|
+
remoteOp: boolean;
|
|
19
|
+
constructor(mergeLanes: MergeLanesMain, configStore: ConfigStoreMain);
|
|
20
|
+
report([name, pattern]: [string, string], { ours, theirs, manual, autoMergeResolve, build, workspace: existingOnWorkspaceOnly, squash, noAutoSnap, noSnap, tag, message: snapMessage, keepReadme, noSquash, skipDependencyInstallation, skipFetch, includeDeps, resolveUnrelated, ignoreConfigChanges, verbose, excludeNonLaneComps, detachHead, loose, }: {
|
|
21
|
+
ours?: boolean;
|
|
22
|
+
theirs?: boolean;
|
|
23
|
+
manual?: boolean;
|
|
24
|
+
autoMergeResolve?: string;
|
|
25
|
+
workspace?: boolean;
|
|
26
|
+
build?: boolean;
|
|
27
|
+
noAutoSnap: boolean;
|
|
28
|
+
noSnap: boolean;
|
|
29
|
+
tag: boolean;
|
|
30
|
+
message: string;
|
|
31
|
+
keepReadme?: boolean;
|
|
32
|
+
squash?: boolean;
|
|
33
|
+
noSquash: boolean;
|
|
34
|
+
skipDependencyInstallation?: boolean;
|
|
35
|
+
skipFetch: boolean;
|
|
36
|
+
includeDeps?: boolean;
|
|
37
|
+
resolveUnrelated?: string | boolean;
|
|
38
|
+
ignoreConfigChanges?: boolean;
|
|
39
|
+
verbose?: boolean;
|
|
40
|
+
excludeNonLaneComps?: boolean;
|
|
41
|
+
detachHead?: boolean;
|
|
42
|
+
loose?: boolean;
|
|
43
|
+
}): Promise<string>;
|
|
44
|
+
}
|