UNPKG

@teambit/lanes

Version:
78 lines (76 loc) 2.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.removeLanes = removeLanes; function _groupArray() { const data = _interopRequireDefault(require("group-array")); _groupArray = function () { return data; }; return data; } function _laneId() { const data = require("@teambit/lane-id"); _laneId = function () { return data; }; return data; } function _scope() { const data = require("@teambit/scope.remotes"); _scope = function () { return data; }; return data; } function _scope2() { const data = require("@teambit/scope.network"); _scope2 = function () { return data; }; return data; } function _legacy() { const data = require("@teambit/legacy.constants"); _legacy = function () { return data; }; return data; } function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } async function removeLanes(consumer, lanes, remote, force) { if (remote) { const remoteLaneIds = lanes.map(lane => _laneId().LaneId.parse(lane)); const results = await removeRemoteLanes(consumer, remoteLaneIds, force); const laneResults = results.map(r => r.removedLanes).flat(); return { laneResults }; } if (!consumer) throw new Error('consumer must exist for local removal'); await consumer.scope.lanes.removeLanes(consumer.scope, lanes, force, consumer.getCurrentLaneId().name); return { laneResults: lanes }; } async function removeRemoteLanes(consumer, lanes, force) { const remotes = consumer ? await (0, _scope().getScopeRemotes)(consumer.scope) : await _scope().Remotes.getGlobalRemotes(); const shouldGoToCentralHub = remotes.shouldGoToCentralHub(lanes.map(lane => lane.scope)); if (shouldGoToCentralHub) { const http = await _scope2().Http.connect(_legacy().CENTRAL_BIT_HUB_URL, _legacy().CENTRAL_BIT_HUB_NAME); return http.deleteViaCentralHub(lanes.map(lane => lane.toString()), { force, idsAreLanes: true }); } const context = {}; const groupedLanesByScope = (0, _groupArray().default)(lanes, 'scope'); const removeP = Object.keys(groupedLanesByScope).map(async key => { const resolvedRemote = await remotes.resolve(key); const idsStr = groupedLanesByScope[key].map(id => id.toString()); return resolvedRemote.deleteMany(idsStr, force, context, true); }); return Promise.all(removeP); } //# sourceMappingURL=remove-lanes.js.map