@teambit/remove 1.0.106 → 1.0.108
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/delete-cmd.ts +109 -0
- package/dist/delete-cmd.d.ts +1 -1
- package/dist/delete-cmd.js +2 -3
- package/dist/delete-cmd.js.map +1 -1
- package/dist/recover-cmd.d.ts +1 -1
- package/dist/remove-cmd.d.ts +1 -1
- package/dist/remove-components.d.ts +1 -1
- package/dist/remove-components.js +1 -1
- package/dist/remove-components.js.map +1 -1
- package/dist/remove-template.d.ts +1 -1
- package/dist/remove.main.runtime.d.ts +2 -2
- package/dist/remove.main.runtime.js +8 -15
- package/dist/remove.main.runtime.js.map +1 -1
- package/index.ts +7 -0
- package/package.json +17 -26
- package/recover-cmd.ts +31 -0
- package/remove-cmd.ts +85 -0
- package/remove-components.ts +171 -0
- package/remove-template.ts +73 -0
- package/remove.aspect.ts +5 -0
- package/remove.fragment.ts +26 -0
- package/remove.main.runtime.ts +367 -0
- package/removed-local-objects.ts +17 -0
- package/tsconfig.json +16 -21
- package/types/asset.d.ts +15 -3
- /package/dist/{preview-1703505948637.js → preview-1703647408454.js} +0 -0
package/delete-cmd.ts
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import yesno from 'yesno';
|
|
3
|
+
import { Command, CommandOptions } from '@teambit/cli';
|
|
4
|
+
import { Workspace } from '@teambit/workspace';
|
|
5
|
+
import { BitError } from '@teambit/bit-error';
|
|
6
|
+
import RemovedObjects from '@teambit/legacy/dist/scope/removed-components';
|
|
7
|
+
import { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';
|
|
8
|
+
import { RemoveMain } from './remove.main.runtime';
|
|
9
|
+
import { removeTemplate } from './remove-template';
|
|
10
|
+
|
|
11
|
+
export class DeleteCmd implements Command {
|
|
12
|
+
name = 'delete <component-pattern>';
|
|
13
|
+
description = 'mark components as deleted on the remote';
|
|
14
|
+
extendedDescription = `to remove components from your local workspace only, use "bit remove" command.
|
|
15
|
+
this command marks the components as deleted, and after snap/tag and export they will be marked as deleted from the remote scope as well.
|
|
16
|
+
`;
|
|
17
|
+
arguments = [
|
|
18
|
+
{
|
|
19
|
+
name: 'component-pattern',
|
|
20
|
+
description: COMPONENT_PATTERN_HELP,
|
|
21
|
+
},
|
|
22
|
+
];
|
|
23
|
+
group = 'collaborate';
|
|
24
|
+
helpUrl = 'reference/components/removing-components';
|
|
25
|
+
skipWorkspace = true;
|
|
26
|
+
alias = '';
|
|
27
|
+
options = [
|
|
28
|
+
['', 'lane', 'when on a lane, delete the component from this lane only. avoid merging it to main or other lanes'],
|
|
29
|
+
['', 'update-main', 'EXPERIMENTAL. delete component/s on the main lane after merging this lane into main'],
|
|
30
|
+
['s', 'silent', 'skip confirmation'],
|
|
31
|
+
[
|
|
32
|
+
'',
|
|
33
|
+
'hard',
|
|
34
|
+
'NOT-RECOMMENDED. delete a component completely from a remote scope. careful! this is a permanent change that could corrupt dependents.',
|
|
35
|
+
],
|
|
36
|
+
[
|
|
37
|
+
'f',
|
|
38
|
+
'force',
|
|
39
|
+
'relevant for --hard. allow the deletion even if used as a dependency. WARNING: components that depend on this component will corrupt',
|
|
40
|
+
],
|
|
41
|
+
] as CommandOptions;
|
|
42
|
+
loader = true;
|
|
43
|
+
migration = true;
|
|
44
|
+
remoteOp = true;
|
|
45
|
+
|
|
46
|
+
constructor(private remove: RemoveMain, private workspace?: Workspace) {}
|
|
47
|
+
|
|
48
|
+
async report(
|
|
49
|
+
[componentsPattern]: [string],
|
|
50
|
+
{
|
|
51
|
+
force = false,
|
|
52
|
+
lane = false,
|
|
53
|
+
updateMain = false,
|
|
54
|
+
hard = false,
|
|
55
|
+
silent = false,
|
|
56
|
+
}: {
|
|
57
|
+
force?: boolean;
|
|
58
|
+
lane?: boolean;
|
|
59
|
+
updateMain?: boolean;
|
|
60
|
+
hard?: boolean;
|
|
61
|
+
silent?: boolean;
|
|
62
|
+
}
|
|
63
|
+
) {
|
|
64
|
+
if (this.workspace?.isOnLane() && !hard && !lane && !updateMain) {
|
|
65
|
+
throw new BitError(`error: to delete components when on a lane, use --lane flag`);
|
|
66
|
+
}
|
|
67
|
+
if (this.workspace?.isOnMain() && updateMain) {
|
|
68
|
+
throw new BitError(`--update-main is relevant only when on a lane`);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (!silent) {
|
|
72
|
+
await this.removePrompt(hard);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if (hard) {
|
|
76
|
+
const { localResult, remoteResult = [] } = await this.remove.remove({ componentsPattern, remote: true, force });
|
|
77
|
+
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
|
|
78
|
+
let localMessage = removeTemplate(localResult, false);
|
|
79
|
+
if (localMessage !== '') localMessage += '\n';
|
|
80
|
+
return `${localMessage}${this.paintArray(remoteResult)}`;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const removedCompIds = await this.remove.deleteComps(componentsPattern, { updateMain });
|
|
84
|
+
return `${chalk.green('successfully deleted the following components:')}
|
|
85
|
+
${removedCompIds.join('\n')}
|
|
86
|
+
|
|
87
|
+
${chalk.bold('to update the remote, please tag/snap and then export. to revert, please use "bit recover"')}`;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
private paintArray(removedObjectsArray: RemovedObjects[]) {
|
|
91
|
+
return removedObjectsArray.map((item) => removeTemplate(item, true));
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
private async removePrompt(hard?: boolean) {
|
|
95
|
+
this.remove.logger.clearStatusLine();
|
|
96
|
+
const remoteOrLocalOutput = hard
|
|
97
|
+
? `WARNING: the component(s) will be permanently deleted from the remote with no option to recover. prefer omitting --hard to only mark the component as deleted`
|
|
98
|
+
: `this command will mark the component as deleted, and it won’t be shown on the remote scope after tag/snap and export.
|
|
99
|
+
if your intent, is to remove the component only from your local workspace, refer to bit remove.`;
|
|
100
|
+
|
|
101
|
+
const ok = await yesno({
|
|
102
|
+
question: `${remoteOrLocalOutput}
|
|
103
|
+
${chalk.bold('Would you like to proceed? [yes(y)/no(n)]')}`,
|
|
104
|
+
});
|
|
105
|
+
if (!ok) {
|
|
106
|
+
throw new BitError('the operation has been canceled');
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
package/dist/delete-cmd.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export declare class DeleteCmd implements Command {
|
|
|
19
19
|
loader: boolean;
|
|
20
20
|
migration: boolean;
|
|
21
21
|
remoteOp: boolean;
|
|
22
|
-
constructor(remove: RemoveMain, workspace?: Workspace
|
|
22
|
+
constructor(remove: RemoveMain, workspace?: Workspace);
|
|
23
23
|
report([componentsPattern]: [string], { force, lane, updateMain, hard, silent, }: {
|
|
24
24
|
force?: boolean;
|
|
25
25
|
lane?: boolean;
|
package/dist/delete-cmd.js
CHANGED
|
@@ -72,11 +72,10 @@ this command marks the components as deleted, and after snap/tag and export they
|
|
|
72
72
|
hard = false,
|
|
73
73
|
silent = false
|
|
74
74
|
}) {
|
|
75
|
-
|
|
76
|
-
if ((_this$workspace = this.workspace) !== null && _this$workspace !== void 0 && _this$workspace.isOnLane() && !hard && !lane && !updateMain) {
|
|
75
|
+
if (this.workspace?.isOnLane() && !hard && !lane && !updateMain) {
|
|
77
76
|
throw new (_bitError().BitError)(`error: to delete components when on a lane, use --lane flag`);
|
|
78
77
|
}
|
|
79
|
-
if (
|
|
78
|
+
if (this.workspace?.isOnMain() && updateMain) {
|
|
80
79
|
throw new (_bitError().BitError)(`--update-main is relevant only when on a lane`);
|
|
81
80
|
}
|
|
82
81
|
if (!silent) {
|
package/dist/delete-cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_yesno","_bitError","_constants","_removeTemplate","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","DeleteCmd","constructor","remove","workspace","name","description","COMPONENT_PATTERN_HELP","report","componentsPattern","force","lane","updateMain","hard","silent","
|
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_yesno","_bitError","_constants","_removeTemplate","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","DeleteCmd","constructor","remove","workspace","name","description","COMPONENT_PATTERN_HELP","report","componentsPattern","force","lane","updateMain","hard","silent","isOnLane","BitError","isOnMain","removePrompt","localResult","remoteResult","remote","localMessage","removeTemplate","paintArray","removedCompIds","deleteComps","chalk","green","join","bold","removedObjectsArray","map","item","logger","clearStatusLine","remoteOrLocalOutput","ok","yesno","question","exports"],"sources":["delete-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport yesno from 'yesno';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { Workspace } from '@teambit/workspace';\nimport { BitError } from '@teambit/bit-error';\nimport RemovedObjects from '@teambit/legacy/dist/scope/removed-components';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { RemoveMain } from './remove.main.runtime';\nimport { removeTemplate } from './remove-template';\n\nexport class DeleteCmd implements Command {\n name = 'delete <component-pattern>';\n description = 'mark components as deleted on the remote';\n extendedDescription = `to remove components from your local workspace only, use \"bit remove\" command.\nthis command marks the components as deleted, and after snap/tag and export they will be marked as deleted from the remote scope as well.\n`;\n arguments = [\n {\n name: 'component-pattern',\n description: COMPONENT_PATTERN_HELP,\n },\n ];\n group = 'collaborate';\n helpUrl = 'reference/components/removing-components';\n skipWorkspace = true;\n alias = '';\n options = [\n ['', 'lane', 'when on a lane, delete the component from this lane only. avoid merging it to main or other lanes'],\n ['', 'update-main', 'EXPERIMENTAL. delete component/s on the main lane after merging this lane into main'],\n ['s', 'silent', 'skip confirmation'],\n [\n '',\n 'hard',\n 'NOT-RECOMMENDED. delete a component completely from a remote scope. careful! this is a permanent change that could corrupt dependents.',\n ],\n [\n 'f',\n 'force',\n 'relevant for --hard. allow the deletion even if used as a dependency. WARNING: components that depend on this component will corrupt',\n ],\n ] as CommandOptions;\n loader = true;\n migration = true;\n remoteOp = true;\n\n constructor(private remove: RemoveMain, private workspace?: Workspace) {}\n\n async report(\n [componentsPattern]: [string],\n {\n force = false,\n lane = false,\n updateMain = false,\n hard = false,\n silent = false,\n }: {\n force?: boolean;\n lane?: boolean;\n updateMain?: boolean;\n hard?: boolean;\n silent?: boolean;\n }\n ) {\n if (this.workspace?.isOnLane() && !hard && !lane && !updateMain) {\n throw new BitError(`error: to delete components when on a lane, use --lane flag`);\n }\n if (this.workspace?.isOnMain() && updateMain) {\n throw new BitError(`--update-main is relevant only when on a lane`);\n }\n\n if (!silent) {\n await this.removePrompt(hard);\n }\n\n if (hard) {\n const { localResult, remoteResult = [] } = await this.remove.remove({ componentsPattern, remote: true, force });\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n let localMessage = removeTemplate(localResult, false);\n if (localMessage !== '') localMessage += '\\n';\n return `${localMessage}${this.paintArray(remoteResult)}`;\n }\n\n const removedCompIds = await this.remove.deleteComps(componentsPattern, { updateMain });\n return `${chalk.green('successfully deleted the following components:')}\n${removedCompIds.join('\\n')}\n\n${chalk.bold('to update the remote, please tag/snap and then export. to revert, please use \"bit recover\"')}`;\n }\n\n private paintArray(removedObjectsArray: RemovedObjects[]) {\n return removedObjectsArray.map((item) => removeTemplate(item, true));\n }\n\n private async removePrompt(hard?: boolean) {\n this.remove.logger.clearStatusLine();\n const remoteOrLocalOutput = hard\n ? `WARNING: the component(s) will be permanently deleted from the remote with no option to recover. prefer omitting --hard to only mark the component as deleted`\n : `this command will mark the component as deleted, and it won’t be shown on the remote scope after tag/snap and export.\nif your intent, is to remove the component only from your local workspace, refer to bit remove.`;\n\n const ok = await yesno({\n question: `${remoteOrLocalOutput}\n${chalk.bold('Would you like to proceed? [yes(y)/no(n)]')}`,\n });\n if (!ok) {\n throw new BitError('the operation has been canceled');\n }\n }\n}\n"],"mappings":"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"}
|
package/dist/recover-cmd.d.ts
CHANGED
package/dist/remove-cmd.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export declare class RemoveCmd implements Command {
|
|
|
19
19
|
loader: boolean;
|
|
20
20
|
migration: boolean;
|
|
21
21
|
remoteOp: boolean;
|
|
22
|
-
constructor(remove: RemoveMain, workspace?: Workspace
|
|
22
|
+
constructor(remove: RemoveMain, workspace?: Workspace);
|
|
23
23
|
report([componentsPattern]: [string], { force, track, silent, keepFiles, }: {
|
|
24
24
|
force?: boolean;
|
|
25
25
|
track?: boolean;
|
|
@@ -2,7 +2,7 @@ import { Consumer } from '@teambit/legacy/dist/consumer';
|
|
|
2
2
|
import { ComponentIdList } from '@teambit/component-id';
|
|
3
3
|
import RemovedObjects from '@teambit/legacy/dist/scope/removed-components';
|
|
4
4
|
import { RemovedLocalObjects } from './removed-local-objects';
|
|
5
|
-
export
|
|
5
|
+
export type RemoveComponentsResult = {
|
|
6
6
|
localResult: RemovedLocalObjects;
|
|
7
7
|
remoteResult: RemovedObjects[];
|
|
8
8
|
};
|
|
@@ -182,7 +182,7 @@ async function removeRemote(consumer, bitIds, force) {
|
|
|
182
182
|
const context = {};
|
|
183
183
|
(0, _enrichContextFromGlobal().default)(context);
|
|
184
184
|
const removeP = Object.keys(groupedBitsByScope).map(async key => {
|
|
185
|
-
const resolvedRemote = await remotes.resolve(key, consumer
|
|
185
|
+
const resolvedRemote = await remotes.resolve(key, consumer?.scope);
|
|
186
186
|
const idsStr = groupedBitsByScope[key].map(id => id.toStringWithoutVersion());
|
|
187
187
|
return resolvedRemote.deleteMany(idsStr, force, context);
|
|
188
188
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_groupArray","data","_interopRequireDefault","require","_lodash","_ramda","_componentId","_constants","_generalError","_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","prototype","hasOwnProperty","call","i","set","obj","removeComponents","consumer","ids","force","remote","track","deleteFiles","logger","debugAndAddBreadCrumb","toString","bitIdsLatest","ComponentIdList","fromArray","map","id","changeVersion","LATEST_BIT_VERSION","localIds","remoteIds","partition","isLocal","length","GeneralError","join","remoteResult","R","isEmpty","removeRemote","localResult","removeLocal","RemovedLocalObjects","bitIds","groupedBitsByScope","groupArray","remotes","getScopeRemotes","scope","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","modifiedComponents","nonModifiedComponents","pMapSeries","componentStatus","getComponentStatusById","modified","push","err","Component","isComponentInvalidByErrorType","idsToRemove","componentsList","ComponentsList","newComponents","listNewComponents","idsToRemoveFromScope","filter","hasWithoutVersion","idsToCleanFromWorkspace","components","componentsToRemove","invalidComponents","loadComponents","removedComponentIds","missingComponents","dependentBits","removedFromLane","removeMany","deleteComponentsFiles","invalidComponentsIds","removedComponents","c","removeComponentsFromWorkspacesAndDependencies","cleanFromBitMap","uniqFromArray"],"sources":["remove-components.ts"],"sourcesContent":["import groupArray from 'group-array';\nimport partition from 'lodash.partition';\nimport R from 'ramda';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { ComponentIdList } from '@teambit/component-id';\nimport { CENTRAL_BIT_HUB_NAME, CENTRAL_BIT_HUB_URL, LATEST_BIT_VERSION } from '@teambit/legacy/dist/constants';\nimport GeneralError from '@teambit/legacy/dist/error/general-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 '@teambit/legacy/dist/consumer/component-ops/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 consumer,\n ids,\n force,\n remote,\n track,\n deleteFiles,\n}: {\n consumer: Consumer | null | undefined; // 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 GeneralError(\n `unable to remove the remote components: ${localIds.join(',')} as they don't contain a scope-name`\n );\n }\n const remoteResult = remote && !R.isEmpty(remoteIds) ? await removeRemote(consumer, remoteIds, force) : [];\n const localResult = !remote\n ? await removeLocal(consumer as Consumer, bitIdsLatest, force, track, deleteFiles)\n : new RemovedLocalObjects();\n\n return { localResult, remoteResult };\n}\n\n/**\n * Remove remote component from ssh server\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 consumer: Consumer | null | undefined,\n bitIds: ComponentIdList,\n force: boolean\n): Promise<RemovedObjects[]> {\n const groupedBitsByScope = groupArray(bitIds, 'scope');\n const remotes = consumer ? await getScopeRemotes(consumer.scope) : 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, consumer?.scope);\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 consumer: Consumer,\n bitIds: ComponentIdList,\n force: boolean,\n track: boolean,\n deleteFiles: boolean\n): Promise<RemovedLocalObjects> {\n // local remove in case user wants to delete tagged components\n const modifiedComponents = new ComponentIdList();\n const nonModifiedComponents = new ComponentIdList();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n if (R.isEmpty(bitIds)) return new RemovedLocalObjects();\n if (!force) {\n await pMapSeries(bitIds, async (id) => {\n try {\n const componentStatus = await consumer.getComponentStatusById(id);\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 }\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 }\n }\n return new RemovedLocalObjects(\n ComponentIdList.uniqFromArray([...idsToCleanFromWorkspace, ...removedComponentIds]),\n missingComponents,\n modifiedComponents,\n dependentBits,\n removedFromLane\n );\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,QAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,OAAA;EAAA,MAAAJ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAE,MAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAK,aAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,YAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,WAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,UAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,cAAA;EAAA,MAAAP,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAK,aAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,yBAAA;EAAA,MAAAR,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAM,wBAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,QAAA;EAAA,MAAAT,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAO,OAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,MAAA;EAAA,MAAAV,IAAA,GAAAE,OAAA;EAAAQ,KAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,SAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,QAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,cAAA;EAAA,MAAAZ,IAAA,GAAAE,OAAA;EAAAU,aAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,sBAAA;EAAA,MAAAb,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAW,qBAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,gBAAA;EAAA,MAAAd,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAY,eAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAe,mBAAA;EAAA,MAAAf,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAa,kBAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAgB,iBAAA;EAAA,MAAAhB,IAAA,GAAAiB,uBAAA,CAAAf,OAAA;EAAAc,gBAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,YAAA;EAAA,MAAAlB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAgB,WAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAmB,qBAAA;EAAA,MAAAnB,IAAA,GAAAE,OAAA;EAAAiB,oBAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8D,SAAAoB,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAA5B,uBAAAwC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAI9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeC,gBAAgBA,CAAC;EACrCC,QAAQ;EACRC,GAAG;EACHC,KAAK;EACLC,MAAM;EACNC,KAAK;EACLC;AAQF,CAAC,EAAmC;EAClCC,iBAAM,CAACC,qBAAqB,CAAC,kBAAkB,EAAG,iBAAgBL,KAAK,CAACM,QAAQ,CAAC,CAAE,EAAC,EAAE;IAAEP,GAAG,EAAEA,GAAG,CAACO,QAAQ,CAAC;EAAE,CAAC,CAAC;EAC9G;EACA,MAAMC,YAAY,GAAGC,8BAAe,CAACC,SAAS,CAC5CV,GAAG,CAACW,GAAG,CAAEC,EAAE,IAAK;IACd,OAAOA,EAAE,CAACC,aAAa,CAACC,+BAAkB,CAAC;EAC7C,CAAC,CACH,CAAC;EACD,MAAM,CAACC,QAAQ,EAAEC,SAAS,CAAC,GAAG,IAAAC,iBAAS,EAACT,YAAY,EAAGI,EAAE,IAAKA,EAAE,CAACM,OAAO,CAAC,CAAC,CAAC;EAC3E,IAAIhB,MAAM,IAAIa,QAAQ,CAACI,MAAM,EAAE;IAC7B,MAAM,KAAIC,uBAAY,EACnB,2CAA0CL,QAAQ,CAACM,IAAI,CAAC,GAAG,CAAE,qCAChE,CAAC;EACH;EACA,MAAMC,YAAY,GAAGpB,MAAM,IAAI,CAACqB,gBAAC,CAACC,OAAO,CAACR,SAAS,CAAC,GAAG,MAAMS,YAAY,CAAC1B,QAAQ,EAAEiB,SAAS,EAAEf,KAAK,CAAC,GAAG,EAAE;EAC1G,MAAMyB,WAAW,GAAG,CAACxB,MAAM,GACvB,MAAMyB,WAAW,CAAC5B,QAAQ,EAAcS,YAAY,EAAEP,KAAK,EAAEE,KAAK,EAAEC,WAAW,CAAC,GAChF,KAAIwB,0CAAmB,EAAC,CAAC;EAE7B,OAAO;IAAEF,WAAW;IAAEJ;EAAa,CAAC;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAeG,YAAYA,CACzB1B,QAAqC,EACrC8B,MAAuB,EACvB5B,KAAc,EACa;EAC3B,MAAM6B,kBAAkB,GAAG,IAAAC,qBAAU,EAACF,MAAM,EAAE,OAAO,CAAC;EACtD,MAAMG,OAAO,GAAGjC,QAAQ,GAAG,MAAM,IAAAkC,+BAAe,EAAClC,QAAQ,CAACmC,KAAK,CAAC,GAAG,MAAMC,kBAAO,CAACC,gBAAgB,CAAC,CAAC;EACnG,MAAMC,oBAAoB,GAAGL,OAAO,CAACK,oBAAoB,CAACjD,MAAM,CAACkD,IAAI,CAACR,kBAAkB,CAAC,CAAC;EAC1F,IAAIO,oBAAoB,EAAE;IACxB,MAAME,IAAI,GAAG,MAAMC,YAAI,CAACC,OAAO,CAACC,gCAAmB,EAAEC,iCAAoB,CAAC;IAC1E,OAAOJ,IAAI,CAACK,mBAAmB,CAC7Bf,MAAM,CAAClB,GAAG,CAAEC,EAAE,IAAKA,EAAE,CAACL,QAAQ,CAAC,CAAC,CAAC,EACjC;MAAEN,KAAK;MAAE4C,WAAW,EAAE;IAAM,CAC9B,CAAC;EACH;EACA,MAAMC,OAAO,GAAG,CAAC,CAAC;EAClB,IAAAC,kCAAuB,EAACD,OAAO,CAAC;EAChC,MAAME,OAAO,GAAG5D,MAAM,CAACkD,IAAI,CAACR,kBAAkB,CAAC,CAACnB,GAAG,CAAC,MAAOsC,GAAG,IAAK;IACjE,MAAMC,cAAc,GAAG,MAAMlB,OAAO,CAACmB,OAAO,CAACF,GAAG,EAAElD,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEmC,KAAK,CAAC;IAClE,MAAMkB,MAAM,GAAGtB,kBAAkB,CAACmB,GAAG,CAAC,CAACtC,GAAG,CAAEC,EAAE,IAAKA,EAAE,CAACyC,sBAAsB,CAAC,CAAC,CAAC;IAC/E,OAAOH,cAAc,CAACI,UAAU,CAACF,MAAM,EAAEnD,KAAK,EAAE6C,OAAO,CAAC;EAC1D,CAAC,CAAC;EAEF,OAAOS,OAAO,CAACC,GAAG,CAACR,OAAO,CAAC;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAerB,WAAWA,CACxB5B,QAAkB,EAClB8B,MAAuB,EACvB5B,KAAc,EACdE,KAAc,EACdC,WAAoB,EACU;EAC9B;EACA,MAAMqD,kBAAkB,GAAG,KAAIhD,8BAAe,EAAC,CAAC;EAChD,MAAMiD,qBAAqB,GAAG,KAAIjD,8BAAe,EAAC,CAAC;EACnD;EACA,IAAIc,gBAAC,CAACC,OAAO,CAACK,MAAM,CAAC,EAAE,OAAO,KAAID,0CAAmB,EAAC,CAAC;EACvD,IAAI,CAAC3B,KAAK,EAAE;IACV,MAAM,IAAA0D,qBAAU,EAAC9B,MAAM,EAAE,MAAOjB,EAAE,IAAK;MACrC,IAAI;QACF,MAAMgD,eAAe,GAAG,MAAM7D,QAAQ,CAAC8D,sBAAsB,CAACjD,EAAE,CAAC;QACjE,IAAIgD,eAAe,CAACE,QAAQ,EAAEL,kBAAkB,CAACM,IAAI,CAACnD,EAAE,CAAC,CAAC,KACrD8C,qBAAqB,CAACK,IAAI,CAACnD,EAAE,CAAC;MACrC,CAAC,CAAC,OAAOoD,GAAQ,EAAE;QACjB;QACA,IAAIC,4BAAS,CAACC,6BAA6B,CAACF,GAAG,CAAC,EAAE;UAChDN,qBAAqB,CAACK,IAAI,CAACnD,EAAE,CAAC;QAChC,CAAC,MAAM;UACL,MAAMoD,GAAG;QACX;MACF;IACF,CAAC,CAAC;EACJ;EACA,MAAMG,WAAW,GAAGlE,KAAK,GAAG4B,MAAM,GAAG6B,qBAAqB;EAC1D,MAAMU,cAAc,GAAG,KAAIC,yBAAc,EAACtE,QAAQ,CAAC;EACnD,MAAMuE,aAAa,GAAI,MAAMF,cAAc,CAACG,iBAAiB,CAAC,KAAK,CAAqB;EACxF,MAAMC,oBAAoB,GAAG/D,8BAAe,CAACC,SAAS,CACpDyD,WAAW,CAACM,MAAM,CAAE7D,EAAE,IAAK,CAAC0D,aAAa,CAACI,iBAAiB,CAAC9D,EAAE,CAAC,CACjE,CAAC;EACD,MAAM+D,uBAAuB,GAAGlE,8BAAe,CAACC,SAAS,CACvDyD,WAAW,CAACM,MAAM,CAAE7D,EAAE,IAAK0D,aAAa,CAACI,iBAAiB,CAAC9D,EAAE,CAAC,CAChE,CAAC;EACD,MAAM;IAAEgE,UAAU,EAAEC,kBAAkB;IAAEC;EAAkB,CAAC,GAAG,MAAM/E,QAAQ,CAACgF,cAAc,CAACZ,WAAW,EAAE,KAAK,CAAC;EAC/G,MAAM;IAAEa,mBAAmB;IAAEC,iBAAiB;IAAEC,aAAa;IAAEC;EAAgB,CAAC,GAAG,MAAMpF,QAAQ,CAACmC,KAAK,CAACkD,UAAU,CAChHZ,oBAAoB,EACpBvE,KAAK,EACLF,QACF,CAAC;EACD;EACA4E,uBAAuB,CAACZ,IAAI,CAAC,GAAGiB,mBAAmB,CAAC;EACpD,IAAIL,uBAAuB,CAACxD,MAAM,EAAE;IAClC,IAAIf,WAAW,EAAE,MAAM,IAAAiF,+BAAqB,EAACtF,QAAQ,EAAE4E,uBAAuB,CAAC;IAC/E,IAAI,CAACxE,KAAK,EAAE;MACV,MAAMmF,oBAAoB,GAAGR,iBAAiB,CAACnE,GAAG,CAAEhB,CAAC,IAAKA,CAAC,CAACiB,EAAE,CAAC;MAC/D,MAAM2E,iBAAiB,GAAGV,kBAAkB,CAACJ,MAAM,CAAEe,CAAC,IAAKb,uBAAuB,CAACD,iBAAiB,CAACc,CAAC,CAAC5E,EAAE,CAAC,CAAC;MAC3G,MAAMxC,gBAAgB,CAAD,CAAC,CAACqH,6CAA6C,CAClE1F,QAAQ,EACRwF,iBAAiB,EACjBD,oBACF,CAAC;MACD,MAAMvF,QAAQ,CAAC2F,eAAe,CAACf,uBAAuB,CAAC;IACzD;EACF;EACA,OAAO,KAAI/C,0CAAmB,EAC5BnB,8BAAe,CAACkF,aAAa,CAAC,CAAC,GAAGhB,uBAAuB,EAAE,GAAGK,mBAAmB,CAAC,CAAC,EACnFC,iBAAiB,EACjBxB,kBAAkB,EAClByB,aAAa,EACbC,eACF,CAAC;AACH"}
|
|
1
|
+
{"version":3,"names":["_groupArray","data","_interopRequireDefault","require","_lodash","_ramda","_componentId","_constants","_generalError","_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","prototype","hasOwnProperty","call","i","set","obj","removeComponents","consumer","ids","force","remote","track","deleteFiles","logger","debugAndAddBreadCrumb","toString","bitIdsLatest","ComponentIdList","fromArray","map","id","changeVersion","LATEST_BIT_VERSION","localIds","remoteIds","partition","isLocal","length","GeneralError","join","remoteResult","R","isEmpty","removeRemote","localResult","removeLocal","RemovedLocalObjects","bitIds","groupedBitsByScope","groupArray","remotes","getScopeRemotes","scope","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","modifiedComponents","nonModifiedComponents","pMapSeries","componentStatus","getComponentStatusById","modified","push","err","Component","isComponentInvalidByErrorType","idsToRemove","componentsList","ComponentsList","newComponents","listNewComponents","idsToRemoveFromScope","filter","hasWithoutVersion","idsToCleanFromWorkspace","components","componentsToRemove","invalidComponents","loadComponents","removedComponentIds","missingComponents","dependentBits","removedFromLane","removeMany","deleteComponentsFiles","invalidComponentsIds","removedComponents","c","removeComponentsFromWorkspacesAndDependencies","cleanFromBitMap","uniqFromArray"],"sources":["remove-components.ts"],"sourcesContent":["import groupArray from 'group-array';\nimport partition from 'lodash.partition';\nimport R from 'ramda';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { ComponentIdList } from '@teambit/component-id';\nimport { CENTRAL_BIT_HUB_NAME, CENTRAL_BIT_HUB_URL, LATEST_BIT_VERSION } from '@teambit/legacy/dist/constants';\nimport GeneralError from '@teambit/legacy/dist/error/general-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 '@teambit/legacy/dist/consumer/component-ops/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 consumer,\n ids,\n force,\n remote,\n track,\n deleteFiles,\n}: {\n consumer: Consumer | null | undefined; // 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 GeneralError(\n `unable to remove the remote components: ${localIds.join(',')} as they don't contain a scope-name`\n );\n }\n const remoteResult = remote && !R.isEmpty(remoteIds) ? await removeRemote(consumer, remoteIds, force) : [];\n const localResult = !remote\n ? await removeLocal(consumer as Consumer, bitIdsLatest, force, track, deleteFiles)\n : new RemovedLocalObjects();\n\n return { localResult, remoteResult };\n}\n\n/**\n * Remove remote component from ssh server\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 consumer: Consumer | null | undefined,\n bitIds: ComponentIdList,\n force: boolean\n): Promise<RemovedObjects[]> {\n const groupedBitsByScope = groupArray(bitIds, 'scope');\n const remotes = consumer ? await getScopeRemotes(consumer.scope) : 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, consumer?.scope);\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 consumer: Consumer,\n bitIds: ComponentIdList,\n force: boolean,\n track: boolean,\n deleteFiles: boolean\n): Promise<RemovedLocalObjects> {\n // local remove in case user wants to delete tagged components\n const modifiedComponents = new ComponentIdList();\n const nonModifiedComponents = new ComponentIdList();\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n if (R.isEmpty(bitIds)) return new RemovedLocalObjects();\n if (!force) {\n await pMapSeries(bitIds, async (id) => {\n try {\n const componentStatus = await consumer.getComponentStatusById(id);\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 }\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 }\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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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare function removeTemplate({ dependentBits, modifiedComponents, removedComponentIds, missingComponents, removedFromLane }: {
|
|
2
2
|
dependentBits: any;
|
|
3
|
-
modifiedComponents?:
|
|
3
|
+
modifiedComponents?: any[];
|
|
4
4
|
removedComponentIds: any;
|
|
5
5
|
missingComponents: any;
|
|
6
6
|
removedFromLane: any;
|
|
@@ -8,7 +8,7 @@ import { IssuesMain } from '@teambit/issues';
|
|
|
8
8
|
import { Component, ComponentMain } from '@teambit/component';
|
|
9
9
|
import { RemoveComponentsResult } from './remove-components';
|
|
10
10
|
import { RecoverOptions } from './recover-cmd';
|
|
11
|
-
export
|
|
11
|
+
export type RemoveInfo = {
|
|
12
12
|
removed: boolean;
|
|
13
13
|
/**
|
|
14
14
|
* whether to remove the component from default lane once merged
|
|
@@ -68,7 +68,7 @@ export declare class RemoveMain {
|
|
|
68
68
|
private getRemovedStagedFromLane;
|
|
69
69
|
private getLocalBitIdsToRemove;
|
|
70
70
|
private getRemoteBitIdsToRemove;
|
|
71
|
-
static slots:
|
|
71
|
+
static slots: any[];
|
|
72
72
|
static dependencies: import("@teambit/harmony").Aspect[];
|
|
73
73
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
|
74
74
|
static provider([workspace, cli, loggerMain, componentAspect, importerMain, depResolver, issues]: [
|
|
@@ -193,11 +193,10 @@ class RemoveMain {
|
|
|
193
193
|
track = false,
|
|
194
194
|
deleteFiles = true
|
|
195
195
|
}) {
|
|
196
|
-
var _this$workspace;
|
|
197
196
|
this.logger.setStatusLine(BEFORE_REMOVE);
|
|
198
197
|
const bitIds = remote ? await this.getRemoteBitIdsToRemove(componentsPattern) : await this.getLocalBitIdsToRemove(componentsPattern);
|
|
199
198
|
this.logger.setStatusLine(BEFORE_REMOVE); // again because the loader might changed when talking to the remote
|
|
200
|
-
const consumer =
|
|
199
|
+
const consumer = this.workspace?.consumer;
|
|
201
200
|
const removeResults = await (0, _removeComponents().removeComponents)({
|
|
202
201
|
consumer,
|
|
203
202
|
ids: _componentId().ComponentIdList.fromArray(bitIds),
|
|
@@ -254,7 +253,7 @@ class RemoveMain {
|
|
|
254
253
|
const {
|
|
255
254
|
updateMain
|
|
256
255
|
} = opts;
|
|
257
|
-
if (!updateMain && currentLane
|
|
256
|
+
if (!updateMain && currentLane?.isNew) {
|
|
258
257
|
throw new Error('no need to delete components from an un-exported lane, you can remove them by running "bit remove"');
|
|
259
258
|
}
|
|
260
259
|
return this.markRemoveComps(componentIds, updateMain);
|
|
@@ -292,8 +291,7 @@ class RemoveMain {
|
|
|
292
291
|
await this.workspace.bitMap.write('recover');
|
|
293
292
|
};
|
|
294
293
|
if (bitMapEntry) {
|
|
295
|
-
|
|
296
|
-
if ((_bitMapEntry$config = bitMapEntry.config) !== null && _bitMapEntry$config !== void 0 && _bitMapEntry$config[_remove().RemoveAspect.id]) {
|
|
294
|
+
if (bitMapEntry.config?.[_remove().RemoveAspect.id]) {
|
|
297
295
|
// case #1
|
|
298
296
|
const compFromScope = await this.workspace.scope.get(bitMapEntry.id);
|
|
299
297
|
if (compFromScope) {
|
|
@@ -303,8 +301,7 @@ class RemoveMain {
|
|
|
303
301
|
this.workspace.bitMap.removeComponentConfig(bitMapEntry.id, _remove().RemoveAspect.id, false);
|
|
304
302
|
await this.workspace.bitMap.write('recover');
|
|
305
303
|
} else {
|
|
306
|
-
|
|
307
|
-
(_bitMapEntry$config2 = bitMapEntry.config) === null || _bitMapEntry$config2 === void 0 || delete _bitMapEntry$config2[_remove().RemoveAspect.id];
|
|
304
|
+
delete bitMapEntry.config?.[_remove().RemoveAspect.id];
|
|
308
305
|
await importComp(bitMapEntry.id.toString());
|
|
309
306
|
}
|
|
310
307
|
return true;
|
|
@@ -320,7 +317,7 @@ class RemoveMain {
|
|
|
320
317
|
}
|
|
321
318
|
const compId = await this.workspace.scope.resolveComponentId(compIdStr);
|
|
322
319
|
const currentLane = await this.workspace.getCurrentLaneObject();
|
|
323
|
-
const idOnLane = currentLane
|
|
320
|
+
const idOnLane = currentLane?.getComponent(compId);
|
|
324
321
|
const compIdWithPossibleVer = idOnLane ? compId.changeVersion(idOnLane.head.toString()) : compId;
|
|
325
322
|
const compFromScope = await this.workspace.scope.get(compIdWithPossibleVer);
|
|
326
323
|
if (compFromScope && this.isRemoved(compFromScope)) {
|
|
@@ -357,10 +354,9 @@ ${mainComps.map(c => c.id.toString()).join('\n')}`);
|
|
|
357
354
|
}
|
|
358
355
|
}
|
|
359
356
|
getRemoveInfo(component) {
|
|
360
|
-
|
|
361
|
-
const data = (_component$config$ext = component.config.extensions.findExtension(_remove().RemoveAspect.id)) === null || _component$config$ext === void 0 ? void 0 : _component$config$ext.config;
|
|
357
|
+
const data = component.config.extensions.findExtension(_remove().RemoveAspect.id)?.config;
|
|
362
358
|
return {
|
|
363
|
-
removed:
|
|
359
|
+
removed: data?.removed || false
|
|
364
360
|
};
|
|
365
361
|
}
|
|
366
362
|
isRemoved(component) {
|
|
@@ -407,10 +403,7 @@ ${mainComps.map(c => c.id.toString()).join('\n')}`);
|
|
|
407
403
|
}
|
|
408
404
|
async getRemovedStagedFromMain() {
|
|
409
405
|
const stagedConfig = await this.workspace.scope.getStagedConfig();
|
|
410
|
-
return stagedConfig.getAll().filter(compConfig =>
|
|
411
|
-
var _compConfig$config;
|
|
412
|
-
return (_compConfig$config = compConfig.config) === null || _compConfig$config === void 0 || (_compConfig$config = _compConfig$config[_remove().RemoveAspect.id]) === null || _compConfig$config === void 0 ? void 0 : _compConfig$config.removed;
|
|
413
|
-
}).map(compConfig => compConfig.id);
|
|
406
|
+
return stagedConfig.getAll().filter(compConfig => compConfig.config?.[_remove().RemoveAspect.id]?.removed).map(compConfig => compConfig.id);
|
|
414
407
|
}
|
|
415
408
|
async getRemovedStagedFromLane() {
|
|
416
409
|
const currentLane = await this.workspace.getCurrentLaneObject();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cli","data","require","_logger","_workspace","_interopRequireWildcard","_componentId","_exceptions","_importer","_interopRequireDefault","_lodash","_hasWildcard","_listScope","_bitError","_deleteComponentFiles","_dependencyResolver","_componentIssues","_issues","_pMapSeries","_noHeadNoVersion","_component","_packageJsonUtils","_removeCmd","_removeComponents","_remove","_remove2","_recoverCmd","_deleteCmd","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_defineProperty","key","value","_toPropertyKey","enumerable","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","BEFORE_REMOVE","RemoveMain","constructor","workspace","logger","importer","depResolver","remove","componentsPattern","force","remote","track","deleteFiles","_this$workspace","setStatusLine","bitIds","getRemoteBitIdsToRemove","getLocalBitIdsToRemove","consumer","removeResults","removeComponents","ids","ComponentIdList","fromArray","onDestroy","removeLocallyByIds","OutsideWorkspaceError","results","bitMap","write","markRemoveComps","componentIds","shouldUpdateMain","components","getMany","removeComponentsFromNodeModules","map","c","state","_consumer","config","removed","removeOnMain","compId","addComponentConfig","RemoveAspect","id","deleteComponentsFiles","deleteComps","opts","ConsumerNotFound","idsByPattern","newComps","filter","hasVersion","length","BitError","toString","join","currentLane","getCurrentLaneObject","updateMain","isNew","Error","recover","compIdStr","options","bitMapEntry","find","compMap","fullName","toStringWithoutVersion","importComp","idStr","import","installNpmPackages","skipDependencyInstallation","writeConfigFiles","skipWriteConfigFiles","override","setAsRemovedFalse","addSpecificComponentConfig","_bitMapEntry$config","compFromScope","scope","rootDir","removeComponentConfig","_bitMapEntry$config2","resolveComponentId","comp","isRemoved","idOnLane","getComponent","compIdWithPossibleVer","changeVersion","head","_legacy","getRemoteComponent","err","NoHeadNoVersion","throwForMainComponentWhenOnLane","laneComps","toBitIds","mainComps","hasWithoutVersion","getRemoveInfo","component","_component$config$ext","extensions","findExtension","isRemovedByIdWithoutLoadingComponent","componentId","bitmapEntry","getBitmapEntryIfExist","isRecovered","modelComp","getBitObjectModelComponent","versionObj","getBitObjectVersion","version","getRemovedStaged","isOnMain","getRemovedStagedFromMain","getRemovedStagedFromLane","addRemovedDependenciesIssues","pMapSeries","addRemovedDepIssue","dependencies","getComponentDependencies","removedWithUndefined","Promise","all","dep","undefined","compact","issues","getOrCreate","IssuesClasses","RemovedDependencies","stagedConfig","getStagedConfig","getAll","compConfig","_compConfig$config","laneIds","workspaceIds","listIds","laneIdsNotInWorkspace","wId","isEqualWithoutVersion","laneCompIdsNotInWorkspace","resolveMultipleComponentIds","comps","staged","snapDistance","getSnapDistance","warn","name","isSourceAhead","hasWildcard","getRemoteBitIdsByWildcards","ComponentID","fromString","provider","cli","loggerMain","componentAspect","importerMain","createLogger","removeMain","registerAddComponentsIssues","bind","registerShowFragments","RemoveFragment","register","RemoveCmd","DeleteCmd","RecoverCmd","exports","WorkspaceAspect","CLIAspect","LoggerAspect","ComponentAspect","ImporterAspect","DependencyResolverAspect","IssuesAspect","MainRuntime","addRuntime","_default"],"sources":["remove.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\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 { getRemoteBitIdsByWildcards } from '@teambit/legacy/dist/api/consumer/lib/list-scope';\nimport { BitError } from '@teambit/bit-error';\nimport deleteComponentsFiles from '@teambit/legacy/dist/consumer/component-ops/delete-component-files';\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 { 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';\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\nexport class RemoveMain {\n constructor(\n private workspace: Workspace,\n public logger: Logger,\n private importer: ImporterMain,\n private depResolver: DependencyResolverMain\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 consumer,\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(ids: ComponentID[], { force = false }: { force?: boolean } = {}) {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const results = await removeComponents({\n consumer: this.workspace.consumer,\n ids: ComponentIdList.fromArray(ids),\n force,\n remote: false,\n track: false,\n deleteFiles: true,\n });\n await this.workspace.bitMap.write('remove');\n\n return results;\n }\n\n async markRemoveComps(componentIds: ComponentID[], shouldUpdateMain = false) {\n const components = await this.workspace.getMany(componentIds);\n await removeComponentsFromNodeModules(\n this.workspace.consumer,\n components.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 const config: RemoveInfo = { removed: true };\n if (shouldUpdateMain) config.removeOnMain = true;\n componentIds.map((compId) => this.workspace.bitMap.addComponentConfig(compId, RemoveAspect.id, config));\n await this.workspace.bitMap.write('delete');\n const bitIds = ComponentIdList.fromArray(componentIds.map((id) => id));\n await deleteComponentsFiles(this.workspace.consumer, bitIds);\n\n return componentIds;\n }\n\n async deleteComps(componentsPattern: string, opts: { updateMain?: boolean } = {}): Promise<ComponentID[]> {\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\n return this.markRemoveComps(componentIds, updateMain);\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 = await this.workspace.resolveComponentId(bitMapEntry.id);\n const comp = await this.workspace.get(compId);\n if (!this.isRemoved(comp)) {\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 && this.isRemoved(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 (!this.isRemoved(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 getRemoveInfo(component: Component): RemoveInfo {\n const data = component.config.extensions.findExtension(RemoveAspect.id)?.config as RemoveInfo | undefined;\n return {\n removed: data?.removed || false,\n };\n }\n\n isRemoved(component: Component): boolean {\n return this.getRemoveInfo(component).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);\n if (!modelComp) return false;\n const versionObj = await this.workspace.scope.getBitObjectVersion(modelComp, componentId.version as string);\n if (!versionObj) return false;\n return versionObj.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 = await 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.toBitIds();\n const workspaceIds = await this.workspace.listIds();\n const laneIdsNotInWorkspace = laneIds.filter((id) => !workspaceIds.find((wId) => wId.isEqualWithoutVersion(id)));\n if (!laneIdsNotInWorkspace.length) return [];\n const laneCompIdsNotInWorkspace = await this.workspace.scope.resolveMultipleComponentIds(laneIdsNotInWorkspace);\n const comps = await this.workspace.scope.getMany(laneCompIdsNotInWorkspace);\n const removed = comps.filter((c) => this.isRemoved(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 getRemoteBitIdsByWildcards(componentsPattern);\n }\n return [ComponentID.fromString(componentsPattern)];\n }\n\n static slots = [];\n static dependencies = [\n WorkspaceAspect,\n CLIAspect,\n LoggerAspect,\n ComponentAspect,\n ImporterAspect,\n DependencyResolverAspect,\n IssuesAspect,\n ];\n static runtime = MainRuntime;\n\n static async provider([workspace, cli, loggerMain, componentAspect, importerMain, depResolver, issues]: [\n Workspace,\n CLIMain,\n LoggerMain,\n ComponentMain,\n ImporterMain,\n DependencyResolverMain,\n IssuesMain\n ]) {\n const logger = loggerMain.createLogger(RemoveAspect.id);\n const removeMain = new RemoveMain(workspace, logger, importerMain, depResolver);\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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"}
|
|
1
|
+
{"version":3,"names":["_cli","data","require","_logger","_workspace","_interopRequireWildcard","_componentId","_exceptions","_importer","_interopRequireDefault","_lodash","_hasWildcard","_listScope","_bitError","_deleteComponentFiles","_dependencyResolver","_componentIssues","_issues","_pMapSeries","_noHeadNoVersion","_component","_packageJsonUtils","_removeCmd","_removeComponents","_remove","_remove2","_recoverCmd","_deleteCmd","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_defineProperty","key","value","_toPropertyKey","enumerable","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","BEFORE_REMOVE","RemoveMain","constructor","workspace","logger","importer","depResolver","remove","componentsPattern","force","remote","track","deleteFiles","setStatusLine","bitIds","getRemoteBitIdsToRemove","getLocalBitIdsToRemove","consumer","removeResults","removeComponents","ids","ComponentIdList","fromArray","onDestroy","removeLocallyByIds","OutsideWorkspaceError","results","bitMap","write","markRemoveComps","componentIds","shouldUpdateMain","components","getMany","removeComponentsFromNodeModules","map","c","state","_consumer","config","removed","removeOnMain","compId","addComponentConfig","RemoveAspect","id","deleteComponentsFiles","deleteComps","opts","ConsumerNotFound","idsByPattern","newComps","filter","hasVersion","length","BitError","toString","join","currentLane","getCurrentLaneObject","updateMain","isNew","Error","recover","compIdStr","options","bitMapEntry","find","compMap","fullName","toStringWithoutVersion","importComp","idStr","import","installNpmPackages","skipDependencyInstallation","writeConfigFiles","skipWriteConfigFiles","override","setAsRemovedFalse","addSpecificComponentConfig","compFromScope","scope","rootDir","removeComponentConfig","resolveComponentId","comp","isRemoved","idOnLane","getComponent","compIdWithPossibleVer","changeVersion","head","_legacy","getRemoteComponent","err","NoHeadNoVersion","throwForMainComponentWhenOnLane","laneComps","toBitIds","mainComps","hasWithoutVersion","getRemoveInfo","component","extensions","findExtension","isRemovedByIdWithoutLoadingComponent","componentId","bitmapEntry","getBitmapEntryIfExist","isRecovered","modelComp","getBitObjectModelComponent","versionObj","getBitObjectVersion","version","getRemovedStaged","isOnMain","getRemovedStagedFromMain","getRemovedStagedFromLane","addRemovedDependenciesIssues","pMapSeries","addRemovedDepIssue","dependencies","getComponentDependencies","removedWithUndefined","Promise","all","dep","undefined","compact","issues","getOrCreate","IssuesClasses","RemovedDependencies","stagedConfig","getStagedConfig","getAll","compConfig","laneIds","workspaceIds","listIds","laneIdsNotInWorkspace","wId","isEqualWithoutVersion","laneCompIdsNotInWorkspace","resolveMultipleComponentIds","comps","staged","snapDistance","getSnapDistance","warn","name","isSourceAhead","hasWildcard","getRemoteBitIdsByWildcards","ComponentID","fromString","provider","cli","loggerMain","componentAspect","importerMain","createLogger","removeMain","registerAddComponentsIssues","bind","registerShowFragments","RemoveFragment","register","RemoveCmd","DeleteCmd","RecoverCmd","exports","WorkspaceAspect","CLIAspect","LoggerAspect","ComponentAspect","ImporterAspect","DependencyResolverAspect","IssuesAspect","MainRuntime","addRuntime","_default"],"sources":["remove.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\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 { getRemoteBitIdsByWildcards } from '@teambit/legacy/dist/api/consumer/lib/list-scope';\nimport { BitError } from '@teambit/bit-error';\nimport deleteComponentsFiles from '@teambit/legacy/dist/consumer/component-ops/delete-component-files';\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 { 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';\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\nexport class RemoveMain {\n constructor(\n private workspace: Workspace,\n public logger: Logger,\n private importer: ImporterMain,\n private depResolver: DependencyResolverMain\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 consumer,\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(ids: ComponentID[], { force = false }: { force?: boolean } = {}) {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const results = await removeComponents({\n consumer: this.workspace.consumer,\n ids: ComponentIdList.fromArray(ids),\n force,\n remote: false,\n track: false,\n deleteFiles: true,\n });\n await this.workspace.bitMap.write('remove');\n\n return results;\n }\n\n async markRemoveComps(componentIds: ComponentID[], shouldUpdateMain = false) {\n const components = await this.workspace.getMany(componentIds);\n await removeComponentsFromNodeModules(\n this.workspace.consumer,\n components.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 const config: RemoveInfo = { removed: true };\n if (shouldUpdateMain) config.removeOnMain = true;\n componentIds.map((compId) => this.workspace.bitMap.addComponentConfig(compId, RemoveAspect.id, config));\n await this.workspace.bitMap.write('delete');\n const bitIds = ComponentIdList.fromArray(componentIds.map((id) => id));\n await deleteComponentsFiles(this.workspace.consumer, bitIds);\n\n return componentIds;\n }\n\n async deleteComps(componentsPattern: string, opts: { updateMain?: boolean } = {}): Promise<ComponentID[]> {\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\n return this.markRemoveComps(componentIds, updateMain);\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 = await this.workspace.resolveComponentId(bitMapEntry.id);\n const comp = await this.workspace.get(compId);\n if (!this.isRemoved(comp)) {\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 && this.isRemoved(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 (!this.isRemoved(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 getRemoveInfo(component: Component): RemoveInfo {\n const data = component.config.extensions.findExtension(RemoveAspect.id)?.config as RemoveInfo | undefined;\n return {\n removed: data?.removed || false,\n };\n }\n\n isRemoved(component: Component): boolean {\n return this.getRemoveInfo(component).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);\n if (!modelComp) return false;\n const versionObj = await this.workspace.scope.getBitObjectVersion(modelComp, componentId.version as string);\n if (!versionObj) return false;\n return versionObj.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 = await 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.toBitIds();\n const workspaceIds = await this.workspace.listIds();\n const laneIdsNotInWorkspace = laneIds.filter((id) => !workspaceIds.find((wId) => wId.isEqualWithoutVersion(id)));\n if (!laneIdsNotInWorkspace.length) return [];\n const laneCompIdsNotInWorkspace = await this.workspace.scope.resolveMultipleComponentIds(laneIdsNotInWorkspace);\n const comps = await this.workspace.scope.getMany(laneCompIdsNotInWorkspace);\n const removed = comps.filter((c) => this.isRemoved(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 getRemoteBitIdsByWildcards(componentsPattern);\n }\n return [ComponentID.fromString(componentsPattern)];\n }\n\n static slots = [];\n static dependencies = [\n WorkspaceAspect,\n CLIAspect,\n LoggerAspect,\n ComponentAspect,\n ImporterAspect,\n DependencyResolverAspect,\n IssuesAspect,\n ];\n static runtime = MainRuntime;\n\n static async provider([workspace, cli, loggerMain, componentAspect, importerMain, depResolver, issues]: [\n Workspace,\n CLIMain,\n LoggerMain,\n ComponentMain,\n ImporterMain,\n DependencyResolverMain,\n IssuesMain\n ]) {\n const logger = loggerMain.createLogger(RemoveAspect.id);\n const removeMain = new RemoveMain(workspace, logger, importerMain, depResolver);\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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"}
|
package/index.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { RemoveAspect } from './remove.aspect';
|
|
2
|
+
|
|
3
|
+
export type { RemoveMain, RemoveInfo } from './remove.main.runtime';
|
|
4
|
+
export type { RemovedLocalObjects } from './removed-local-objects';
|
|
5
|
+
export { removeTemplate } from './remove-template';
|
|
6
|
+
export default RemoveAspect;
|
|
7
|
+
export { RemoveAspect };
|