@teambit/remove 1.0.329 → 1.0.331

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.d.ts CHANGED
@@ -3,5 +3,6 @@ export type { RemoveMain, RemoveInfo } from './remove.main.runtime';
3
3
  export type { RemovedLocalObjects } from './removed-local-objects';
4
4
  export { deleteComponentsFiles } from './delete-component-files';
5
5
  export { removeTemplate } from './remove-template';
6
+ export { removeComponentsFromNodeModules } from './remove-components';
6
7
  export default RemoveAspect;
7
8
  export { RemoveAspect };
package/dist/index.js CHANGED
@@ -16,6 +16,12 @@ Object.defineProperty(exports, "deleteComponentsFiles", {
16
16
  return _deleteComponentFiles().deleteComponentsFiles;
17
17
  }
18
18
  });
19
+ Object.defineProperty(exports, "removeComponentsFromNodeModules", {
20
+ enumerable: true,
21
+ get: function () {
22
+ return _removeComponents().removeComponentsFromNodeModules;
23
+ }
24
+ });
19
25
  Object.defineProperty(exports, "removeTemplate", {
20
26
  enumerable: true,
21
27
  get: function () {
@@ -43,6 +49,13 @@ function _removeTemplate() {
43
49
  };
44
50
  return data;
45
51
  }
52
+ function _removeComponents() {
53
+ const data = require("./remove-components");
54
+ _removeComponents = function () {
55
+ return data;
56
+ };
57
+ return data;
58
+ }
46
59
  var _default = exports.default = _remove().RemoveAspect;
47
60
 
48
61
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_remove","data","require","_deleteComponentFiles","_removeTemplate","_default","exports","default","RemoveAspect"],"sources":["index.ts"],"sourcesContent":["import { RemoveAspect } from './remove.aspect';\n\nexport type { RemoveMain, RemoveInfo } from './remove.main.runtime';\nexport type { RemovedLocalObjects } from './removed-local-objects';\nexport { deleteComponentsFiles } from './delete-component-files';\nexport { removeTemplate } from './remove-template';\nexport default RemoveAspect;\nexport { RemoveAspect };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAE,sBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,qBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,gBAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,eAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAmD,IAAAI,QAAA,GAAAC,OAAA,CAAAC,OAAA,GACpCC,sBAAY","ignoreList":[]}
1
+ {"version":3,"names":["_remove","data","require","_deleteComponentFiles","_removeTemplate","_removeComponents","_default","exports","default","RemoveAspect"],"sources":["index.ts"],"sourcesContent":["import { RemoveAspect } from './remove.aspect';\n\nexport type { RemoveMain, RemoveInfo } from './remove.main.runtime';\nexport type { RemovedLocalObjects } from './removed-local-objects';\nexport { deleteComponentsFiles } from './delete-component-files';\nexport { removeTemplate } from './remove-template';\nexport { removeComponentsFromNodeModules } from './remove-components';\nexport default RemoveAspect;\nexport { RemoveAspect };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAE,sBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,qBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,gBAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,eAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,kBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,iBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAsE,IAAAK,QAAA,GAAAC,OAAA,CAAAC,OAAA,GACvDC,sBAAY","ignoreList":[]}
@@ -1,6 +1,8 @@
1
1
  import { Workspace } from '@teambit/workspace';
2
2
  import { ComponentIdList } from '@teambit/component-id';
3
3
  import RemovedObjects from '@teambit/legacy/dist/scope/removed-components';
4
+ import { Consumer } from '@teambit/legacy/dist/consumer';
5
+ import ConsumerComponent from '@teambit/legacy/dist/consumer/component';
4
6
  import { RemovedLocalObjects } from './removed-local-objects';
5
7
  export type RemoveComponentsResult = {
6
8
  localResult: RemovedLocalObjects;
@@ -23,3 +25,4 @@ export declare function removeComponents({ workspace, ids, force, remote, track,
23
25
  track: boolean;
24
26
  deleteFiles: boolean;
25
27
  }): Promise<RemoveComponentsResult>;
28
+ export declare function removeComponentsFromNodeModules(consumer: Consumer, components: ConsumerComponent[]): Promise<void[]>;
@@ -4,6 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.removeComponents = removeComponents;
7
+ exports.removeComponentsFromNodeModules = removeComponentsFromNodeModules;
8
+ function _fsExtra() {
9
+ const data = _interopRequireDefault(require("fs-extra"));
10
+ _fsExtra = function () {
11
+ return data;
12
+ };
13
+ return data;
14
+ }
7
15
  function _groupArray() {
8
16
  const data = _interopRequireDefault(require("group-array"));
9
17
  _groupArray = function () {
@@ -102,16 +110,16 @@ function _consumerComponent() {
102
110
  };
103
111
  return data;
104
112
  }
105
- function packageJsonUtils() {
106
- const data = _interopRequireWildcard(require("@teambit/legacy/dist/consumer/component/package-json-utils"));
107
- packageJsonUtils = function () {
113
+ function _pMapSeries() {
114
+ const data = _interopRequireDefault(require("p-map-series"));
115
+ _pMapSeries = function () {
108
116
  return data;
109
117
  };
110
118
  return data;
111
119
  }
112
- function _pMapSeries() {
113
- const data = _interopRequireDefault(require("p-map-series"));
114
- _pMapSeries = function () {
120
+ function _pkgModules() {
121
+ const data = require("@teambit/pkg.modules.component-package-name");
122
+ _pkgModules = function () {
115
123
  return data;
116
124
  };
117
125
  return data;
@@ -123,9 +131,12 @@ function _removedLocalObjects() {
123
131
  };
124
132
  return data;
125
133
  }
126
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
127
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
128
134
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
135
+ 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; }
136
+ 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; }
137
+ 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; }
138
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
139
+ 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); }
129
140
  /**
130
141
  * Remove components local and remote
131
142
  * splits array of ids into local and remote and removes according to flags
@@ -237,8 +248,7 @@ If you understand the risks and wish to proceed with the removal, please use the
237
248
  const idsToRemoveFromScope = _componentId().ComponentIdList.fromArray(idsToRemove.filter(id => !newComponents.hasWithoutVersion(id)));
238
249
  const idsToCleanFromWorkspace = _componentId().ComponentIdList.fromArray(idsToRemove.filter(id => newComponents.hasWithoutVersion(id)));
239
250
  const {
240
- components: componentsToRemove,
241
- invalidComponents
251
+ components: componentsToRemove
242
252
  } = await consumer.loadComponents(idsToRemove, false);
243
253
  const {
244
254
  removedComponentIds,
@@ -251,14 +261,25 @@ If you understand the risks and wish to proceed with the removal, please use the
251
261
  if (idsToCleanFromWorkspace.length) {
252
262
  if (deleteFiles) await (0, _deleteComponentFiles().deleteComponentsFiles)(consumer, idsToCleanFromWorkspace);
253
263
  if (!track) {
254
- const invalidComponentsIds = invalidComponents.map(i => i.id);
255
264
  const removedComponents = componentsToRemove.filter(c => idsToCleanFromWorkspace.hasWithoutVersion(c.id));
256
- await packageJsonUtils().removeComponentsFromWorkspacesAndDependencies(consumer, removedComponents, invalidComponentsIds);
265
+ await consumer.packageJson.removeComponentsFromDependencies(removedComponents);
266
+ await removeComponentsFromNodeModules(consumer, removedComponents);
257
267
  await consumer.cleanFromBitMap(idsToCleanFromWorkspace);
258
268
  await workspace.cleanFromConfig(idsToCleanFromWorkspace);
259
269
  }
260
270
  }
261
271
  return new (_removedLocalObjects().RemovedLocalObjects)(_componentId().ComponentIdList.uniqFromArray([...idsToCleanFromWorkspace, ...removedComponentIds]), missingComponents, modifiedComponents, dependentBits, removedFromLane);
262
272
  }
273
+ async function removeComponentsFromNodeModules(consumer, components) {
274
+ _logger().default.debug(`removeComponentsFromNodeModules: ${components.map(c => c.id.toString()).join(', ')}`);
275
+ const pathsToRemoveWithNulls = components.map(c => {
276
+ return (0, _pkgModules().getNodeModulesPathOfComponent)(_objectSpread(_objectSpread({}, c), {}, {
277
+ id: c.id
278
+ }));
279
+ });
280
+ const pathsToRemove = (0, _lodash2().compact)(pathsToRemoveWithNulls);
281
+ _logger().default.debug(`deleting the following paths: ${pathsToRemove.join('\n')}`);
282
+ return Promise.all(pathsToRemove.map(componentPath => _fsExtra().default.remove(consumer.toAbsolutePath(componentPath))));
283
+ }
263
284
 
264
285
  //# sourceMappingURL=remove-components.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_groupArray","data","_interopRequireDefault","require","_lodash","_componentId","_lodash2","_constants","_bitError","_enrichContextFromGlobal","_logger","_http","_remotes","_scopeRemotes","_deleteComponentFiles","_componentsList","_consumerComponent","packageJsonUtils","_interopRequireWildcard","_pMapSeries","_removedLocalObjects","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","removeComponents","workspace","ids","force","remote","track","deleteFiles","logger","debugAndAddBreadCrumb","toString","bitIdsLatest","ComponentIdList","fromArray","map","id","changeVersion","LATEST_BIT_VERSION","localIds","remoteIds","partition","isLocal","length","BitError","join","remoteResult","isEmpty","removeRemote","localResult","removeLocal","RemovedLocalObjects","bitIds","groupedBitsByScope","groupArray","remotes","getScopeRemotes","scope","legacyScope","Remotes","getGlobalRemotes","shouldGoToCentralHub","keys","http","Http","connect","CENTRAL_BIT_HUB_URL","CENTRAL_BIT_HUB_NAME","deleteViaCentralHub","idsAreLanes","context","enrichContextFromGlobal","removeP","key","resolvedRemote","resolve","idsStr","toStringWithoutVersion","deleteMany","Promise","all","consumer","modifiedComponents","nonModifiedComponents","newIds","pMapSeries","componentStatus","getComponentStatusById","newlyCreated","push","modified","err","Component","isComponentInvalidByErrorType","list","listWithInvalid","components","forEach","c","hasWithoutVersion","aspectIds","state","aspects","used","find","newId","includes","idsToRemove","componentsList","ComponentsList","newComponents","listNewComponents","idsToRemoveFromScope","filter","idsToCleanFromWorkspace","componentsToRemove","invalidComponents","loadComponents","removedComponentIds","missingComponents","dependentBits","removedFromLane","removeMany","deleteComponentsFiles","invalidComponentsIds","removedComponents","removeComponentsFromWorkspacesAndDependencies","cleanFromBitMap","cleanFromConfig","uniqFromArray"],"sources":["remove-components.ts"],"sourcesContent":["import groupArray from 'group-array';\nimport partition from 'lodash.partition';\nimport { Workspace } from '@teambit/workspace';\nimport { ComponentIdList } from '@teambit/component-id';\nimport { isEmpty } from 'lodash';\nimport { CENTRAL_BIT_HUB_NAME, CENTRAL_BIT_HUB_URL, LATEST_BIT_VERSION } from '@teambit/legacy/dist/constants';\nimport { BitError } from '@teambit/bit-error';\nimport enrichContextFromGlobal from '@teambit/legacy/dist/hooks/utils/enrich-context-from-global';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { Http } from '@teambit/legacy/dist/scope/network/http';\nimport { Remotes } from '@teambit/legacy/dist/remotes';\nimport { getScopeRemotes } from '@teambit/legacy/dist/scope/scope-remotes';\nimport { deleteComponentsFiles } from './delete-component-files';\nimport ComponentsList from '@teambit/legacy/dist/consumer/component/components-list';\nimport Component from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport RemovedObjects from '@teambit/legacy/dist/scope/removed-components';\nimport * as packageJsonUtils from '@teambit/legacy/dist/consumer/component/package-json-utils';\nimport pMapSeries from 'p-map-series';\nimport { RemovedLocalObjects } from './removed-local-objects';\n\nexport type RemoveComponentsResult = { localResult: RemovedLocalObjects; remoteResult: RemovedObjects[] };\n\n/**\n * Remove components local and remote\n * splits array of ids into local and remote and removes according to flags\n * @param {string[]} ids - list of remote component ids to delete\n * @param {boolean} force - delete component that are used by other components.\n * @param {boolean} remote - delete component from a remote scope\n * @param {boolean} track - keep tracking local staged components in bitmap.\n * @param {boolean} deleteFiles - delete local added files from fs.\n */\nexport async function removeComponents({\n workspace,\n ids,\n force,\n remote,\n track,\n deleteFiles,\n}: {\n workspace?: Workspace; // when remote is false, it's always set\n ids: ComponentIdList;\n force: boolean;\n remote: boolean;\n track: boolean;\n deleteFiles: boolean;\n}): Promise<RemoveComponentsResult> {\n logger.debugAndAddBreadCrumb('removeComponents', `{ids}. force: ${force.toString()}`, { ids: ids.toString() });\n // added this to remove support for remove only one version from a component\n const bitIdsLatest = ComponentIdList.fromArray(\n ids.map((id) => {\n return id.changeVersion(LATEST_BIT_VERSION);\n })\n );\n const [localIds, remoteIds] = partition(bitIdsLatest, (id) => id.isLocal());\n if (remote && localIds.length) {\n throw new BitError(\n `unable to remove the remote components: ${localIds.join(',')} as they don't contain a scope-name`\n );\n }\n const remoteResult = remote && !isEmpty(remoteIds) ? await removeRemote(workspace, remoteIds, force) : [];\n const localResult = !remote\n ? await removeLocal(workspace as Workspace, bitIdsLatest, force, track, deleteFiles)\n : new RemovedLocalObjects();\n\n return { localResult, remoteResult };\n}\n\n/**\n * Remove remote component from the remote\n * this method groups remote components by remote name and deletes remote components together\n * @param {ComponentIdList} bitIds - list of remote component ids to delete\n * @param {boolean} force - delete component that are used by other components.\n */\nasync function removeRemote(\n workspace: Workspace | undefined,\n bitIds: ComponentIdList,\n force: boolean\n): Promise<RemovedObjects[]> {\n const groupedBitsByScope = groupArray(bitIds, 'scope');\n const remotes = workspace ? await getScopeRemotes(workspace.scope.legacyScope) : await Remotes.getGlobalRemotes();\n const shouldGoToCentralHub = remotes.shouldGoToCentralHub(Object.keys(groupedBitsByScope));\n if (shouldGoToCentralHub) {\n const http = await Http.connect(CENTRAL_BIT_HUB_URL, CENTRAL_BIT_HUB_NAME);\n return http.deleteViaCentralHub(\n bitIds.map((id) => id.toString()),\n { force, idsAreLanes: false }\n );\n }\n const context = {};\n enrichContextFromGlobal(context);\n const removeP = Object.keys(groupedBitsByScope).map(async (key) => {\n const resolvedRemote = await remotes.resolve(key, workspace?.scope.legacyScope);\n const idsStr = groupedBitsByScope[key].map((id) => id.toStringWithoutVersion());\n return resolvedRemote.deleteMany(idsStr, force, context);\n });\n\n return Promise.all(removeP);\n}\n\n/**\n * removeLocal - remove local (imported, new staged components) from modules and bitmap according to flags\n * @param {ComponentIdList} bitIds - list of component ids to delete\n * @param {boolean} force - delete component that are used by other components.\n * @param {boolean} deleteFiles - delete component that are used by other components.\n */\nasync function removeLocal(\n workspace: Workspace,\n bitIds: ComponentIdList,\n force: boolean,\n track: boolean,\n deleteFiles: boolean\n): Promise<RemovedLocalObjects> {\n const consumer = workspace.consumer;\n // local remove in case user wants to delete tagged components\n const modifiedComponents = new ComponentIdList();\n const nonModifiedComponents = new ComponentIdList();\n if (!bitIds.length) return new RemovedLocalObjects();\n if (!force) {\n const newIds: string[] = [];\n await pMapSeries(bitIds, async (id) => {\n try {\n const componentStatus = await workspace.getComponentStatusById(id);\n if (componentStatus.newlyCreated) newIds.push(id.toStringWithoutVersion());\n if (componentStatus.modified) modifiedComponents.push(id);\n else nonModifiedComponents.push(id);\n } catch (err: any) {\n // if a component has an error, such as, missing main file, we do want to allow removing that component\n if (Component.isComponentInvalidByErrorType(err)) {\n nonModifiedComponents.push(id);\n } else {\n throw err;\n }\n }\n });\n if (newIds.length) {\n const list = await workspace.listWithInvalid();\n list.components.forEach((c) => {\n if (bitIds.hasWithoutVersion(c.id)) return; // it gets deleted anyway\n const aspectIds = c.state.aspects.ids;\n const used = newIds.find((newId) => aspectIds.includes(newId));\n if (used)\n throw new BitError(`Unable to remove ${c.id.toStringWithoutVersion()}.\nThis component is 1) an aspect 2) is used by other components, such as \"${c.id.toStringWithoutVersion()}\" 3) it's a new component so it can't be installed as a package.\nRemoving this component from the workspace will disrupt the functionality of other components that depend on it, and resolving these issues may not be straightforward.\nIf you understand the risks and wish to proceed with the removal, please use the --force flag.\n`);\n });\n }\n }\n const idsToRemove = force ? bitIds : nonModifiedComponents;\n const componentsList = new ComponentsList(consumer);\n const newComponents = (await componentsList.listNewComponents(false)) as ComponentIdList;\n const idsToRemoveFromScope = ComponentIdList.fromArray(\n idsToRemove.filter((id) => !newComponents.hasWithoutVersion(id))\n );\n const idsToCleanFromWorkspace = ComponentIdList.fromArray(\n idsToRemove.filter((id) => newComponents.hasWithoutVersion(id))\n );\n const { components: componentsToRemove, invalidComponents } = await consumer.loadComponents(idsToRemove, false);\n const { removedComponentIds, missingComponents, dependentBits, removedFromLane } = await consumer.scope.removeMany(\n idsToRemoveFromScope,\n force,\n consumer\n );\n // otherwise, components should still be in .bitmap file\n idsToCleanFromWorkspace.push(...removedComponentIds);\n if (idsToCleanFromWorkspace.length) {\n if (deleteFiles) await deleteComponentsFiles(consumer, idsToCleanFromWorkspace);\n if (!track) {\n const invalidComponentsIds = invalidComponents.map((i) => i.id);\n const removedComponents = componentsToRemove.filter((c) => idsToCleanFromWorkspace.hasWithoutVersion(c.id));\n await packageJsonUtils.removeComponentsFromWorkspacesAndDependencies(\n consumer,\n removedComponents,\n invalidComponentsIds\n );\n await consumer.cleanFromBitMap(idsToCleanFromWorkspace);\n await workspace.cleanFromConfig(idsToCleanFromWorkspace);\n }\n }\n return new RemovedLocalObjects(\n ComponentIdList.uniqFromArray([...idsToCleanFromWorkspace, ...removedComponentIds]),\n missingComponents,\n modifiedComponents,\n dependentBits,\n removedFromLane\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_groupArray","_lodash","_componentId","_lodash2","_constants","_bitError","_enrichContextFromGlobal","_logger","_http","_remotes","_scopeRemotes","_deleteComponentFiles","_componentsList","_consumerComponent","_pMapSeries","_pkgModules","_removedLocalObjects","e","__esModule","default","ownKeys","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","removeComponents","workspace","ids","force","remote","track","deleteFiles","logger","debugAndAddBreadCrumb","toString","bitIdsLatest","ComponentIdList","fromArray","map","id","changeVersion","LATEST_BIT_VERSION","localIds","remoteIds","partition","isLocal","BitError","join","remoteResult","isEmpty","removeRemote","localResult","removeLocal","RemovedLocalObjects","bitIds","groupedBitsByScope","groupArray","remotes","getScopeRemotes","scope","legacyScope","Remotes","getGlobalRemotes","shouldGoToCentralHub","http","Http","connect","CENTRAL_BIT_HUB_URL","CENTRAL_BIT_HUB_NAME","deleteViaCentralHub","idsAreLanes","context","enrichContextFromGlobal","removeP","key","resolvedRemote","resolve","idsStr","toStringWithoutVersion","deleteMany","Promise","all","consumer","modifiedComponents","nonModifiedComponents","newIds","pMapSeries","componentStatus","getComponentStatusById","newlyCreated","modified","err","Component","isComponentInvalidByErrorType","list","listWithInvalid","components","c","hasWithoutVersion","aspectIds","state","aspects","used","find","newId","includes","idsToRemove","componentsList","ComponentsList","newComponents","listNewComponents","idsToRemoveFromScope","idsToCleanFromWorkspace","componentsToRemove","loadComponents","removedComponentIds","missingComponents","dependentBits","removedFromLane","removeMany","deleteComponentsFiles","removedComponents","packageJson","removeComponentsFromDependencies","removeComponentsFromNodeModules","cleanFromBitMap","cleanFromConfig","uniqFromArray","debug","pathsToRemoveWithNulls","getNodeModulesPathOfComponent","pathsToRemove","compact","componentPath","fs","remove","toAbsolutePath"],"sources":["remove-components.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport groupArray from 'group-array';\nimport partition from 'lodash.partition';\nimport { Workspace } from '@teambit/workspace';\nimport { ComponentIdList } from '@teambit/component-id';\nimport { compact, isEmpty } from 'lodash';\nimport { CENTRAL_BIT_HUB_NAME, CENTRAL_BIT_HUB_URL, LATEST_BIT_VERSION } from '@teambit/legacy/dist/constants';\nimport { BitError } from '@teambit/bit-error';\nimport enrichContextFromGlobal from '@teambit/legacy/dist/hooks/utils/enrich-context-from-global';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { Http } from '@teambit/legacy/dist/scope/network/http';\nimport { Remotes } from '@teambit/legacy/dist/remotes';\nimport { getScopeRemotes } from '@teambit/legacy/dist/scope/scope-remotes';\nimport { deleteComponentsFiles } from './delete-component-files';\nimport ComponentsList from '@teambit/legacy/dist/consumer/component/components-list';\nimport Component from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport RemovedObjects from '@teambit/legacy/dist/scope/removed-components';\nimport pMapSeries from 'p-map-series';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport { getNodeModulesPathOfComponent } from '@teambit/pkg.modules.component-package-name';\nimport { RemovedLocalObjects } from './removed-local-objects';\n\nexport type RemoveComponentsResult = { localResult: RemovedLocalObjects; remoteResult: RemovedObjects[] };\n\n/**\n * Remove components local and remote\n * splits array of ids into local and remote and removes according to flags\n * @param {string[]} ids - list of remote component ids to delete\n * @param {boolean} force - delete component that are used by other components.\n * @param {boolean} remote - delete component from a remote scope\n * @param {boolean} track - keep tracking local staged components in bitmap.\n * @param {boolean} deleteFiles - delete local added files from fs.\n */\nexport async function removeComponents({\n workspace,\n ids,\n force,\n remote,\n track,\n deleteFiles,\n}: {\n workspace?: Workspace; // when remote is false, it's always set\n ids: ComponentIdList;\n force: boolean;\n remote: boolean;\n track: boolean;\n deleteFiles: boolean;\n}): Promise<RemoveComponentsResult> {\n logger.debugAndAddBreadCrumb('removeComponents', `{ids}. force: ${force.toString()}`, { ids: ids.toString() });\n // added this to remove support for remove only one version from a component\n const bitIdsLatest = ComponentIdList.fromArray(\n ids.map((id) => {\n return id.changeVersion(LATEST_BIT_VERSION);\n })\n );\n const [localIds, remoteIds] = partition(bitIdsLatest, (id) => id.isLocal());\n if (remote && localIds.length) {\n throw new BitError(\n `unable to remove the remote components: ${localIds.join(',')} as they don't contain a scope-name`\n );\n }\n const remoteResult = remote && !isEmpty(remoteIds) ? await removeRemote(workspace, remoteIds, force) : [];\n const localResult = !remote\n ? await removeLocal(workspace as Workspace, bitIdsLatest, force, track, deleteFiles)\n : new RemovedLocalObjects();\n\n return { localResult, remoteResult };\n}\n\n/**\n * Remove remote component from the remote\n * this method groups remote components by remote name and deletes remote components together\n * @param {ComponentIdList} bitIds - list of remote component ids to delete\n * @param {boolean} force - delete component that are used by other components.\n */\nasync function removeRemote(\n workspace: Workspace | undefined,\n bitIds: ComponentIdList,\n force: boolean\n): Promise<RemovedObjects[]> {\n const groupedBitsByScope = groupArray(bitIds, 'scope');\n const remotes = workspace ? await getScopeRemotes(workspace.scope.legacyScope) : await Remotes.getGlobalRemotes();\n const shouldGoToCentralHub = remotes.shouldGoToCentralHub(Object.keys(groupedBitsByScope));\n if (shouldGoToCentralHub) {\n const http = await Http.connect(CENTRAL_BIT_HUB_URL, CENTRAL_BIT_HUB_NAME);\n return http.deleteViaCentralHub(\n bitIds.map((id) => id.toString()),\n { force, idsAreLanes: false }\n );\n }\n const context = {};\n enrichContextFromGlobal(context);\n const removeP = Object.keys(groupedBitsByScope).map(async (key) => {\n const resolvedRemote = await remotes.resolve(key, workspace?.scope.legacyScope);\n const idsStr = groupedBitsByScope[key].map((id) => id.toStringWithoutVersion());\n return resolvedRemote.deleteMany(idsStr, force, context);\n });\n\n return Promise.all(removeP);\n}\n\n/**\n * removeLocal - remove local (imported, new staged components) from modules and bitmap according to flags\n * @param {ComponentIdList} bitIds - list of component ids to delete\n * @param {boolean} force - delete component that are used by other components.\n * @param {boolean} deleteFiles - delete component that are used by other components.\n */\nasync function removeLocal(\n workspace: Workspace,\n bitIds: ComponentIdList,\n force: boolean,\n track: boolean,\n deleteFiles: boolean\n): Promise<RemovedLocalObjects> {\n const consumer = workspace.consumer;\n // local remove in case user wants to delete tagged components\n const modifiedComponents = new ComponentIdList();\n const nonModifiedComponents = new ComponentIdList();\n if (!bitIds.length) return new RemovedLocalObjects();\n if (!force) {\n const newIds: string[] = [];\n await pMapSeries(bitIds, async (id) => {\n try {\n const componentStatus = await workspace.getComponentStatusById(id);\n if (componentStatus.newlyCreated) newIds.push(id.toStringWithoutVersion());\n if (componentStatus.modified) modifiedComponents.push(id);\n else nonModifiedComponents.push(id);\n } catch (err: any) {\n // if a component has an error, such as, missing main file, we do want to allow removing that component\n if (Component.isComponentInvalidByErrorType(err)) {\n nonModifiedComponents.push(id);\n } else {\n throw err;\n }\n }\n });\n if (newIds.length) {\n const list = await workspace.listWithInvalid();\n list.components.forEach((c) => {\n if (bitIds.hasWithoutVersion(c.id)) return; // it gets deleted anyway\n const aspectIds = c.state.aspects.ids;\n const used = newIds.find((newId) => aspectIds.includes(newId));\n if (used)\n throw new BitError(`Unable to remove ${c.id.toStringWithoutVersion()}.\nThis component is 1) an aspect 2) is used by other components, such as \"${c.id.toStringWithoutVersion()}\" 3) it's a new component so it can't be installed as a package.\nRemoving this component from the workspace will disrupt the functionality of other components that depend on it, and resolving these issues may not be straightforward.\nIf you understand the risks and wish to proceed with the removal, please use the --force flag.\n`);\n });\n }\n }\n const idsToRemove = force ? bitIds : nonModifiedComponents;\n const componentsList = new ComponentsList(consumer);\n const newComponents = (await componentsList.listNewComponents(false)) as ComponentIdList;\n const idsToRemoveFromScope = ComponentIdList.fromArray(\n idsToRemove.filter((id) => !newComponents.hasWithoutVersion(id))\n );\n const idsToCleanFromWorkspace = ComponentIdList.fromArray(\n idsToRemove.filter((id) => newComponents.hasWithoutVersion(id))\n );\n const { components: componentsToRemove } = await consumer.loadComponents(idsToRemove, false);\n const { removedComponentIds, missingComponents, dependentBits, removedFromLane } = await consumer.scope.removeMany(\n idsToRemoveFromScope,\n force,\n consumer\n );\n // otherwise, components should still be in .bitmap file\n idsToCleanFromWorkspace.push(...removedComponentIds);\n if (idsToCleanFromWorkspace.length) {\n if (deleteFiles) await deleteComponentsFiles(consumer, idsToCleanFromWorkspace);\n if (!track) {\n const removedComponents = componentsToRemove.filter((c) => idsToCleanFromWorkspace.hasWithoutVersion(c.id));\n await consumer.packageJson.removeComponentsFromDependencies(removedComponents);\n await removeComponentsFromNodeModules(consumer, removedComponents);\n await consumer.cleanFromBitMap(idsToCleanFromWorkspace);\n await workspace.cleanFromConfig(idsToCleanFromWorkspace);\n }\n }\n return new RemovedLocalObjects(\n ComponentIdList.uniqFromArray([...idsToCleanFromWorkspace, ...removedComponentIds]),\n missingComponents,\n modifiedComponents,\n dependentBits,\n removedFromLane\n );\n}\n\nexport async function removeComponentsFromNodeModules(consumer: Consumer, components: ConsumerComponent[]) {\n logger.debug(`removeComponentsFromNodeModules: ${components.map((c) => c.id.toString()).join(', ')}`);\n const pathsToRemoveWithNulls = components.map((c) => {\n return getNodeModulesPathOfComponent({ ...c, id: c.id });\n });\n const pathsToRemove = compact(pathsToRemoveWithNulls);\n logger.debug(`deleting the following paths: ${pathsToRemove.join('\\n')}`);\n return Promise.all(pathsToRemove.map((componentPath) => fs.remove(consumer.toAbsolutePath(componentPath))));\n}\n"],"mappings":"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","ignoreList":[]}
@@ -77,6 +77,7 @@ export declare class RemoveMain {
77
77
  * performant version of isRemoved() in case the component object is not available and loading it is expensive.
78
78
  */
79
79
  isRemovedByIdWithoutLoadingComponent(componentId: ComponentID): Promise<boolean>;
80
+ isEnvByIdWithoutLoadingComponent(componentId: ComponentID): Promise<boolean>;
80
81
  /**
81
82
  * get components that were soft-removed and tagged/snapped/merged but not exported yet.
82
83
  */
@@ -60,9 +60,9 @@ function _lodash() {
60
60
  };
61
61
  return data;
62
62
  }
63
- function _hasWildcard() {
64
- const data = _interopRequireDefault(require("@teambit/legacy/dist/utils/string/has-wildcard"));
65
- _hasWildcard = function () {
63
+ function _legacy() {
64
+ const data = require("@teambit/legacy.utils");
65
+ _legacy = function () {
66
66
  return data;
67
67
  };
68
68
  return data;
@@ -116,13 +116,6 @@ function _component() {
116
116
  };
117
117
  return data;
118
118
  }
119
- function _packageJsonUtils() {
120
- const data = require("@teambit/legacy/dist/consumer/component/package-json-utils");
121
- _packageJsonUtils = function () {
122
- return data;
123
- };
124
- return data;
125
- }
126
119
  function _deleteComponentFiles() {
127
120
  const data = require("./delete-component-files");
128
121
  _deleteComponentFiles = function () {
@@ -256,7 +249,7 @@ class RemoveMain {
256
249
  const allComponentsToMarkDeleted = await this.workspace.getMany(componentIds);
257
250
  const componentsToDeleteFromFs = range ? [] : allComponentsToMarkDeleted;
258
251
  const componentsIdsToDeleteFromFs = _componentId().ComponentIdList.fromArray(componentsToDeleteFromFs.map(c => c.id));
259
- await (0, _packageJsonUtils().removeComponentsFromNodeModules)(this.workspace.consumer, componentsToDeleteFromFs.map(c => c.state._consumer));
252
+ await (0, _removeComponents().removeComponentsFromNodeModules)(this.workspace.consumer, componentsToDeleteFromFs.map(c => c.state._consumer));
260
253
  // don't use `this.workspace.addSpecificComponentConfig`, if the component has component.json it will be deleted
261
254
  // during this removal along with the entire component dir.
262
255
  // in case this is range, the "removed" property is set to false. even when the range overlap the current version.
@@ -449,6 +442,11 @@ ${mainComps.map(c => c.id.toString()).join('\n')}`);
449
442
  const isRemoved = await modelComp.isRemoved(this.workspace.scope.legacyScope.objects, componentId.version);
450
443
  return Boolean(isRemoved);
451
444
  }
445
+ async isEnvByIdWithoutLoadingComponent(componentId) {
446
+ const versionObj = await this.workspace.scope.getBitObjectVersionById(componentId);
447
+ const envData = versionObj?.extensions.findCoreExtension('teambit.envs/envs');
448
+ return envData?.data.type === 'env';
449
+ }
452
450
 
453
451
  /**
454
452
  * get components that were soft-removed and tagged/snapped/merged but not exported yet.
@@ -463,14 +461,23 @@ ${mainComps.map(c => c.id.toString()).join('\n')}`);
463
461
  }
464
462
  async addRemovedDepIssue(component) {
465
463
  const dependencies = this.depResolver.getComponentDependencies(component);
466
- const removedWithUndefined = await Promise.all(dependencies.map(async dep => {
464
+ const removedDependencies = [];
465
+ let removedEnv;
466
+ await Promise.all(dependencies.map(async dep => {
467
467
  const isRemoved = await this.isRemovedByIdWithoutLoadingComponent(dep.componentId);
468
- if (isRemoved) return dep.componentId;
469
- return undefined;
468
+ if (!isRemoved) return;
469
+ const isEnv = await this.isEnvByIdWithoutLoadingComponent(dep.componentId);
470
+ if (isEnv) {
471
+ removedEnv = dep.componentId;
472
+ } else {
473
+ removedDependencies.push(dep.componentId);
474
+ }
470
475
  }));
471
- const removed = (0, _lodash().compact)(removedWithUndefined).map(id => id.toString());
472
- if (removed.length) {
473
- component.state.issues.getOrCreate(_componentIssues().IssuesClasses.RemovedDependencies).data = removed;
476
+ if (removedDependencies.length) {
477
+ component.state.issues.getOrCreate(_componentIssues().IssuesClasses.RemovedDependencies).data = removedDependencies.map(r => r.toString());
478
+ }
479
+ if (removedEnv) {
480
+ component.state.issues.getOrCreate(_componentIssues().IssuesClasses.RemovedEnv).data = removedEnv.toString();
474
481
  }
475
482
  }
476
483
  async getRemovedStagedFromMain() {
@@ -503,7 +510,7 @@ ${mainComps.map(c => c.id.toString()).join('\n')}`);
503
510
  return componentIds.map(id => id);
504
511
  }
505
512
  async getRemoteBitIdsToRemove(componentsPattern) {
506
- if ((0, _hasWildcard().default)(componentsPattern)) {
513
+ if ((0, _legacy().hasWildcard)(componentsPattern)) {
507
514
  return this.lister.getRemoteCompIdsByWildcards(componentsPattern);
508
515
  }
509
516
  return [_componentId().ComponentID.fromString(componentsPattern)];
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_semver","_interopRequireDefault","_logger","_workspace","_componentId","_exceptions","_importer","_lodash","_hasWildcard","_bitError","_dependencyResolver","_componentIssues","_issues","_pMapSeries","_noHeadNoVersion","_component","_packageJsonUtils","_deleteComponentFiles","_removeCmd","_removeComponents","_remove","_remove2","_recoverCmd","_deleteCmd","_scope","_lister","_chalk","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","BEFORE_REMOVE","RemoveMain","constructor","workspace","scope","logger","importer","depResolver","lister","remove","componentsPattern","force","remote","track","deleteFiles","setStatusLine","bitIds","getRemoteBitIdsToRemove","getLocalBitIdsToRemove","consumer","removeResults","removeComponents","ids","ComponentIdList","fromArray","onDestroy","removeLocallyByIds","reasonForRemoval","OutsideWorkspaceError","results","bitMap","write","markRemoveComps","componentIds","updateMain","range","allComponentsToMarkDeleted","getMany","componentsToDeleteFromFs","componentsIdsToDeleteFromFs","map","c","id","removeComponentsFromNodeModules","state","_consumer","config","removed","removeOnMain","forEach","compId","addComponentConfig","RemoveAspect","deleteComponentsFiles","deleteComps","opts","ConsumerNotFound","idsByPattern","newComps","filter","hasVersion","length","BitError","toString","join","currentLane","getCurrentLaneObject","isNew","Error","laneComp","toComponentIds","compIdsNotOnLane","hasWithoutVersion","chalk","bold","recover","compIdStr","options","bitMapEntry","components","find","compMap","fullName","toStringWithoutVersion","importComp","idStr","import","installNpmPackages","skipDependencyInstallation","writeConfigFiles","skipWriteConfigFiles","override","setAsRemovedFalse","addSpecificComponentConfig","compFromScope","get","rootDir","removeComponentConfig","comp","removeInfo","getRemoveInfo","resolveComponentId","idOnLane","getComponent","compIdWithPossibleVer","changeVersion","head","isDeleted","_legacy","getRemoteComponent","err","NoHeadNoVersion","throwForMainComponentWhenOnLane","laneComps","toBitIds","mainComps","component","headComponent","getHeadComponent","extensions","findExtension","isDeletedByRange","currentTag","getTag","Boolean","semver","satisfies","version","hash","headTag","headComp","undefined","isRemoved","isRemovedByIdWithoutLoadingComponent","componentId","bitmapEntry","getBitmapEntryIfExist","isRecovered","modelComp","getBitObjectModelComponent","legacyScope","objects","getRemovedStaged","isOnMain","getRemovedStagedFromMain","getRemovedStagedFromLane","addRemovedDependenciesIssues","pMapSeries","addRemovedDepIssue","dependencies","getComponentDependencies","removedWithUndefined","Promise","all","dep","compact","issues","getOrCreate","IssuesClasses","RemovedDependencies","stagedConfig","getStagedConfig","getAll","compConfig","laneIds","workspaceIds","listIds","laneCompIdsNotInWorkspace","wId","isEqualWithoutVersion","comps","staged","snapDistance","getSnapDistance","warn","name","isSourceAhead","hasWildcard","getRemoteCompIdsByWildcards","ComponentID","fromString","provider","cli","loggerMain","componentAspect","importerMain","createLogger","removeMain","registerAddComponentsIssues","bind","registerShowFragments","RemoveFragment","register","RemoveCmd","DeleteCmd","RecoverCmd","exports","WorkspaceAspect","ScopeAspect","CLIAspect","LoggerAspect","ComponentAspect","ImporterAspect","DependencyResolverAspect","IssuesAspect","ListerAspect","MainRuntime","addRuntime","_default"],"sources":["remove.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport semver from 'semver';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { WorkspaceAspect, OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport { ImporterAspect, ImporterMain } from '@teambit/importer';\nimport { compact } from 'lodash';\nimport hasWildcard from '@teambit/legacy/dist/utils/string/has-wildcard';\nimport { BitError } from '@teambit/bit-error';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { IssuesAspect, IssuesMain } from '@teambit/issues';\nimport pMapSeries from 'p-map-series';\nimport { NoHeadNoVersion } from '@teambit/legacy/dist/scope/exceptions/no-head-no-version';\nimport { ComponentAspect, Component, ComponentMain } from '@teambit/component';\nimport { removeComponentsFromNodeModules } from '@teambit/legacy/dist/consumer/component/package-json-utils';\nimport { deleteComponentsFiles } from './delete-component-files';\nimport { RemoveCmd } from './remove-cmd';\nimport { RemoveComponentsResult, removeComponents } from './remove-components';\nimport { RemoveAspect } from './remove.aspect';\nimport { RemoveFragment } from './remove.fragment';\nimport { RecoverCmd, RecoverOptions } from './recover-cmd';\nimport { DeleteCmd } from './delete-cmd';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { ListerAspect, ListerMain } from '@teambit/lister';\nimport chalk from 'chalk';\n\nconst BEFORE_REMOVE = 'removing components';\n\nexport type RemoveInfo = {\n removed: boolean;\n /**\n * whether to remove the component from default lane once merged\n */\n removeOnMain?: boolean;\n /**\n * Semver range to mark specific versions as deleted\n */\n range?: string;\n};\n\nexport type DeleteOpts = { updateMain?: boolean; range?: string };\n\nexport class RemoveMain {\n constructor(\n private workspace: Workspace,\n private scope: ScopeMain,\n public logger: Logger,\n private importer: ImporterMain,\n private depResolver: DependencyResolverMain,\n private lister: ListerMain\n ) {}\n\n async remove({\n componentsPattern,\n force = false,\n remote = false,\n track = false,\n deleteFiles = true,\n }: {\n componentsPattern: string;\n force?: boolean;\n remote?: boolean;\n track?: boolean;\n deleteFiles?: boolean;\n }): Promise<RemoveComponentsResult> {\n this.logger.setStatusLine(BEFORE_REMOVE);\n const bitIds = remote\n ? await this.getRemoteBitIdsToRemove(componentsPattern)\n : await this.getLocalBitIdsToRemove(componentsPattern);\n this.logger.setStatusLine(BEFORE_REMOVE); // again because the loader might changed when talking to the remote\n const consumer = this.workspace?.consumer;\n const removeResults = await removeComponents({\n workspace: this.workspace,\n ids: ComponentIdList.fromArray(bitIds),\n force,\n remote,\n track,\n deleteFiles,\n });\n if (consumer) await consumer.onDestroy('remove');\n return removeResults;\n }\n\n /**\n * remove components from the workspace.\n */\n async removeLocallyByIds(\n ids: ComponentID[],\n { force = false, reasonForRemoval }: { force?: boolean; reasonForRemoval?: string } = {}\n ) {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const results = await removeComponents({\n workspace: this.workspace,\n ids: ComponentIdList.fromArray(ids),\n force,\n remote: false,\n track: false,\n deleteFiles: true,\n });\n await this.workspace.bitMap.write(`remove (by ${reasonForRemoval || 'N/A'})`);\n\n return results;\n }\n\n private async markRemoveComps(componentIds: ComponentID[], { updateMain, range }: DeleteOpts): Promise<Component[]> {\n const allComponentsToMarkDeleted = await this.workspace.getMany(componentIds);\n\n const componentsToDeleteFromFs = range ? [] : allComponentsToMarkDeleted;\n const componentsIdsToDeleteFromFs = ComponentIdList.fromArray(componentsToDeleteFromFs.map((c) => c.id));\n await removeComponentsFromNodeModules(\n this.workspace.consumer,\n componentsToDeleteFromFs.map((c) => c.state._consumer)\n );\n // don't use `this.workspace.addSpecificComponentConfig`, if the component has component.json it will be deleted\n // during this removal along with the entire component dir.\n // in case this is range, the \"removed\" property is set to false. even when the range overlap the current version.\n // the reason is that if we set it to true, then, the component is considered as \"deleted\" for *all* versions.\n // remember that this config is always passed to the next version and if we set removed: true, it'll be copied\n // to the next version even when that version is not in the range.\n const config: RemoveInfo = { removed: !range };\n if (updateMain) config.removeOnMain = true;\n if (range) config.range = range;\n componentIds.forEach((compId) => this.workspace.bitMap.addComponentConfig(compId, RemoveAspect.id, config));\n await this.workspace.bitMap.write('delete');\n await deleteComponentsFiles(this.workspace.consumer, componentsIdsToDeleteFromFs);\n\n return componentsToDeleteFromFs;\n }\n\n async deleteComps(componentsPattern: string, opts: DeleteOpts = {}): Promise<Component[]> {\n if (!this.workspace) throw new ConsumerNotFound();\n const componentIds = await this.workspace.idsByPattern(componentsPattern);\n const newComps = componentIds.filter((id) => !id.hasVersion());\n if (newComps.length) {\n throw new BitError(\n `no need to delete the following new component(s), please remove them by \"bit remove\"\\n${newComps\n .map((id) => id.toString())\n .join('\\n')}`\n );\n }\n const currentLane = await this.workspace.getCurrentLaneObject();\n const { updateMain } = opts;\n if (!updateMain && currentLane?.isNew) {\n throw new Error(\n 'no need to delete components from an un-exported lane, you can remove them by running \"bit remove\"'\n );\n }\n if (currentLane && !updateMain && opts.range) {\n throw new BitError(`--range is not needed when deleting components from a lane, unless --update-main is used`);\n }\n if (currentLane && !updateMain) {\n const laneComp = currentLane.toComponentIds();\n const compIdsNotOnLane = componentIds.filter((id) => !laneComp.hasWithoutVersion(id));\n if (compIdsNotOnLane.length) {\n throw new BitError(\n `unable to delete the following component(s) because they are not part of the current lane.\n${chalk.bold(compIdsNotOnLane.map((id) => id.toString()).join('\\n'))}\nto simply remove them from the workspace, use \"bit remove\".\nto delete them eventually from main, use \"--update-main\" flag and make sure to remove all occurrences from the code.`\n );\n }\n }\n return this.markRemoveComps(componentIds, opts);\n }\n\n /**\n * recover a soft-removed component.\n * there are 4 different scenarios.\n * 1. a component was just soft-removed, it wasn't snapped yet. so it's now in .bitmap with the \"removed\" aspect entry.\n * 1.a. the component still exists in the local scope. no need to import. write it from there.\n * 1.b. the component doesn't exist in the local scope. import it.\n * 2. soft-removed and then snapped. It's not in .bitmap now.\n * 3. soft-removed, snapped, exported. it's not in .bitmap now.\n * 4. a soft-removed components was imported, so it's now in .bitmap without the \"removed\" aspect entry.\n * 5. workspace is empty. the soft-removed component is on the remote.\n * returns `true` if it was recovered. `false` if the component wasn't soft-removed, so nothing to recover from.\n */\n async recover(compIdStr: string, options: RecoverOptions): Promise<boolean> {\n if (!this.workspace) throw new ConsumerNotFound();\n const bitMapEntry = this.workspace.consumer.bitMap.components.find((compMap) => {\n return compMap.id.fullName === compIdStr || compMap.id.toStringWithoutVersion() === compIdStr;\n });\n const importComp = async (idStr: string) => {\n await this.importer.import({\n ids: [idStr],\n installNpmPackages: !options.skipDependencyInstallation,\n writeConfigFiles: !options.skipWriteConfigFiles,\n override: true,\n });\n };\n const setAsRemovedFalse = async (compId: ComponentID) => {\n await this.workspace.addSpecificComponentConfig(compId, RemoveAspect.id, { removed: false });\n await this.workspace.bitMap.write('recover');\n };\n if (bitMapEntry) {\n if (bitMapEntry.config?.[RemoveAspect.id]) {\n // case #1\n const compFromScope = await this.workspace.scope.get(bitMapEntry.id);\n if (compFromScope) {\n // in the case the component is in the scope, we prefer to write it from the scope rather than import it.\n // because in some cases the \"import\" throws an error, e.g. when the component is diverged.\n await this.workspace.write(compFromScope, bitMapEntry.rootDir);\n this.workspace.bitMap.removeComponentConfig(bitMapEntry.id, RemoveAspect.id, false);\n await this.workspace.bitMap.write('recover');\n } else {\n delete bitMapEntry.config?.[RemoveAspect.id];\n await importComp(bitMapEntry.id.toString());\n }\n return true;\n }\n // case #4\n const compId = bitMapEntry.id;\n const comp = await this.workspace.get(compId);\n const removeInfo = await this.getRemoveInfo(comp);\n if (!removeInfo.removed && !removeInfo.range) {\n return false;\n }\n await setAsRemovedFalse(compId);\n return true;\n }\n const compId = await this.workspace.scope.resolveComponentId(compIdStr);\n const currentLane = await this.workspace.getCurrentLaneObject();\n const idOnLane = currentLane?.getComponent(compId);\n const compIdWithPossibleVer = idOnLane ? compId.changeVersion(idOnLane.head.toString()) : compId;\n const compFromScope = await this.workspace.scope.get(compIdWithPossibleVer);\n if (compFromScope && (await this.isDeleted(compFromScope))) {\n // case #2 and #3\n await importComp(compIdWithPossibleVer._legacy.toString());\n await setAsRemovedFalse(compIdWithPossibleVer);\n return true;\n }\n // case #5\n let comp: Component | undefined;\n try {\n comp = await this.workspace.scope.getRemoteComponent(compId);\n } catch (err: any) {\n if (err instanceof NoHeadNoVersion) {\n throw new BitError(\n `unable to find the component ${compIdWithPossibleVer.toString()} in the current lane or main`\n );\n }\n throw err;\n }\n if (!(await this.isDeleted(comp))) {\n return false;\n }\n await importComp(compId._legacy.toString());\n await setAsRemovedFalse(compId);\n\n return true;\n }\n\n private async throwForMainComponentWhenOnLane(components: Component[]) {\n const currentLane = await this.workspace.getCurrentLaneObject();\n if (!currentLane) return; // user on main\n const laneComps = currentLane.toBitIds();\n const mainComps = components.filter((comp) => !laneComps.hasWithoutVersion(comp.id));\n if (mainComps.length) {\n throw new BitError(`the following components belong to main, they cannot be soft-removed when on a lane. consider removing them without --soft.\n${mainComps.map((c) => c.id.toString()).join('\\n')}`);\n }\n }\n\n async getRemoveInfo(component: Component): Promise<RemoveInfo> {\n const headComponent = await this.getHeadComponent(component);\n const data = headComponent.config.extensions.findExtension(RemoveAspect.id)?.config as RemoveInfo | undefined;\n\n const isDeletedByRange = () => {\n if (!data?.range) return false;\n const currentTag = component.getTag();\n return Boolean(currentTag && semver.satisfies(currentTag.version, data.range));\n };\n\n return {\n removed: data?.removed || isDeletedByRange() || false,\n range: data?.range,\n };\n }\n\n private async getHeadComponent(component: Component): Promise<Component> {\n if (\n component.id.version &&\n component.head &&\n component.id.version !== component.head?.hash &&\n component.id.version !== component.headTag?.version.version\n ) {\n const headComp = this.workspace // if workspace exits, prefer using the workspace as it may be modified\n ? await this.workspace.get(component.id.changeVersion(undefined))\n : await this.scope.get(component.id.changeVersion(component.head.hash));\n if (!headComp) throw new Error(`unable to get the head of ${component.id.toString()}`);\n return headComp;\n }\n return component;\n }\n\n /**\n * @deprecated use `isDeleted` instead.\n */\n async isRemoved(component: Component): Promise<boolean> {\n return this.isDeleted(component);\n }\n\n /**\n * whether a component is marked as deleted.\n */\n async isDeleted(component: Component): Promise<boolean> {\n const removeInfo = await this.getRemoveInfo(component);\n return removeInfo.removed;\n }\n\n /**\n * performant version of isRemoved() in case the component object is not available and loading it is expensive.\n */\n async isRemovedByIdWithoutLoadingComponent(componentId: ComponentID): Promise<boolean> {\n if (!componentId.hasVersion()) return false;\n const bitmapEntry = this.workspace.bitMap.getBitmapEntryIfExist(componentId);\n if (bitmapEntry && bitmapEntry.isRemoved()) return true;\n if (bitmapEntry && bitmapEntry.isRecovered()) return false;\n const modelComp = await this.workspace.scope.getBitObjectModelComponent(componentId.changeVersion(undefined));\n if (!modelComp) return false;\n const isRemoved = await modelComp.isRemoved(\n this.workspace.scope.legacyScope.objects,\n componentId.version as string\n );\n return Boolean(isRemoved);\n }\n\n /**\n * get components that were soft-removed and tagged/snapped/merged but not exported yet.\n */\n async getRemovedStaged(): Promise<ComponentID[]> {\n return this.workspace.isOnMain() ? this.getRemovedStagedFromMain() : this.getRemovedStagedFromLane();\n }\n\n async addRemovedDependenciesIssues(components: Component[]) {\n await pMapSeries(components, async (component) => {\n await this.addRemovedDepIssue(component);\n });\n }\n\n private async addRemovedDepIssue(component: Component) {\n const dependencies = this.depResolver.getComponentDependencies(component);\n const removedWithUndefined = await Promise.all(\n dependencies.map(async (dep) => {\n const isRemoved = await this.isRemovedByIdWithoutLoadingComponent(dep.componentId);\n if (isRemoved) return dep.componentId;\n return undefined;\n })\n );\n const removed = compact(removedWithUndefined).map((id) => id.toString());\n if (removed.length) {\n component.state.issues.getOrCreate(IssuesClasses.RemovedDependencies).data = removed;\n }\n }\n\n private async getRemovedStagedFromMain(): Promise<ComponentID[]> {\n const stagedConfig = await this.workspace.scope.getStagedConfig();\n return stagedConfig\n .getAll()\n .filter((compConfig) => compConfig.config?.[RemoveAspect.id]?.removed)\n .map((compConfig) => compConfig.id);\n }\n\n private async getRemovedStagedFromLane(): Promise<ComponentID[]> {\n const currentLane = await this.workspace.getCurrentLaneObject();\n if (!currentLane) return [];\n const laneIds = currentLane.toComponentIds();\n const workspaceIds = this.workspace.listIds();\n const laneCompIdsNotInWorkspace = laneIds.filter(\n (id) => !workspaceIds.find((wId) => wId.isEqualWithoutVersion(id))\n );\n if (!laneCompIdsNotInWorkspace.length) return [];\n const comps = await this.workspace.scope.getMany(laneCompIdsNotInWorkspace);\n const removed = comps.filter((c) => this.isDeleted(c));\n const staged = await Promise.all(\n removed.map(async (c) => {\n const snapDistance = await this.workspace.scope.getSnapDistance(c.id, false);\n if (snapDistance.err) {\n this.logger.warn(\n `getRemovedStagedFromLane unable to get snapDistance for ${c.id.toString()} due to ${snapDistance.err.name}`\n );\n // todo: not clear what should be done here. should we consider it as removed-staged or not.\n }\n if (snapDistance.isSourceAhead()) return c.id;\n return undefined;\n })\n );\n return compact(staged);\n }\n\n private async getLocalBitIdsToRemove(componentsPattern: string): Promise<ComponentID[]> {\n if (!this.workspace) throw new ConsumerNotFound();\n const componentIds = await this.workspace.idsByPattern(componentsPattern);\n return componentIds.map((id) => id);\n }\n\n private async getRemoteBitIdsToRemove(componentsPattern: string): Promise<ComponentID[]> {\n if (hasWildcard(componentsPattern)) {\n return this.lister.getRemoteCompIdsByWildcards(componentsPattern);\n }\n return [ComponentID.fromString(componentsPattern)];\n }\n\n static slots = [];\n static dependencies = [\n WorkspaceAspect,\n ScopeAspect,\n CLIAspect,\n LoggerAspect,\n ComponentAspect,\n ImporterAspect,\n DependencyResolverAspect,\n IssuesAspect,\n ListerAspect,\n ];\n static runtime = MainRuntime;\n\n static async provider([\n workspace,\n scope,\n cli,\n loggerMain,\n componentAspect,\n importerMain,\n depResolver,\n issues,\n lister,\n ]: [\n Workspace,\n ScopeMain,\n CLIMain,\n LoggerMain,\n ComponentMain,\n ImporterMain,\n DependencyResolverMain,\n IssuesMain,\n ListerMain\n ]) {\n const logger = loggerMain.createLogger(RemoveAspect.id);\n const removeMain = new RemoveMain(workspace, scope, logger, importerMain, depResolver, lister);\n issues.registerAddComponentsIssues(removeMain.addRemovedDependenciesIssues.bind(removeMain));\n componentAspect.registerShowFragments([new RemoveFragment(removeMain)]);\n cli.register(\n new RemoveCmd(removeMain, workspace),\n new DeleteCmd(removeMain, workspace),\n new RecoverCmd(removeMain)\n );\n return removeMain;\n }\n}\n\nRemoveAspect.addRuntime(RemoveMain);\n\nexport default RemoveMain;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_cli","data","require","_semver","_interopRequireDefault","_logger","_workspace","_componentId","_exceptions","_importer","_lodash","_legacy","_bitError","_dependencyResolver","_componentIssues","_issues","_pMapSeries","_noHeadNoVersion","_component","_deleteComponentFiles","_removeCmd","_removeComponents","_remove","_remove2","_recoverCmd","_deleteCmd","_scope","_lister","_chalk","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","BEFORE_REMOVE","RemoveMain","constructor","workspace","scope","logger","importer","depResolver","lister","remove","componentsPattern","force","remote","track","deleteFiles","setStatusLine","bitIds","getRemoteBitIdsToRemove","getLocalBitIdsToRemove","consumer","removeResults","removeComponents","ids","ComponentIdList","fromArray","onDestroy","removeLocallyByIds","reasonForRemoval","OutsideWorkspaceError","results","bitMap","write","markRemoveComps","componentIds","updateMain","range","allComponentsToMarkDeleted","getMany","componentsToDeleteFromFs","componentsIdsToDeleteFromFs","map","c","id","removeComponentsFromNodeModules","state","_consumer","config","removed","removeOnMain","forEach","compId","addComponentConfig","RemoveAspect","deleteComponentsFiles","deleteComps","opts","ConsumerNotFound","idsByPattern","newComps","filter","hasVersion","length","BitError","toString","join","currentLane","getCurrentLaneObject","isNew","Error","laneComp","toComponentIds","compIdsNotOnLane","hasWithoutVersion","chalk","bold","recover","compIdStr","options","bitMapEntry","components","find","compMap","fullName","toStringWithoutVersion","importComp","idStr","import","installNpmPackages","skipDependencyInstallation","writeConfigFiles","skipWriteConfigFiles","override","setAsRemovedFalse","addSpecificComponentConfig","compFromScope","get","rootDir","removeComponentConfig","comp","removeInfo","getRemoveInfo","resolveComponentId","idOnLane","getComponent","compIdWithPossibleVer","changeVersion","head","isDeleted","getRemoteComponent","err","NoHeadNoVersion","throwForMainComponentWhenOnLane","laneComps","toBitIds","mainComps","component","headComponent","getHeadComponent","extensions","findExtension","isDeletedByRange","currentTag","getTag","Boolean","semver","satisfies","version","hash","headTag","headComp","undefined","isRemoved","isRemovedByIdWithoutLoadingComponent","componentId","bitmapEntry","getBitmapEntryIfExist","isRecovered","modelComp","getBitObjectModelComponent","legacyScope","objects","isEnvByIdWithoutLoadingComponent","versionObj","getBitObjectVersionById","envData","findCoreExtension","type","getRemovedStaged","isOnMain","getRemovedStagedFromMain","getRemovedStagedFromLane","addRemovedDependenciesIssues","pMapSeries","addRemovedDepIssue","dependencies","getComponentDependencies","removedDependencies","removedEnv","Promise","all","dep","isEnv","push","issues","getOrCreate","IssuesClasses","RemovedDependencies","RemovedEnv","stagedConfig","getStagedConfig","getAll","compConfig","laneIds","workspaceIds","listIds","laneCompIdsNotInWorkspace","wId","isEqualWithoutVersion","comps","staged","snapDistance","getSnapDistance","warn","name","isSourceAhead","compact","hasWildcard","getRemoteCompIdsByWildcards","ComponentID","fromString","provider","cli","loggerMain","componentAspect","importerMain","createLogger","removeMain","registerAddComponentsIssues","bind","registerShowFragments","RemoveFragment","register","RemoveCmd","DeleteCmd","RecoverCmd","exports","WorkspaceAspect","ScopeAspect","CLIAspect","LoggerAspect","ComponentAspect","ImporterAspect","DependencyResolverAspect","IssuesAspect","ListerAspect","MainRuntime","addRuntime","_default"],"sources":["remove.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport semver from 'semver';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { WorkspaceAspect, OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport { ImporterAspect, ImporterMain } from '@teambit/importer';\nimport { compact } from 'lodash';\nimport { hasWildcard } from '@teambit/legacy.utils';\nimport { BitError } from '@teambit/bit-error';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { IssuesAspect, IssuesMain } from '@teambit/issues';\nimport pMapSeries from 'p-map-series';\nimport { NoHeadNoVersion } from '@teambit/legacy/dist/scope/exceptions/no-head-no-version';\nimport { ComponentAspect, Component, ComponentMain } from '@teambit/component';\nimport { deleteComponentsFiles } from './delete-component-files';\nimport { RemoveCmd } from './remove-cmd';\nimport { RemoveComponentsResult, removeComponents, removeComponentsFromNodeModules } from './remove-components';\nimport { RemoveAspect } from './remove.aspect';\nimport { RemoveFragment } from './remove.fragment';\nimport { RecoverCmd, RecoverOptions } from './recover-cmd';\nimport { DeleteCmd } from './delete-cmd';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { ListerAspect, ListerMain } from '@teambit/lister';\nimport chalk from 'chalk';\n\nconst BEFORE_REMOVE = 'removing components';\n\nexport type RemoveInfo = {\n removed: boolean;\n /**\n * whether to remove the component from default lane once merged\n */\n removeOnMain?: boolean;\n /**\n * Semver range to mark specific versions as deleted\n */\n range?: string;\n};\n\nexport type DeleteOpts = { updateMain?: boolean; range?: string };\n\nexport class RemoveMain {\n constructor(\n private workspace: Workspace,\n private scope: ScopeMain,\n public logger: Logger,\n private importer: ImporterMain,\n private depResolver: DependencyResolverMain,\n private lister: ListerMain\n ) {}\n\n async remove({\n componentsPattern,\n force = false,\n remote = false,\n track = false,\n deleteFiles = true,\n }: {\n componentsPattern: string;\n force?: boolean;\n remote?: boolean;\n track?: boolean;\n deleteFiles?: boolean;\n }): Promise<RemoveComponentsResult> {\n this.logger.setStatusLine(BEFORE_REMOVE);\n const bitIds = remote\n ? await this.getRemoteBitIdsToRemove(componentsPattern)\n : await this.getLocalBitIdsToRemove(componentsPattern);\n this.logger.setStatusLine(BEFORE_REMOVE); // again because the loader might changed when talking to the remote\n const consumer = this.workspace?.consumer;\n const removeResults = await removeComponents({\n workspace: this.workspace,\n ids: ComponentIdList.fromArray(bitIds),\n force,\n remote,\n track,\n deleteFiles,\n });\n if (consumer) await consumer.onDestroy('remove');\n return removeResults;\n }\n\n /**\n * remove components from the workspace.\n */\n async removeLocallyByIds(\n ids: ComponentID[],\n { force = false, reasonForRemoval }: { force?: boolean; reasonForRemoval?: string } = {}\n ) {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const results = await removeComponents({\n workspace: this.workspace,\n ids: ComponentIdList.fromArray(ids),\n force,\n remote: false,\n track: false,\n deleteFiles: true,\n });\n await this.workspace.bitMap.write(`remove (by ${reasonForRemoval || 'N/A'})`);\n\n return results;\n }\n\n private async markRemoveComps(componentIds: ComponentID[], { updateMain, range }: DeleteOpts): Promise<Component[]> {\n const allComponentsToMarkDeleted = await this.workspace.getMany(componentIds);\n\n const componentsToDeleteFromFs = range ? [] : allComponentsToMarkDeleted;\n const componentsIdsToDeleteFromFs = ComponentIdList.fromArray(componentsToDeleteFromFs.map((c) => c.id));\n await removeComponentsFromNodeModules(\n this.workspace.consumer,\n componentsToDeleteFromFs.map((c) => c.state._consumer)\n );\n // don't use `this.workspace.addSpecificComponentConfig`, if the component has component.json it will be deleted\n // during this removal along with the entire component dir.\n // in case this is range, the \"removed\" property is set to false. even when the range overlap the current version.\n // the reason is that if we set it to true, then, the component is considered as \"deleted\" for *all* versions.\n // remember that this config is always passed to the next version and if we set removed: true, it'll be copied\n // to the next version even when that version is not in the range.\n const config: RemoveInfo = { removed: !range };\n if (updateMain) config.removeOnMain = true;\n if (range) config.range = range;\n componentIds.forEach((compId) => this.workspace.bitMap.addComponentConfig(compId, RemoveAspect.id, config));\n await this.workspace.bitMap.write('delete');\n await deleteComponentsFiles(this.workspace.consumer, componentsIdsToDeleteFromFs);\n\n return componentsToDeleteFromFs;\n }\n\n async deleteComps(componentsPattern: string, opts: DeleteOpts = {}): Promise<Component[]> {\n if (!this.workspace) throw new ConsumerNotFound();\n const componentIds = await this.workspace.idsByPattern(componentsPattern);\n const newComps = componentIds.filter((id) => !id.hasVersion());\n if (newComps.length) {\n throw new BitError(\n `no need to delete the following new component(s), please remove them by \"bit remove\"\\n${newComps\n .map((id) => id.toString())\n .join('\\n')}`\n );\n }\n const currentLane = await this.workspace.getCurrentLaneObject();\n const { updateMain } = opts;\n if (!updateMain && currentLane?.isNew) {\n throw new Error(\n 'no need to delete components from an un-exported lane, you can remove them by running \"bit remove\"'\n );\n }\n if (currentLane && !updateMain && opts.range) {\n throw new BitError(`--range is not needed when deleting components from a lane, unless --update-main is used`);\n }\n if (currentLane && !updateMain) {\n const laneComp = currentLane.toComponentIds();\n const compIdsNotOnLane = componentIds.filter((id) => !laneComp.hasWithoutVersion(id));\n if (compIdsNotOnLane.length) {\n throw new BitError(\n `unable to delete the following component(s) because they are not part of the current lane.\n${chalk.bold(compIdsNotOnLane.map((id) => id.toString()).join('\\n'))}\nto simply remove them from the workspace, use \"bit remove\".\nto delete them eventually from main, use \"--update-main\" flag and make sure to remove all occurrences from the code.`\n );\n }\n }\n return this.markRemoveComps(componentIds, opts);\n }\n\n /**\n * recover a soft-removed component.\n * there are 4 different scenarios.\n * 1. a component was just soft-removed, it wasn't snapped yet. so it's now in .bitmap with the \"removed\" aspect entry.\n * 1.a. the component still exists in the local scope. no need to import. write it from there.\n * 1.b. the component doesn't exist in the local scope. import it.\n * 2. soft-removed and then snapped. It's not in .bitmap now.\n * 3. soft-removed, snapped, exported. it's not in .bitmap now.\n * 4. a soft-removed components was imported, so it's now in .bitmap without the \"removed\" aspect entry.\n * 5. workspace is empty. the soft-removed component is on the remote.\n * returns `true` if it was recovered. `false` if the component wasn't soft-removed, so nothing to recover from.\n */\n async recover(compIdStr: string, options: RecoverOptions): Promise<boolean> {\n if (!this.workspace) throw new ConsumerNotFound();\n const bitMapEntry = this.workspace.consumer.bitMap.components.find((compMap) => {\n return compMap.id.fullName === compIdStr || compMap.id.toStringWithoutVersion() === compIdStr;\n });\n const importComp = async (idStr: string) => {\n await this.importer.import({\n ids: [idStr],\n installNpmPackages: !options.skipDependencyInstallation,\n writeConfigFiles: !options.skipWriteConfigFiles,\n override: true,\n });\n };\n const setAsRemovedFalse = async (compId: ComponentID) => {\n await this.workspace.addSpecificComponentConfig(compId, RemoveAspect.id, { removed: false });\n await this.workspace.bitMap.write('recover');\n };\n if (bitMapEntry) {\n if (bitMapEntry.config?.[RemoveAspect.id]) {\n // case #1\n const compFromScope = await this.workspace.scope.get(bitMapEntry.id);\n if (compFromScope) {\n // in the case the component is in the scope, we prefer to write it from the scope rather than import it.\n // because in some cases the \"import\" throws an error, e.g. when the component is diverged.\n await this.workspace.write(compFromScope, bitMapEntry.rootDir);\n this.workspace.bitMap.removeComponentConfig(bitMapEntry.id, RemoveAspect.id, false);\n await this.workspace.bitMap.write('recover');\n } else {\n delete bitMapEntry.config?.[RemoveAspect.id];\n await importComp(bitMapEntry.id.toString());\n }\n return true;\n }\n // case #4\n const compId = bitMapEntry.id;\n const comp = await this.workspace.get(compId);\n const removeInfo = await this.getRemoveInfo(comp);\n if (!removeInfo.removed && !removeInfo.range) {\n return false;\n }\n await setAsRemovedFalse(compId);\n return true;\n }\n const compId = await this.workspace.scope.resolveComponentId(compIdStr);\n const currentLane = await this.workspace.getCurrentLaneObject();\n const idOnLane = currentLane?.getComponent(compId);\n const compIdWithPossibleVer = idOnLane ? compId.changeVersion(idOnLane.head.toString()) : compId;\n const compFromScope = await this.workspace.scope.get(compIdWithPossibleVer);\n if (compFromScope && (await this.isDeleted(compFromScope))) {\n // case #2 and #3\n await importComp(compIdWithPossibleVer._legacy.toString());\n await setAsRemovedFalse(compIdWithPossibleVer);\n return true;\n }\n // case #5\n let comp: Component | undefined;\n try {\n comp = await this.workspace.scope.getRemoteComponent(compId);\n } catch (err: any) {\n if (err instanceof NoHeadNoVersion) {\n throw new BitError(\n `unable to find the component ${compIdWithPossibleVer.toString()} in the current lane or main`\n );\n }\n throw err;\n }\n if (!(await this.isDeleted(comp))) {\n return false;\n }\n await importComp(compId._legacy.toString());\n await setAsRemovedFalse(compId);\n\n return true;\n }\n\n private async throwForMainComponentWhenOnLane(components: Component[]) {\n const currentLane = await this.workspace.getCurrentLaneObject();\n if (!currentLane) return; // user on main\n const laneComps = currentLane.toBitIds();\n const mainComps = components.filter((comp) => !laneComps.hasWithoutVersion(comp.id));\n if (mainComps.length) {\n throw new BitError(`the following components belong to main, they cannot be soft-removed when on a lane. consider removing them without --soft.\n${mainComps.map((c) => c.id.toString()).join('\\n')}`);\n }\n }\n\n async getRemoveInfo(component: Component): Promise<RemoveInfo> {\n const headComponent = await this.getHeadComponent(component);\n const data = headComponent.config.extensions.findExtension(RemoveAspect.id)?.config as RemoveInfo | undefined;\n\n const isDeletedByRange = () => {\n if (!data?.range) return false;\n const currentTag = component.getTag();\n return Boolean(currentTag && semver.satisfies(currentTag.version, data.range));\n };\n\n return {\n removed: data?.removed || isDeletedByRange() || false,\n range: data?.range,\n };\n }\n\n private async getHeadComponent(component: Component): Promise<Component> {\n if (\n component.id.version &&\n component.head &&\n component.id.version !== component.head?.hash &&\n component.id.version !== component.headTag?.version.version\n ) {\n const headComp = this.workspace // if workspace exits, prefer using the workspace as it may be modified\n ? await this.workspace.get(component.id.changeVersion(undefined))\n : await this.scope.get(component.id.changeVersion(component.head.hash));\n if (!headComp) throw new Error(`unable to get the head of ${component.id.toString()}`);\n return headComp;\n }\n return component;\n }\n\n /**\n * @deprecated use `isDeleted` instead.\n */\n async isRemoved(component: Component): Promise<boolean> {\n return this.isDeleted(component);\n }\n\n /**\n * whether a component is marked as deleted.\n */\n async isDeleted(component: Component): Promise<boolean> {\n const removeInfo = await this.getRemoveInfo(component);\n return removeInfo.removed;\n }\n\n /**\n * performant version of isRemoved() in case the component object is not available and loading it is expensive.\n */\n async isRemovedByIdWithoutLoadingComponent(componentId: ComponentID): Promise<boolean> {\n if (!componentId.hasVersion()) return false;\n const bitmapEntry = this.workspace.bitMap.getBitmapEntryIfExist(componentId);\n if (bitmapEntry && bitmapEntry.isRemoved()) return true;\n if (bitmapEntry && bitmapEntry.isRecovered()) return false;\n const modelComp = await this.workspace.scope.getBitObjectModelComponent(componentId.changeVersion(undefined));\n if (!modelComp) return false;\n const isRemoved = await modelComp.isRemoved(\n this.workspace.scope.legacyScope.objects,\n componentId.version as string\n );\n return Boolean(isRemoved);\n }\n\n async isEnvByIdWithoutLoadingComponent(componentId: ComponentID): Promise<boolean> {\n const versionObj = await this.workspace.scope.getBitObjectVersionById(componentId);\n const envData = versionObj?.extensions.findCoreExtension('teambit.envs/envs');\n return envData?.data.type === 'env';\n }\n\n /**\n * get components that were soft-removed and tagged/snapped/merged but not exported yet.\n */\n async getRemovedStaged(): Promise<ComponentID[]> {\n return this.workspace.isOnMain() ? this.getRemovedStagedFromMain() : this.getRemovedStagedFromLane();\n }\n\n async addRemovedDependenciesIssues(components: Component[]) {\n await pMapSeries(components, async (component) => {\n await this.addRemovedDepIssue(component);\n });\n }\n\n private async addRemovedDepIssue(component: Component) {\n const dependencies = this.depResolver.getComponentDependencies(component);\n const removedDependencies: ComponentID[] = [];\n let removedEnv: ComponentID | undefined;\n await Promise.all(\n dependencies.map(async (dep) => {\n const isRemoved = await this.isRemovedByIdWithoutLoadingComponent(dep.componentId);\n if (!isRemoved) return;\n const isEnv = await this.isEnvByIdWithoutLoadingComponent(dep.componentId);\n if (isEnv) {\n removedEnv = dep.componentId;\n } else {\n removedDependencies.push(dep.componentId);\n }\n })\n );\n if (removedDependencies.length) {\n component.state.issues.getOrCreate(IssuesClasses.RemovedDependencies).data = removedDependencies.map((r) =>\n r.toString()\n );\n }\n if (removedEnv) {\n component.state.issues.getOrCreate(IssuesClasses.RemovedEnv).data = removedEnv.toString();\n }\n }\n\n private async getRemovedStagedFromMain(): Promise<ComponentID[]> {\n const stagedConfig = await this.workspace.scope.getStagedConfig();\n return stagedConfig\n .getAll()\n .filter((compConfig) => compConfig.config?.[RemoveAspect.id]?.removed)\n .map((compConfig) => compConfig.id);\n }\n\n private async getRemovedStagedFromLane(): Promise<ComponentID[]> {\n const currentLane = await this.workspace.getCurrentLaneObject();\n if (!currentLane) return [];\n const laneIds = currentLane.toComponentIds();\n const workspaceIds = this.workspace.listIds();\n const laneCompIdsNotInWorkspace = laneIds.filter(\n (id) => !workspaceIds.find((wId) => wId.isEqualWithoutVersion(id))\n );\n if (!laneCompIdsNotInWorkspace.length) return [];\n const comps = await this.workspace.scope.getMany(laneCompIdsNotInWorkspace);\n const removed = comps.filter((c) => this.isDeleted(c));\n const staged = await Promise.all(\n removed.map(async (c) => {\n const snapDistance = await this.workspace.scope.getSnapDistance(c.id, false);\n if (snapDistance.err) {\n this.logger.warn(\n `getRemovedStagedFromLane unable to get snapDistance for ${c.id.toString()} due to ${snapDistance.err.name}`\n );\n // todo: not clear what should be done here. should we consider it as removed-staged or not.\n }\n if (snapDistance.isSourceAhead()) return c.id;\n return undefined;\n })\n );\n return compact(staged);\n }\n\n private async getLocalBitIdsToRemove(componentsPattern: string): Promise<ComponentID[]> {\n if (!this.workspace) throw new ConsumerNotFound();\n const componentIds = await this.workspace.idsByPattern(componentsPattern);\n return componentIds.map((id) => id);\n }\n\n private async getRemoteBitIdsToRemove(componentsPattern: string): Promise<ComponentID[]> {\n if (hasWildcard(componentsPattern)) {\n return this.lister.getRemoteCompIdsByWildcards(componentsPattern);\n }\n return [ComponentID.fromString(componentsPattern)];\n }\n\n static slots = [];\n static dependencies = [\n WorkspaceAspect,\n ScopeAspect,\n CLIAspect,\n LoggerAspect,\n ComponentAspect,\n ImporterAspect,\n DependencyResolverAspect,\n IssuesAspect,\n ListerAspect,\n ];\n static runtime = MainRuntime;\n\n static async provider([\n workspace,\n scope,\n cli,\n loggerMain,\n componentAspect,\n importerMain,\n depResolver,\n issues,\n lister,\n ]: [\n Workspace,\n ScopeMain,\n CLIMain,\n LoggerMain,\n ComponentMain,\n ImporterMain,\n DependencyResolverMain,\n IssuesMain,\n ListerMain\n ]) {\n const logger = loggerMain.createLogger(RemoveAspect.id);\n const removeMain = new RemoveMain(workspace, scope, logger, importerMain, depResolver, lister);\n issues.registerAddComponentsIssues(removeMain.addRemovedDependenciesIssues.bind(removeMain));\n componentAspect.registerShowFragments([new RemoveFragment(removeMain)]);\n cli.register(\n new RemoveCmd(removeMain, workspace),\n new DeleteCmd(removeMain, workspace),\n new RecoverCmd(removeMain)\n );\n return removeMain;\n }\n}\n\nRemoveAspect.addRuntime(RemoveMain);\n\nexport default RemoveMain;\n"],"mappings":";;;;;;AAAA,SAAAA,KAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,QAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,WAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,UAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,aAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,YAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,YAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,WAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,UAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,SAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,QAAA;EAAA,MAAAT,IAAA,GAAAC,OAAA;EAAAQ,OAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,QAAA;EAAA,MAAAV,IAAA,GAAAC,OAAA;EAAAS,OAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,UAAA;EAAA,MAAAX,IAAA,GAAAC,OAAA;EAAAU,SAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,oBAAA;EAAA,MAAAZ,IAAA,GAAAC,OAAA;EAAAW,mBAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,iBAAA;EAAA,MAAAb,IAAA,GAAAC,OAAA;EAAAY,gBAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,QAAA;EAAA,MAAAd,IAAA,GAAAC,OAAA;EAAAa,OAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAe,YAAA;EAAA,MAAAf,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAc,WAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgB,iBAAA;EAAA,MAAAhB,IAAA,GAAAC,OAAA;EAAAe,gBAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiB,WAAA;EAAA,MAAAjB,IAAA,GAAAC,OAAA;EAAAgB,UAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,sBAAA;EAAA,MAAAlB,IAAA,GAAAC,OAAA;EAAAiB,qBAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAmB,WAAA;EAAA,MAAAnB,IAAA,GAAAC,OAAA;EAAAkB,UAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAoB,kBAAA;EAAA,MAAApB,IAAA,GAAAC,OAAA;EAAAmB,iBAAA,YAAAA,CAAA;IAAA,OAAApB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAqB,QAAA;EAAA,MAAArB,IAAA,GAAAC,OAAA;EAAAoB,OAAA,YAAAA,CAAA;IAAA,OAAArB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAsB,SAAA;EAAA,MAAAtB,IAAA,GAAAC,OAAA;EAAAqB,QAAA,YAAAA,CAAA;IAAA,OAAAtB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAuB,YAAA;EAAA,MAAAvB,IAAA,GAAAC,OAAA;EAAAsB,WAAA,YAAAA,CAAA;IAAA,OAAAvB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAwB,WAAA;EAAA,MAAAxB,IAAA,GAAAC,OAAA;EAAAuB,UAAA,YAAAA,CAAA;IAAA,OAAAxB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAyB,OAAA;EAAA,MAAAzB,IAAA,GAAAC,OAAA;EAAAwB,MAAA,YAAAA,CAAA;IAAA,OAAAzB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA0B,QAAA;EAAA,MAAA1B,IAAA,GAAAC,OAAA;EAAAyB,OAAA,YAAAA,CAAA;IAAA,OAAA1B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA2B,OAAA;EAAA,MAAA3B,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAA0B,MAAA,YAAAA,CAAA;IAAA,OAAA3B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0B,SAAAG,uBAAAyB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAE1B,MAAMgB,aAAa,GAAG,qBAAqB;AAgBpC,MAAMC,UAAU,CAAC;EACtBC,WAAWA,CACDC,SAAoB,EACpBC,KAAgB,EACjBC,MAAc,EACbC,QAAsB,EACtBC,WAAmC,EACnCC,MAAkB,EAC1B;IAAA,KANQL,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,KAAgB,GAAhBA,KAAgB;IAAA,KACjBC,MAAc,GAAdA,MAAc;IAAA,KACbC,QAAsB,GAAtBA,QAAsB;IAAA,KACtBC,WAAmC,GAAnCA,WAAmC;IAAA,KACnCC,MAAkB,GAAlBA,MAAkB;EACzB;EAEH,MAAMC,MAAMA,CAAC;IACXC,iBAAiB;IACjBC,KAAK,GAAG,KAAK;IACbC,MAAM,GAAG,KAAK;IACdC,KAAK,GAAG,KAAK;IACbC,WAAW,GAAG;EAOhB,CAAC,EAAmC;IAClC,IAAI,CAACT,MAAM,CAACU,aAAa,CAACf,aAAa,CAAC;IACxC,MAAMgB,MAAM,GAAGJ,MAAM,GACjB,MAAM,IAAI,CAACK,uBAAuB,CAACP,iBAAiB,CAAC,GACrD,MAAM,IAAI,CAACQ,sBAAsB,CAACR,iBAAiB,CAAC;IACxD,IAAI,CAACL,MAAM,CAACU,aAAa,CAACf,aAAa,CAAC,CAAC,CAAC;IAC1C,MAAMmB,QAAQ,GAAG,IAAI,CAAChB,SAAS,EAAEgB,QAAQ;IACzC,MAAMC,aAAa,GAAG,MAAM,IAAAC,oCAAgB,EAAC;MAC3ClB,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBmB,GAAG,EAAEC,8BAAe,CAACC,SAAS,CAACR,MAAM,CAAC;MACtCL,KAAK;MACLC,MAAM;MACNC,KAAK;MACLC;IACF,CAAC,CAAC;IACF,IAAIK,QAAQ,EAAE,MAAMA,QAAQ,CAACM,SAAS,CAAC,QAAQ,CAAC;IAChD,OAAOL,aAAa;EACtB;;EAEA;AACF;AACA;EACE,MAAMM,kBAAkBA,CACtBJ,GAAkB,EAClB;IAAEX,KAAK,GAAG,KAAK;IAAEgB;EAAiE,CAAC,GAAG,CAAC,CAAC,EACxF;IACA,IAAI,CAAC,IAAI,CAACxB,SAAS,EAAE,MAAM,KAAIyB,kCAAqB,EAAC,CAAC;IACtD,MAAMC,OAAO,GAAG,MAAM,IAAAR,oCAAgB,EAAC;MACrClB,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBmB,GAAG,EAAEC,8BAAe,CAACC,SAAS,CAACF,GAAG,CAAC;MACnCX,KAAK;MACLC,MAAM,EAAE,KAAK;MACbC,KAAK,EAAE,KAAK;MACZC,WAAW,EAAE;IACf,CAAC,CAAC;IACF,MAAM,IAAI,CAACX,SAAS,CAAC2B,MAAM,CAACC,KAAK,CAAC,cAAcJ,gBAAgB,IAAI,KAAK,GAAG,CAAC;IAE7E,OAAOE,OAAO;EAChB;EAEA,MAAcG,eAAeA,CAACC,YAA2B,EAAE;IAAEC,UAAU;IAAEC;EAAkB,CAAC,EAAwB;IAClH,MAAMC,0BAA0B,GAAG,MAAM,IAAI,CAACjC,SAAS,CAACkC,OAAO,CAACJ,YAAY,CAAC;IAE7E,MAAMK,wBAAwB,GAAGH,KAAK,GAAG,EAAE,GAAGC,0BAA0B;IACxE,MAAMG,2BAA2B,GAAGhB,8BAAe,CAACC,SAAS,CAACc,wBAAwB,CAACE,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,CAAC,CAAC;IACxG,MAAM,IAAAC,mDAA+B,EACnC,IAAI,CAACxC,SAAS,CAACgB,QAAQ,EACvBmB,wBAAwB,CAACE,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACG,KAAK,CAACC,SAAS,CACvD,CAAC;IACD;IACA;IACA;IACA;IACA;IACA;IACA,MAAMC,MAAkB,GAAG;MAAEC,OAAO,EAAE,CAACZ;IAAM,CAAC;IAC9C,IAAID,UAAU,EAAEY,MAAM,CAACE,YAAY,GAAG,IAAI;IAC1C,IAAIb,KAAK,EAAEW,MAAM,CAACX,KAAK,GAAGA,KAAK;IAC/BF,YAAY,CAACgB,OAAO,CAAEC,MAAM,IAAK,IAAI,CAAC/C,SAAS,CAAC2B,MAAM,CAACqB,kBAAkB,CAACD,MAAM,EAAEE,sBAAY,CAACV,EAAE,EAAEI,MAAM,CAAC,CAAC;IAC3G,MAAM,IAAI,CAAC3C,SAAS,CAAC2B,MAAM,CAACC,KAAK,CAAC,QAAQ,CAAC;IAC3C,MAAM,IAAAsB,6CAAqB,EAAC,IAAI,CAAClD,SAAS,CAACgB,QAAQ,EAAEoB,2BAA2B,CAAC;IAEjF,OAAOD,wBAAwB;EACjC;EAEA,MAAMgB,WAAWA,CAAC5C,iBAAyB,EAAE6C,IAAgB,GAAG,CAAC,CAAC,EAAwB;IACxF,IAAI,CAAC,IAAI,CAACpD,SAAS,EAAE,MAAM,KAAIqD,8BAAgB,EAAC,CAAC;IACjD,MAAMvB,YAAY,GAAG,MAAM,IAAI,CAAC9B,SAAS,CAACsD,YAAY,CAAC/C,iBAAiB,CAAC;IACzE,MAAMgD,QAAQ,GAAGzB,YAAY,CAAC0B,MAAM,CAAEjB,EAAE,IAAK,CAACA,EAAE,CAACkB,UAAU,CAAC,CAAC,CAAC;IAC9D,IAAIF,QAAQ,CAACG,MAAM,EAAE;MACnB,MAAM,KAAIC,oBAAQ,EAChB,yFAAyFJ,QAAQ,CAC9FlB,GAAG,CAAEE,EAAE,IAAKA,EAAE,CAACqB,QAAQ,CAAC,CAAC,CAAC,CAC1BC,IAAI,CAAC,IAAI,CAAC,EACf,CAAC;IACH;IACA,MAAMC,WAAW,GAAG,MAAM,IAAI,CAAC9D,SAAS,CAAC+D,oBAAoB,CAAC,CAAC;IAC/D,MAAM;MAAEhC;IAAW,CAAC,GAAGqB,IAAI;IAC3B,IAAI,CAACrB,UAAU,IAAI+B,WAAW,EAAEE,KAAK,EAAE;MACrC,MAAM,IAAIC,KAAK,CACb,oGACF,CAAC;IACH;IACA,IAAIH,WAAW,IAAI,CAAC/B,UAAU,IAAIqB,IAAI,CAACpB,KAAK,EAAE;MAC5C,MAAM,KAAI2B,oBAAQ,EAAC,0FAA0F,CAAC;IAChH;IACA,IAAIG,WAAW,IAAI,CAAC/B,UAAU,EAAE;MAC9B,MAAMmC,QAAQ,GAAGJ,WAAW,CAACK,cAAc,CAAC,CAAC;MAC7C,MAAMC,gBAAgB,GAAGtC,YAAY,CAAC0B,MAAM,CAAEjB,EAAE,IAAK,CAAC2B,QAAQ,CAACG,iBAAiB,CAAC9B,EAAE,CAAC,CAAC;MACrF,IAAI6B,gBAAgB,CAACV,MAAM,EAAE;QAC3B,MAAM,KAAIC,oBAAQ,EAChB;AACV,EAAEW,gBAAK,CAACC,IAAI,CAACH,gBAAgB,CAAC/B,GAAG,CAAEE,EAAE,IAAKA,EAAE,CAACqB,QAAQ,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpE;AACA,qHACQ,CAAC;MACH;IACF;IACA,OAAO,IAAI,CAAChC,eAAe,CAACC,YAAY,EAAEsB,IAAI,CAAC;EACjD;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMoB,OAAOA,CAACC,SAAiB,EAAEC,OAAuB,EAAoB;IAC1E,IAAI,CAAC,IAAI,CAAC1E,SAAS,EAAE,MAAM,KAAIqD,8BAAgB,EAAC,CAAC;IACjD,MAAMsB,WAAW,GAAG,IAAI,CAAC3E,SAAS,CAACgB,QAAQ,CAACW,MAAM,CAACiD,UAAU,CAACC,IAAI,CAAEC,OAAO,IAAK;MAC9E,OAAOA,OAAO,CAACvC,EAAE,CAACwC,QAAQ,KAAKN,SAAS,IAAIK,OAAO,CAACvC,EAAE,CAACyC,sBAAsB,CAAC,CAAC,KAAKP,SAAS;IAC/F,CAAC,CAAC;IACF,MAAMQ,UAAU,GAAG,MAAOC,KAAa,IAAK;MAC1C,MAAM,IAAI,CAAC/E,QAAQ,CAACgF,MAAM,CAAC;QACzBhE,GAAG,EAAE,CAAC+D,KAAK,CAAC;QACZE,kBAAkB,EAAE,CAACV,OAAO,CAACW,0BAA0B;QACvDC,gBAAgB,EAAE,CAACZ,OAAO,CAACa,oBAAoB;QAC/CC,QAAQ,EAAE;MACZ,CAAC,CAAC;IACJ,CAAC;IACD,MAAMC,iBAAiB,GAAG,MAAO1C,MAAmB,IAAK;MACvD,MAAM,IAAI,CAAC/C,SAAS,CAAC0F,0BAA0B,CAAC3C,MAAM,EAAEE,sBAAY,CAACV,EAAE,EAAE;QAAEK,OAAO,EAAE;MAAM,CAAC,CAAC;MAC5F,MAAM,IAAI,CAAC5C,SAAS,CAAC2B,MAAM,CAACC,KAAK,CAAC,SAAS,CAAC;IAC9C,CAAC;IACD,IAAI+C,WAAW,EAAE;MACf,IAAIA,WAAW,CAAChC,MAAM,GAAGM,sBAAY,CAACV,EAAE,CAAC,EAAE;QACzC;QACA,MAAMoD,aAAa,GAAG,MAAM,IAAI,CAAC3F,SAAS,CAACC,KAAK,CAAC2F,GAAG,CAACjB,WAAW,CAACpC,EAAE,CAAC;QACpE,IAAIoD,aAAa,EAAE;UACjB;UACA;UACA,MAAM,IAAI,CAAC3F,SAAS,CAAC4B,KAAK,CAAC+D,aAAa,EAAEhB,WAAW,CAACkB,OAAO,CAAC;UAC9D,IAAI,CAAC7F,SAAS,CAAC2B,MAAM,CAACmE,qBAAqB,CAACnB,WAAW,CAACpC,EAAE,EAAEU,sBAAY,CAACV,EAAE,EAAE,KAAK,CAAC;UACnF,MAAM,IAAI,CAACvC,SAAS,CAAC2B,MAAM,CAACC,KAAK,CAAC,SAAS,CAAC;QAC9C,CAAC,MAAM;UACL,OAAO+C,WAAW,CAAChC,MAAM,GAAGM,sBAAY,CAACV,EAAE,CAAC;UAC5C,MAAM0C,UAAU,CAACN,WAAW,CAACpC,EAAE,CAACqB,QAAQ,CAAC,CAAC,CAAC;QAC7C;QACA,OAAO,IAAI;MACb;MACA;MACA,MAAMb,MAAM,GAAG4B,WAAW,CAACpC,EAAE;MAC7B,MAAMwD,IAAI,GAAG,MAAM,IAAI,CAAC/F,SAAS,CAAC4F,GAAG,CAAC7C,MAAM,CAAC;MAC7C,MAAMiD,UAAU,GAAG,MAAM,IAAI,CAACC,aAAa,CAACF,IAAI,CAAC;MACjD,IAAI,CAACC,UAAU,CAACpD,OAAO,IAAI,CAACoD,UAAU,CAAChE,KAAK,EAAE;QAC5C,OAAO,KAAK;MACd;MACA,MAAMyD,iBAAiB,CAAC1C,MAAM,CAAC;MAC/B,OAAO,IAAI;IACb;IACA,MAAMA,MAAM,GAAG,MAAM,IAAI,CAAC/C,SAAS,CAACC,KAAK,CAACiG,kBAAkB,CAACzB,SAAS,CAAC;IACvE,MAAMX,WAAW,GAAG,MAAM,IAAI,CAAC9D,SAAS,CAAC+D,oBAAoB,CAAC,CAAC;IAC/D,MAAMoC,QAAQ,GAAGrC,WAAW,EAAEsC,YAAY,CAACrD,MAAM,CAAC;IAClD,MAAMsD,qBAAqB,GAAGF,QAAQ,GAAGpD,MAAM,CAACuD,aAAa,CAACH,QAAQ,CAACI,IAAI,CAAC3C,QAAQ,CAAC,CAAC,CAAC,GAAGb,MAAM;IAChG,MAAM4C,aAAa,GAAG,MAAM,IAAI,CAAC3F,SAAS,CAACC,KAAK,CAAC2F,GAAG,CAACS,qBAAqB,CAAC;IAC3E,IAAIV,aAAa,KAAK,MAAM,IAAI,CAACa,SAAS,CAACb,aAAa,CAAC,CAAC,EAAE;MAC1D;MACA,MAAMV,UAAU,CAACoB,qBAAqB,CAAC/I,OAAO,CAACsG,QAAQ,CAAC,CAAC,CAAC;MAC1D,MAAM6B,iBAAiB,CAACY,qBAAqB,CAAC;MAC9C,OAAO,IAAI;IACb;IACA;IACA,IAAIN,IAA2B;IAC/B,IAAI;MACFA,IAAI,GAAG,MAAM,IAAI,CAAC/F,SAAS,CAACC,KAAK,CAACwG,kBAAkB,CAAC1D,MAAM,CAAC;IAC9D,CAAC,CAAC,OAAO2D,GAAQ,EAAE;MACjB,IAAIA,GAAG,YAAYC,kCAAe,EAAE;QAClC,MAAM,KAAIhD,oBAAQ,EAChB,gCAAgC0C,qBAAqB,CAACzC,QAAQ,CAAC,CAAC,8BAClE,CAAC;MACH;MACA,MAAM8C,GAAG;IACX;IACA,IAAI,EAAE,MAAM,IAAI,CAACF,SAAS,CAACT,IAAI,CAAC,CAAC,EAAE;MACjC,OAAO,KAAK;IACd;IACA,MAAMd,UAAU,CAAClC,MAAM,CAACzF,OAAO,CAACsG,QAAQ,CAAC,CAAC,CAAC;IAC3C,MAAM6B,iBAAiB,CAAC1C,MAAM,CAAC;IAE/B,OAAO,IAAI;EACb;EAEA,MAAc6D,+BAA+BA,CAAChC,UAAuB,EAAE;IACrE,MAAMd,WAAW,GAAG,MAAM,IAAI,CAAC9D,SAAS,CAAC+D,oBAAoB,CAAC,CAAC;IAC/D,IAAI,CAACD,WAAW,EAAE,OAAO,CAAC;IAC1B,MAAM+C,SAAS,GAAG/C,WAAW,CAACgD,QAAQ,CAAC,CAAC;IACxC,MAAMC,SAAS,GAAGnC,UAAU,CAACpB,MAAM,CAAEuC,IAAI,IAAK,CAACc,SAAS,CAACxC,iBAAiB,CAAC0B,IAAI,CAACxD,EAAE,CAAC,CAAC;IACpF,IAAIwE,SAAS,CAACrD,MAAM,EAAE;MACpB,MAAM,KAAIC,oBAAQ,EAAC;AACzB,EAAEoD,SAAS,CAAC1E,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,CAACqB,QAAQ,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACjD;EACF;EAEA,MAAMoC,aAAaA,CAACe,SAAoB,EAAuB;IAC7D,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACC,gBAAgB,CAACF,SAAS,CAAC;IAC5D,MAAMpK,IAAI,GAAGqK,aAAa,CAACtE,MAAM,CAACwE,UAAU,CAACC,aAAa,CAACnE,sBAAY,CAACV,EAAE,CAAC,EAAEI,MAAgC;IAE7G,MAAM0E,gBAAgB,GAAGA,CAAA,KAAM;MAC7B,IAAI,CAACzK,IAAI,EAAEoF,KAAK,EAAE,OAAO,KAAK;MAC9B,MAAMsF,UAAU,GAAGN,SAAS,CAACO,MAAM,CAAC,CAAC;MACrC,OAAOC,OAAO,CAACF,UAAU,IAAIG,iBAAM,CAACC,SAAS,CAACJ,UAAU,CAACK,OAAO,EAAE/K,IAAI,CAACoF,KAAK,CAAC,CAAC;IAChF,CAAC;IAED,OAAO;MACLY,OAAO,EAAEhG,IAAI,EAAEgG,OAAO,IAAIyE,gBAAgB,CAAC,CAAC,IAAI,KAAK;MACrDrF,KAAK,EAAEpF,IAAI,EAAEoF;IACf,CAAC;EACH;EAEA,MAAckF,gBAAgBA,CAACF,SAAoB,EAAsB;IACvE,IACEA,SAAS,CAACzE,EAAE,CAACoF,OAAO,IACpBX,SAAS,CAACT,IAAI,IACdS,SAAS,CAACzE,EAAE,CAACoF,OAAO,KAAKX,SAAS,CAACT,IAAI,EAAEqB,IAAI,IAC7CZ,SAAS,CAACzE,EAAE,CAACoF,OAAO,KAAKX,SAAS,CAACa,OAAO,EAAEF,OAAO,CAACA,OAAO,EAC3D;MACA,MAAMG,QAAQ,GAAG,IAAI,CAAC9H,SAAS,CAAC;MAAA,EAC5B,MAAM,IAAI,CAACA,SAAS,CAAC4F,GAAG,CAACoB,SAAS,CAACzE,EAAE,CAAC+D,aAAa,CAACyB,SAAS,CAAC,CAAC,GAC/D,MAAM,IAAI,CAAC9H,KAAK,CAAC2F,GAAG,CAACoB,SAAS,CAACzE,EAAE,CAAC+D,aAAa,CAACU,SAAS,CAACT,IAAI,CAACqB,IAAI,CAAC,CAAC;MACzE,IAAI,CAACE,QAAQ,EAAE,MAAM,IAAI7D,KAAK,CAAC,6BAA6B+C,SAAS,CAACzE,EAAE,CAACqB,QAAQ,CAAC,CAAC,EAAE,CAAC;MACtF,OAAOkE,QAAQ;IACjB;IACA,OAAOd,SAAS;EAClB;;EAEA;AACF;AACA;EACE,MAAMgB,SAASA,CAAChB,SAAoB,EAAoB;IACtD,OAAO,IAAI,CAACR,SAAS,CAACQ,SAAS,CAAC;EAClC;;EAEA;AACF;AACA;EACE,MAAMR,SAASA,CAACQ,SAAoB,EAAoB;IACtD,MAAMhB,UAAU,GAAG,MAAM,IAAI,CAACC,aAAa,CAACe,SAAS,CAAC;IACtD,OAAOhB,UAAU,CAACpD,OAAO;EAC3B;;EAEA;AACF;AACA;EACE,MAAMqF,oCAAoCA,CAACC,WAAwB,EAAoB;IACrF,IAAI,CAACA,WAAW,CAACzE,UAAU,CAAC,CAAC,EAAE,OAAO,KAAK;IAC3C,MAAM0E,WAAW,GAAG,IAAI,CAACnI,SAAS,CAAC2B,MAAM,CAACyG,qBAAqB,CAACF,WAAW,CAAC;IAC5E,IAAIC,WAAW,IAAIA,WAAW,CAACH,SAAS,CAAC,CAAC,EAAE,OAAO,IAAI;IACvD,IAAIG,WAAW,IAAIA,WAAW,CAACE,WAAW,CAAC,CAAC,EAAE,OAAO,KAAK;IAC1D,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACtI,SAAS,CAACC,KAAK,CAACsI,0BAA0B,CAACL,WAAW,CAAC5B,aAAa,CAACyB,SAAS,CAAC,CAAC;IAC7G,IAAI,CAACO,SAAS,EAAE,OAAO,KAAK;IAC5B,MAAMN,SAAS,GAAG,MAAMM,SAAS,CAACN,SAAS,CACzC,IAAI,CAAChI,SAAS,CAACC,KAAK,CAACuI,WAAW,CAACC,OAAO,EACxCP,WAAW,CAACP,OACd,CAAC;IACD,OAAOH,OAAO,CAACQ,SAAS,CAAC;EAC3B;EAEA,MAAMU,gCAAgCA,CAACR,WAAwB,EAAoB;IACjF,MAAMS,UAAU,GAAG,MAAM,IAAI,CAAC3I,SAAS,CAACC,KAAK,CAAC2I,uBAAuB,CAACV,WAAW,CAAC;IAClF,MAAMW,OAAO,GAAGF,UAAU,EAAExB,UAAU,CAAC2B,iBAAiB,CAAC,mBAAmB,CAAC;IAC7E,OAAOD,OAAO,EAAEjM,IAAI,CAACmM,IAAI,KAAK,KAAK;EACrC;;EAEA;AACF;AACA;EACE,MAAMC,gBAAgBA,CAAA,EAA2B;IAC/C,OAAO,IAAI,CAAChJ,SAAS,CAACiJ,QAAQ,CAAC,CAAC,GAAG,IAAI,CAACC,wBAAwB,CAAC,CAAC,GAAG,IAAI,CAACC,wBAAwB,CAAC,CAAC;EACtG;EAEA,MAAMC,4BAA4BA,CAACxE,UAAuB,EAAE;IAC1D,MAAM,IAAAyE,qBAAU,EAACzE,UAAU,EAAE,MAAOoC,SAAS,IAAK;MAChD,MAAM,IAAI,CAACsC,kBAAkB,CAACtC,SAAS,CAAC;IAC1C,CAAC,CAAC;EACJ;EAEA,MAAcsC,kBAAkBA,CAACtC,SAAoB,EAAE;IACrD,MAAMuC,YAAY,GAAG,IAAI,CAACnJ,WAAW,CAACoJ,wBAAwB,CAACxC,SAAS,CAAC;IACzE,MAAMyC,mBAAkC,GAAG,EAAE;IAC7C,IAAIC,UAAmC;IACvC,MAAMC,OAAO,CAACC,GAAG,CACfL,YAAY,CAAClH,GAAG,CAAC,MAAOwH,GAAG,IAAK;MAC9B,MAAM7B,SAAS,GAAG,MAAM,IAAI,CAACC,oCAAoC,CAAC4B,GAAG,CAAC3B,WAAW,CAAC;MAClF,IAAI,CAACF,SAAS,EAAE;MAChB,MAAM8B,KAAK,GAAG,MAAM,IAAI,CAACpB,gCAAgC,CAACmB,GAAG,CAAC3B,WAAW,CAAC;MAC1E,IAAI4B,KAAK,EAAE;QACTJ,UAAU,GAAGG,GAAG,CAAC3B,WAAW;MAC9B,CAAC,MAAM;QACLuB,mBAAmB,CAACM,IAAI,CAACF,GAAG,CAAC3B,WAAW,CAAC;MAC3C;IACF,CAAC,CACH,CAAC;IACD,IAAIuB,mBAAmB,CAAC/F,MAAM,EAAE;MAC9BsD,SAAS,CAACvE,KAAK,CAACuH,MAAM,CAACC,WAAW,CAACC,gCAAa,CAACC,mBAAmB,CAAC,CAACvN,IAAI,GAAG6M,mBAAmB,CAACpH,GAAG,CAAEzD,CAAC,IACrGA,CAAC,CAACgF,QAAQ,CAAC,CACb,CAAC;IACH;IACA,IAAI8F,UAAU,EAAE;MACd1C,SAAS,CAACvE,KAAK,CAACuH,MAAM,CAACC,WAAW,CAACC,gCAAa,CAACE,UAAU,CAAC,CAACxN,IAAI,GAAG8M,UAAU,CAAC9F,QAAQ,CAAC,CAAC;IAC3F;EACF;EAEA,MAAcsF,wBAAwBA,CAAA,EAA2B;IAC/D,MAAMmB,YAAY,GAAG,MAAM,IAAI,CAACrK,SAAS,CAACC,KAAK,CAACqK,eAAe,CAAC,CAAC;IACjE,OAAOD,YAAY,CAChBE,MAAM,CAAC,CAAC,CACR/G,MAAM,CAAEgH,UAAU,IAAKA,UAAU,CAAC7H,MAAM,GAAGM,sBAAY,CAACV,EAAE,CAAC,EAAEK,OAAO,CAAC,CACrEP,GAAG,CAAEmI,UAAU,IAAKA,UAAU,CAACjI,EAAE,CAAC;EACvC;EAEA,MAAc4G,wBAAwBA,CAAA,EAA2B;IAC/D,MAAMrF,WAAW,GAAG,MAAM,IAAI,CAAC9D,SAAS,CAAC+D,oBAAoB,CAAC,CAAC;IAC/D,IAAI,CAACD,WAAW,EAAE,OAAO,EAAE;IAC3B,MAAM2G,OAAO,GAAG3G,WAAW,CAACK,cAAc,CAAC,CAAC;IAC5C,MAAMuG,YAAY,GAAG,IAAI,CAAC1K,SAAS,CAAC2K,OAAO,CAAC,CAAC;IAC7C,MAAMC,yBAAyB,GAAGH,OAAO,CAACjH,MAAM,CAC7CjB,EAAE,IAAK,CAACmI,YAAY,CAAC7F,IAAI,CAAEgG,GAAG,IAAKA,GAAG,CAACC,qBAAqB,CAACvI,EAAE,CAAC,CACnE,CAAC;IACD,IAAI,CAACqI,yBAAyB,CAAClH,MAAM,EAAE,OAAO,EAAE;IAChD,MAAMqH,KAAK,GAAG,MAAM,IAAI,CAAC/K,SAAS,CAACC,KAAK,CAACiC,OAAO,CAAC0I,yBAAyB,CAAC;IAC3E,MAAMhI,OAAO,GAAGmI,KAAK,CAACvH,MAAM,CAAElB,CAAC,IAAK,IAAI,CAACkE,SAAS,CAAClE,CAAC,CAAC,CAAC;IACtD,MAAM0I,MAAM,GAAG,MAAMrB,OAAO,CAACC,GAAG,CAC9BhH,OAAO,CAACP,GAAG,CAAC,MAAOC,CAAC,IAAK;MACvB,MAAM2I,YAAY,GAAG,MAAM,IAAI,CAACjL,SAAS,CAACC,KAAK,CAACiL,eAAe,CAAC5I,CAAC,CAACC,EAAE,EAAE,KAAK,CAAC;MAC5E,IAAI0I,YAAY,CAACvE,GAAG,EAAE;QACpB,IAAI,CAACxG,MAAM,CAACiL,IAAI,CACd,2DAA2D7I,CAAC,CAACC,EAAE,CAACqB,QAAQ,CAAC,CAAC,WAAWqH,YAAY,CAACvE,GAAG,CAAC0E,IAAI,EAC5G,CAAC;QACD;MACF;MACA,IAAIH,YAAY,CAACI,aAAa,CAAC,CAAC,EAAE,OAAO/I,CAAC,CAACC,EAAE;MAC7C,OAAOwF,SAAS;IAClB,CAAC,CACH,CAAC;IACD,OAAO,IAAAuD,iBAAO,EAACN,MAAM,CAAC;EACxB;EAEA,MAAcjK,sBAAsBA,CAACR,iBAAyB,EAA0B;IACtF,IAAI,CAAC,IAAI,CAACP,SAAS,EAAE,MAAM,KAAIqD,8BAAgB,EAAC,CAAC;IACjD,MAAMvB,YAAY,GAAG,MAAM,IAAI,CAAC9B,SAAS,CAACsD,YAAY,CAAC/C,iBAAiB,CAAC;IACzE,OAAOuB,YAAY,CAACO,GAAG,CAAEE,EAAE,IAAKA,EAAE,CAAC;EACrC;EAEA,MAAczB,uBAAuBA,CAACP,iBAAyB,EAA0B;IACvF,IAAI,IAAAgL,qBAAW,EAAChL,iBAAiB,CAAC,EAAE;MAClC,OAAO,IAAI,CAACF,MAAM,CAACmL,2BAA2B,CAACjL,iBAAiB,CAAC;IACnE;IACA,OAAO,CAACkL,0BAAW,CAACC,UAAU,CAACnL,iBAAiB,CAAC,CAAC;EACpD;EAgBA,aAAaoL,QAAQA,CAAC,CACpB3L,SAAS,EACTC,KAAK,EACL2L,GAAG,EACHC,UAAU,EACVC,eAAe,EACfC,YAAY,EACZ3L,WAAW,EACX4J,MAAM,EACN3J,MAAM,CAWP,EAAE;IACD,MAAMH,MAAM,GAAG2L,UAAU,CAACG,YAAY,CAAC/I,sBAAY,CAACV,EAAE,CAAC;IACvD,MAAM0J,UAAU,GAAG,IAAInM,UAAU,CAACE,SAAS,EAAEC,KAAK,EAAEC,MAAM,EAAE6L,YAAY,EAAE3L,WAAW,EAAEC,MAAM,CAAC;IAC9F2J,MAAM,CAACkC,2BAA2B,CAACD,UAAU,CAAC7C,4BAA4B,CAAC+C,IAAI,CAACF,UAAU,CAAC,CAAC;IAC5FH,eAAe,CAACM,qBAAqB,CAAC,CAAC,KAAIC,yBAAc,EAACJ,UAAU,CAAC,CAAC,CAAC;IACvEL,GAAG,CAACU,QAAQ,CACV,KAAIC,sBAAS,EAACN,UAAU,EAAEjM,SAAS,CAAC,EACpC,KAAIwM,sBAAS,EAACP,UAAU,EAAEjM,SAAS,CAAC,EACpC,KAAIyM,wBAAU,EAACR,UAAU,CAC3B,CAAC;IACD,OAAOA,UAAU;EACnB;AACF;AAACS,OAAA,CAAA5M,UAAA,GAAAA,UAAA;AAAAnB,eAAA,CAxaYmB,UAAU,WA0XN,EAAE;AAAAnB,eAAA,CA1XNmB,UAAU,kBA2XC,CACpB6M,4BAAe,EACfC,oBAAW,EACXC,gBAAS,EACTC,sBAAY,EACZC,4BAAe,EACfC,0BAAc,EACdC,8CAAwB,EACxBC,sBAAY,EACZC,sBAAY,CACb;AAAAxO,eAAA,CArYUmB,UAAU,aAsYJsN,kBAAW;AAoC9BnK,sBAAY,CAACoK,UAAU,CAACvN,UAAU,CAAC;AAAC,IAAAwN,QAAA,GAAAZ,OAAA,CAAAhO,OAAA,GAErBoB,UAAU","ignoreList":[]}
package/package.json CHANGED
@@ -1,16 +1,17 @@
1
1
  {
2
2
  "name": "@teambit/remove",
3
- "version": "1.0.329",
3
+ "version": "1.0.331",
4
4
  "homepage": "https://bit.cloud/teambit/component/remove",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "remove",
9
- "version": "1.0.329"
9
+ "version": "1.0.331"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
13
13
  "yesno": "0.4.0",
14
+ "fs-extra": "10.0.0",
14
15
  "group-array": "1.0.0",
15
16
  "lodash.partition": "4.6.0",
16
17
  "lodash": "4.17.21",
@@ -19,23 +20,26 @@
19
20
  "@teambit/bit-error": "0.0.404",
20
21
  "@teambit/component-id": "1.2.0",
21
22
  "@teambit/harmony": "0.4.6",
22
- "@teambit/cli": "0.0.906",
23
- "@teambit/workspace": "1.0.329",
24
- "@teambit/component": "1.0.329",
25
- "@teambit/component-issues": "0.0.149",
26
- "@teambit/dependency-resolver": "1.0.329",
27
- "@teambit/importer": "1.0.329",
28
- "@teambit/issues": "1.0.329",
29
- "@teambit/lister": "1.0.329",
30
- "@teambit/logger": "0.0.999",
31
- "@teambit/scope": "1.0.329"
23
+ "@teambit/cli": "0.0.908",
24
+ "@teambit/workspace": "1.0.331",
25
+ "@teambit/pkg.modules.component-package-name": "0.0.2",
26
+ "@teambit/component": "1.0.331",
27
+ "@teambit/component-issues": "0.0.150",
28
+ "@teambit/dependency-resolver": "1.0.331",
29
+ "@teambit/importer": "1.0.331",
30
+ "@teambit/issues": "1.0.331",
31
+ "@teambit/legacy.utils": "0.0.3",
32
+ "@teambit/lister": "1.0.331",
33
+ "@teambit/logger": "0.0.1001",
34
+ "@teambit/scope": "1.0.331"
32
35
  },
33
36
  "devDependencies": {
37
+ "@types/fs-extra": "9.0.7",
34
38
  "@types/lodash": "4.14.165",
35
39
  "@types/semver": "7.3.4",
36
40
  "@types/mocha": "9.1.0",
37
41
  "chai": "4.3.0",
38
- "@teambit/harmony.envs.core-aspect-env": "0.0.39"
42
+ "@teambit/harmony.envs.core-aspect-env": "0.0.42"
39
43
  },
40
44
  "peerDependencies": {
41
45
  "@teambit/legacy": "1.0.624"