@teambit/lister 1.0.848 → 1.0.850
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/list.cmd.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export declare class ListCmd implements Command {
|
|
|
23
23
|
remoteOp: boolean;
|
|
24
24
|
constructor(lister: ListerMain);
|
|
25
25
|
report([scopeName]: string[], listFlags: ListFlags): Promise<string>;
|
|
26
|
-
json([scopeName]: string[], listFlags: ListFlags): Promise<
|
|
26
|
+
json([scopeName]: string[], listFlags: ListFlags): Promise<Record<string, any> | string[]>;
|
|
27
27
|
private getListResults;
|
|
28
28
|
}
|
|
29
29
|
export {};
|
|
@@ -14,12 +14,24 @@ export declare class ListerMain {
|
|
|
14
14
|
private logger;
|
|
15
15
|
private workspace?;
|
|
16
16
|
constructor(logger: Logger, workspace?: Workspace | undefined);
|
|
17
|
-
remoteList(scopeName: string, { namespacesUsingWildcards, includeDeprecated, includeDeleted, }: {
|
|
17
|
+
remoteList(scopeName: string, { namespacesUsingWildcards, includeDeprecated, includeDeleted, skipStatusLine, }: {
|
|
18
18
|
namespacesUsingWildcards?: string;
|
|
19
19
|
includeDeprecated?: boolean;
|
|
20
20
|
includeDeleted?: boolean;
|
|
21
|
+
skipStatusLine?: boolean;
|
|
21
22
|
}): Promise<ListScopeResult[]>;
|
|
22
23
|
getRemoteCompIdsByWildcards(idStr: string, includeDeprecated?: boolean): Promise<ComponentID[]>;
|
|
24
|
+
/**
|
|
25
|
+
* Get all component IDs from all scopes owned by a specific owner, grouped by scope.
|
|
26
|
+
* This is used with the --owner flag, e.g., `bit import teambit --owner`.
|
|
27
|
+
* Returns a map of scopeName -> componentIds, allowing the caller to handle each scope separately.
|
|
28
|
+
*/
|
|
29
|
+
getRemoteCompIdsByOwnerGrouped(owner: string, includeDeprecated?: boolean): Promise<{
|
|
30
|
+
scopeIds: Map<string, ComponentID[]>;
|
|
31
|
+
failedScopes: string[];
|
|
32
|
+
failedScopesErrors: Map<string, string>;
|
|
33
|
+
}>;
|
|
34
|
+
private extractErrorMessage;
|
|
23
35
|
localList(showAll?: boolean, showRemoteVersion?: boolean, namespacesUsingWildcards?: string, scopeName?: string): Promise<ListScopeResult[]>;
|
|
24
36
|
private sortListScopeResults;
|
|
25
37
|
static slots: never[];
|
|
@@ -53,6 +53,13 @@ function _bitError() {
|
|
|
53
53
|
};
|
|
54
54
|
return data;
|
|
55
55
|
}
|
|
56
|
+
function _toolboxPromise() {
|
|
57
|
+
const data = require("@teambit/toolbox.promise.map-pool");
|
|
58
|
+
_toolboxPromise = function () {
|
|
59
|
+
return data;
|
|
60
|
+
};
|
|
61
|
+
return data;
|
|
62
|
+
}
|
|
56
63
|
function _list() {
|
|
57
64
|
const data = require("./list.cmd");
|
|
58
65
|
_list = function () {
|
|
@@ -87,10 +94,13 @@ class ListerMain {
|
|
|
87
94
|
async remoteList(scopeName, {
|
|
88
95
|
namespacesUsingWildcards,
|
|
89
96
|
includeDeprecated = true,
|
|
90
|
-
includeDeleted = false
|
|
97
|
+
includeDeleted = false,
|
|
98
|
+
skipStatusLine = false
|
|
91
99
|
}) {
|
|
92
100
|
const remote = await (0, _scope().getRemoteByName)(scopeName, this.workspace?.consumer);
|
|
93
|
-
|
|
101
|
+
if (!skipStatusLine) {
|
|
102
|
+
this.logger.setStatusLine(BEFORE_REMOTE_LIST);
|
|
103
|
+
}
|
|
94
104
|
const listResult = await remote.list(namespacesUsingWildcards, includeDeleted);
|
|
95
105
|
const results = includeDeprecated ? listResult : listResult.filter(r => !r.deprecated);
|
|
96
106
|
return this.sortListScopeResults(results);
|
|
@@ -111,6 +121,72 @@ class ListerMain {
|
|
|
111
121
|
}
|
|
112
122
|
return listResult.map(result => result.id);
|
|
113
123
|
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Get all component IDs from all scopes owned by a specific owner, grouped by scope.
|
|
127
|
+
* This is used with the --owner flag, e.g., `bit import teambit --owner`.
|
|
128
|
+
* Returns a map of scopeName -> componentIds, allowing the caller to handle each scope separately.
|
|
129
|
+
*/
|
|
130
|
+
async getRemoteCompIdsByOwnerGrouped(owner, includeDeprecated = true) {
|
|
131
|
+
this.logger.setStatusLine(`fetching scopes for owner "${owner}"`);
|
|
132
|
+
const scopes = await (0, _scope().listScopesByOwner)(owner);
|
|
133
|
+
if (!scopes.length) {
|
|
134
|
+
throw new (_bitError().BitError)(`no scopes found for owner "${owner}"`);
|
|
135
|
+
}
|
|
136
|
+
const totalScopes = scopes.length;
|
|
137
|
+
this.logger.consoleSuccess(`found ${totalScopes} scopes for owner "${owner}"`);
|
|
138
|
+
this.logger.setStatusLine(`fetching component-ids from ${totalScopes} scopes for owner "${owner}"`);
|
|
139
|
+
const scopeIds = new Map();
|
|
140
|
+
const failedScopes = [];
|
|
141
|
+
const failedScopesErrors = new Map();
|
|
142
|
+
await (0, _toolboxPromise().pMapPool)(scopes, async scopeName => {
|
|
143
|
+
try {
|
|
144
|
+
const listResult = await this.remoteList(scopeName, {
|
|
145
|
+
namespacesUsingWildcards: '**',
|
|
146
|
+
includeDeprecated,
|
|
147
|
+
skipStatusLine: true
|
|
148
|
+
});
|
|
149
|
+
const ids = listResult.map(result => result.id);
|
|
150
|
+
if (ids.length) {
|
|
151
|
+
scopeIds.set(scopeName, ids);
|
|
152
|
+
}
|
|
153
|
+
} catch (err) {
|
|
154
|
+
failedScopes.push(scopeName);
|
|
155
|
+
failedScopesErrors.set(scopeName, this.extractErrorMessage(err));
|
|
156
|
+
}
|
|
157
|
+
}, {
|
|
158
|
+
concurrency: 10
|
|
159
|
+
});
|
|
160
|
+
if (!scopeIds.size) {
|
|
161
|
+
throw new (_noIdMatchWildcard().NoIdMatchWildcard)([`${owner}/**`]);
|
|
162
|
+
}
|
|
163
|
+
const totalComponents = Array.from(scopeIds.values()).reduce((sum, ids) => sum + ids.length, 0);
|
|
164
|
+
this.logger.consoleSuccess(`found ${totalComponents} components across ${scopeIds.size} scopes`);
|
|
165
|
+
return {
|
|
166
|
+
scopeIds,
|
|
167
|
+
failedScopes,
|
|
168
|
+
failedScopesErrors
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
extractErrorMessage(err) {
|
|
172
|
+
// GraphQL client errors have response.errors array
|
|
173
|
+
if (err.response?.errors?.length) {
|
|
174
|
+
return err.response.errors.map(e => e.message).join('; ');
|
|
175
|
+
}
|
|
176
|
+
// Sometimes the error message itself is JSON stringified
|
|
177
|
+
const msg = err.message || String(err);
|
|
178
|
+
if (msg.startsWith('{')) {
|
|
179
|
+
try {
|
|
180
|
+
const parsed = JSON.parse(msg);
|
|
181
|
+
if (parsed.response?.errors?.length) {
|
|
182
|
+
return parsed.response.errors.map(e => e.message).join('; ');
|
|
183
|
+
}
|
|
184
|
+
} catch {
|
|
185
|
+
// Not valid JSON, return as-is
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return msg;
|
|
189
|
+
}
|
|
114
190
|
async localList(showAll = false, showRemoteVersion = false, namespacesUsingWildcards, scopeName) {
|
|
115
191
|
if (!this.workspace) {
|
|
116
192
|
throw new (_legacy().ConsumerNotFound)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cli","data","require","_logger","_workspace","_legacy","_scope","_legacy2","_bitError","_list","_lister","_noIdMatchWildcard","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","BEFORE_REMOTE_LIST","BEFORE_LOCAL_LIST","ListerMain","constructor","logger","workspace","remoteList","scopeName","namespacesUsingWildcards","includeDeprecated","includeDeleted","remote","getRemoteByName","consumer","setStatusLine","listResult","list","results","filter","deprecated","sortListScopeResults","getRemoteCompIdsByWildcards","idStr","includes","BitError","idSplit","split","rest","join","length","NoIdMatchWildcard","map","result","id","localList","showAll","showRemoteVersion","ConsumerNotFound","componentsList","ComponentsList","listAll","scope","listScopeResults","sort","a","b","toString","localeCompare","provider","cli","loggerMain","createLogger","ListerAspect","lister","register","ListCmd","exports","CLIAspect","LoggerAspect","WorkspaceAspect","MainRuntime","addRuntime"],"sources":["lister.main.runtime.ts"],"sourcesContent":["import type { CLIMain } from '@teambit/cli';\nimport { CLIAspect, MainRuntime } from '@teambit/cli';\nimport type { Logger, LoggerMain } from '@teambit/logger';\nimport { LoggerAspect } from '@teambit/logger';\nimport type { Workspace } from '@teambit/workspace';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { ComponentID } from '@teambit/component-id';\nimport { ConsumerNotFound } from '@teambit/legacy.consumer';\nimport type { Remote } from '@teambit/scope.remotes';\nimport { getRemoteByName } from '@teambit/scope.remotes';\nimport { ComponentsList } from '@teambit/legacy.component-list';\nimport { BitError } from '@teambit/bit-error';\nimport { ListCmd } from './list.cmd';\nimport { ListerAspect } from './lister.aspect';\nimport { NoIdMatchWildcard } from './no-id-match-wildcard';\n\nconst BEFORE_REMOTE_LIST = 'listing remote components';\nconst BEFORE_LOCAL_LIST = 'listing components';\n\nexport type ListScopeResult = {\n id: ComponentID;\n currentlyUsedVersion?: string | null | undefined;\n remoteVersion?: string;\n deprecated?: boolean;\n removed?: boolean;\n laneReadmeOf?: string[];\n};\n\nexport class ListerMain {\n constructor(\n private logger: Logger,\n private workspace?: Workspace\n ) {}\n\n async remoteList(\n scopeName: string,\n {\n namespacesUsingWildcards,\n includeDeprecated = true,\n includeDeleted = false,\n }: {\n namespacesUsingWildcards?: string;\n includeDeprecated?: boolean;\n includeDeleted?: boolean;\n }\n ): Promise<ListScopeResult[]> {\n const remote: Remote = await getRemoteByName(scopeName, this.workspace?.consumer);\n this.logger.setStatusLine(BEFORE_REMOTE_LIST);\n const listResult = await remote.list(namespacesUsingWildcards, includeDeleted);\n const results = includeDeprecated ? listResult : listResult.filter((r) => !r.deprecated);\n return this.sortListScopeResults(results);\n }\n\n async getRemoteCompIdsByWildcards(idStr: string, includeDeprecated = true): Promise<ComponentID[]> {\n if (!idStr.includes('/')) {\n throw new BitError(`import with wildcards expects full scope-name before the wildcards, instead, got \"${idStr}\"`);\n }\n const idSplit = idStr.split('/');\n const [scopeName, ...rest] = idSplit;\n const namespacesUsingWildcards = rest.join('/');\n const listResult = await this.remoteList(scopeName, { namespacesUsingWildcards, includeDeprecated });\n if (!listResult.length) {\n throw new NoIdMatchWildcard([idStr]);\n }\n return listResult.map((result) => result.id);\n }\n\n async localList(\n showAll = false,\n showRemoteVersion = false,\n namespacesUsingWildcards?: string,\n scopeName?: string\n ): Promise<ListScopeResult[]> {\n if (!this.workspace) {\n throw new ConsumerNotFound();\n }\n this.logger.setStatusLine(BEFORE_LOCAL_LIST);\n const componentsList = new ComponentsList(this.workspace);\n let results = await componentsList.listAll(showRemoteVersion, showAll, namespacesUsingWildcards);\n if (scopeName) {\n results = results.filter((result) => result.id.scope === scopeName);\n }\n return this.sortListScopeResults(results);\n }\n\n private sortListScopeResults(listScopeResults: ListScopeResult[]): ListScopeResult[] {\n return listScopeResults.sort((a, b) => a.id.toString().localeCompare(b.id.toString()));\n }\n\n static slots = [];\n static dependencies = [CLIAspect, LoggerAspect, WorkspaceAspect];\n static runtime = MainRuntime;\n static async provider([cli, loggerMain, workspace]: [CLIMain, LoggerMain, Workspace]) {\n const logger = loggerMain.createLogger(ListerAspect.id);\n const lister = new ListerMain(logger, workspace);\n cli.register(new ListCmd(lister));\n return lister;\n }\n}\n\nListerAspect.addRuntime(ListerMain);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_cli","data","require","_logger","_workspace","_legacy","_scope","_legacy2","_bitError","_toolboxPromise","_list","_lister","_noIdMatchWildcard","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","BEFORE_REMOTE_LIST","BEFORE_LOCAL_LIST","ListerMain","constructor","logger","workspace","remoteList","scopeName","namespacesUsingWildcards","includeDeprecated","includeDeleted","skipStatusLine","remote","getRemoteByName","consumer","setStatusLine","listResult","list","results","filter","deprecated","sortListScopeResults","getRemoteCompIdsByWildcards","idStr","includes","BitError","idSplit","split","rest","join","length","NoIdMatchWildcard","map","result","id","getRemoteCompIdsByOwnerGrouped","owner","scopes","listScopesByOwner","totalScopes","consoleSuccess","scopeIds","Map","failedScopes","failedScopesErrors","pMapPool","ids","set","err","push","extractErrorMessage","concurrency","size","totalComponents","Array","from","values","reduce","sum","response","errors","message","msg","startsWith","parsed","JSON","parse","localList","showAll","showRemoteVersion","ConsumerNotFound","componentsList","ComponentsList","listAll","scope","listScopeResults","sort","a","b","toString","localeCompare","provider","cli","loggerMain","createLogger","ListerAspect","lister","register","ListCmd","exports","CLIAspect","LoggerAspect","WorkspaceAspect","MainRuntime","addRuntime"],"sources":["lister.main.runtime.ts"],"sourcesContent":["import type { CLIMain } from '@teambit/cli';\nimport { CLIAspect, MainRuntime } from '@teambit/cli';\nimport type { Logger, LoggerMain } from '@teambit/logger';\nimport { LoggerAspect } from '@teambit/logger';\nimport type { Workspace } from '@teambit/workspace';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { ComponentID } from '@teambit/component-id';\nimport { ConsumerNotFound } from '@teambit/legacy.consumer';\nimport type { Remote } from '@teambit/scope.remotes';\nimport { getRemoteByName, listScopesByOwner } from '@teambit/scope.remotes';\nimport { ComponentsList } from '@teambit/legacy.component-list';\nimport { BitError } from '@teambit/bit-error';\nimport { pMapPool } from '@teambit/toolbox.promise.map-pool';\nimport { ListCmd } from './list.cmd';\nimport { ListerAspect } from './lister.aspect';\nimport { NoIdMatchWildcard } from './no-id-match-wildcard';\n\nconst BEFORE_REMOTE_LIST = 'listing remote components';\nconst BEFORE_LOCAL_LIST = 'listing components';\n\nexport type ListScopeResult = {\n id: ComponentID;\n currentlyUsedVersion?: string | null | undefined;\n remoteVersion?: string;\n deprecated?: boolean;\n removed?: boolean;\n laneReadmeOf?: string[];\n};\n\nexport class ListerMain {\n constructor(\n private logger: Logger,\n private workspace?: Workspace\n ) {}\n\n async remoteList(\n scopeName: string,\n {\n namespacesUsingWildcards,\n includeDeprecated = true,\n includeDeleted = false,\n skipStatusLine = false,\n }: {\n namespacesUsingWildcards?: string;\n includeDeprecated?: boolean;\n includeDeleted?: boolean;\n skipStatusLine?: boolean;\n }\n ): Promise<ListScopeResult[]> {\n const remote: Remote = await getRemoteByName(scopeName, this.workspace?.consumer);\n if (!skipStatusLine) {\n this.logger.setStatusLine(BEFORE_REMOTE_LIST);\n }\n const listResult = await remote.list(namespacesUsingWildcards, includeDeleted);\n const results = includeDeprecated ? listResult : listResult.filter((r) => !r.deprecated);\n return this.sortListScopeResults(results);\n }\n\n async getRemoteCompIdsByWildcards(idStr: string, includeDeprecated = true): Promise<ComponentID[]> {\n if (!idStr.includes('/')) {\n throw new BitError(`import with wildcards expects full scope-name before the wildcards, instead, got \"${idStr}\"`);\n }\n const idSplit = idStr.split('/');\n const [scopeName, ...rest] = idSplit;\n const namespacesUsingWildcards = rest.join('/');\n const listResult = await this.remoteList(scopeName, { namespacesUsingWildcards, includeDeprecated });\n if (!listResult.length) {\n throw new NoIdMatchWildcard([idStr]);\n }\n return listResult.map((result) => result.id);\n }\n\n /**\n * Get all component IDs from all scopes owned by a specific owner, grouped by scope.\n * This is used with the --owner flag, e.g., `bit import teambit --owner`.\n * Returns a map of scopeName -> componentIds, allowing the caller to handle each scope separately.\n */\n async getRemoteCompIdsByOwnerGrouped(\n owner: string,\n includeDeprecated = true\n ): Promise<{\n scopeIds: Map<string, ComponentID[]>;\n failedScopes: string[];\n failedScopesErrors: Map<string, string>;\n }> {\n this.logger.setStatusLine(`fetching scopes for owner \"${owner}\"`);\n const scopes = await listScopesByOwner(owner);\n\n if (!scopes.length) {\n throw new BitError(`no scopes found for owner \"${owner}\"`);\n }\n\n const totalScopes = scopes.length;\n this.logger.consoleSuccess(`found ${totalScopes} scopes for owner \"${owner}\"`);\n this.logger.setStatusLine(`fetching component-ids from ${totalScopes} scopes for owner \"${owner}\"`);\n const scopeIds = new Map<string, ComponentID[]>();\n const failedScopes: string[] = [];\n const failedScopesErrors = new Map<string, string>();\n\n await pMapPool(\n scopes,\n async (scopeName) => {\n try {\n const listResult = await this.remoteList(scopeName, {\n namespacesUsingWildcards: '**',\n includeDeprecated,\n skipStatusLine: true,\n });\n const ids = listResult.map((result) => result.id);\n if (ids.length) {\n scopeIds.set(scopeName, ids);\n }\n } catch (err: any) {\n failedScopes.push(scopeName);\n failedScopesErrors.set(scopeName, this.extractErrorMessage(err));\n }\n },\n { concurrency: 10 }\n );\n\n if (!scopeIds.size) {\n throw new NoIdMatchWildcard([`${owner}/**`]);\n }\n\n const totalComponents = Array.from(scopeIds.values()).reduce((sum, ids) => sum + ids.length, 0);\n this.logger.consoleSuccess(`found ${totalComponents} components across ${scopeIds.size} scopes`);\n\n return { scopeIds, failedScopes, failedScopesErrors };\n }\n\n private extractErrorMessage(err: any): string {\n // GraphQL client errors have response.errors array\n if (err.response?.errors?.length) {\n return err.response.errors.map((e: any) => e.message).join('; ');\n }\n // Sometimes the error message itself is JSON stringified\n const msg = err.message || String(err);\n if (msg.startsWith('{')) {\n try {\n const parsed = JSON.parse(msg);\n if (parsed.response?.errors?.length) {\n return parsed.response.errors.map((e: any) => e.message).join('; ');\n }\n } catch {\n // Not valid JSON, return as-is\n }\n }\n return msg;\n }\n\n async localList(\n showAll = false,\n showRemoteVersion = false,\n namespacesUsingWildcards?: string,\n scopeName?: string\n ): Promise<ListScopeResult[]> {\n if (!this.workspace) {\n throw new ConsumerNotFound();\n }\n this.logger.setStatusLine(BEFORE_LOCAL_LIST);\n const componentsList = new ComponentsList(this.workspace);\n let results = await componentsList.listAll(showRemoteVersion, showAll, namespacesUsingWildcards);\n if (scopeName) {\n results = results.filter((result) => result.id.scope === scopeName);\n }\n return this.sortListScopeResults(results);\n }\n\n private sortListScopeResults(listScopeResults: ListScopeResult[]): ListScopeResult[] {\n return listScopeResults.sort((a, b) => a.id.toString().localeCompare(b.id.toString()));\n }\n\n static slots = [];\n static dependencies = [CLIAspect, LoggerAspect, WorkspaceAspect];\n static runtime = MainRuntime;\n static async provider([cli, loggerMain, workspace]: [CLIMain, LoggerMain, Workspace]) {\n const logger = loggerMain.createLogger(ListerAspect.id);\n const lister = new ListerMain(logger, workspace);\n cli.register(new ListCmd(lister));\n return lister;\n }\n}\n\nListerAspect.addRuntime(ListerMain);\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,28 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/lister",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.850",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/component/lister",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.component",
|
|
8
8
|
"name": "lister",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.850"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "4.1.2",
|
|
13
13
|
"cli-table": "0.3.6",
|
|
14
14
|
"semver": "7.7.1",
|
|
15
15
|
"lodash": "4.17.21",
|
|
16
|
+
"@teambit/legacy.utils": "0.0.31",
|
|
16
17
|
"@teambit/harmony": "0.4.7",
|
|
17
18
|
"@teambit/bit-error": "0.0.404",
|
|
18
19
|
"@teambit/component-id": "1.2.4",
|
|
19
|
-
"@teambit/
|
|
20
|
-
"@teambit/
|
|
21
|
-
"@teambit/legacy.component-list": "0.0.
|
|
22
|
-
"@teambit/legacy.consumer": "0.0.
|
|
23
|
-
"@teambit/logger": "0.0.
|
|
24
|
-
"@teambit/scope.remotes": "0.0.
|
|
25
|
-
"@teambit/workspace": "1.0.
|
|
20
|
+
"@teambit/toolbox.promise.map-pool": "0.0.11",
|
|
21
|
+
"@teambit/cli": "0.0.1293",
|
|
22
|
+
"@teambit/legacy.component-list": "0.0.147",
|
|
23
|
+
"@teambit/legacy.consumer": "0.0.93",
|
|
24
|
+
"@teambit/logger": "0.0.1386",
|
|
25
|
+
"@teambit/scope.remotes": "0.0.93",
|
|
26
|
+
"@teambit/workspace": "1.0.850"
|
|
26
27
|
},
|
|
27
28
|
"devDependencies": {
|
|
28
29
|
"@types/cli-table": "^0.3.0",
|
|
File without changes
|