@teambit/dependencies 0.0.145 → 0.0.148

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.
@@ -60,6 +60,48 @@ export declare class DependenciesRemoveCmd implements Command {
60
60
  constructor(deps: DependenciesMain);
61
61
  report([pattern, packages]: [string, string[]], removeDepsFlags: RemoveDependenciesFlags): Promise<string>;
62
62
  }
63
+ export declare class DependenciesResetCmd implements Command {
64
+ private deps;
65
+ name: string;
66
+ arguments: {
67
+ name: string;
68
+ description: string;
69
+ }[];
70
+ group: string;
71
+ description: string;
72
+ alias: string;
73
+ options: CommandOptions;
74
+ constructor(deps: DependenciesMain);
75
+ report([pattern]: [string]): Promise<string>;
76
+ }
77
+ export declare class DependenciesEjectCmd implements Command {
78
+ private deps;
79
+ name: string;
80
+ arguments: {
81
+ name: string;
82
+ description: string;
83
+ }[];
84
+ group: string;
85
+ description: string;
86
+ alias: string;
87
+ options: CommandOptions;
88
+ constructor(deps: DependenciesMain);
89
+ report([pattern]: [string]): Promise<string>;
90
+ }
91
+ export declare class DependenciesBlameCmd implements Command {
92
+ private deps;
93
+ name: string;
94
+ arguments: {
95
+ name: string;
96
+ description: string;
97
+ }[];
98
+ group: string;
99
+ description: string;
100
+ alias: string;
101
+ options: CommandOptions;
102
+ constructor(deps: DependenciesMain);
103
+ report([compName, depName]: [string, string]): Promise<string>;
104
+ }
63
105
  export declare class DependenciesCmd implements Command {
64
106
  name: string;
65
107
  alias: string;
@@ -6,7 +6,7 @@ require("core-js/modules/es.promise.js");
6
6
  Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
- exports.DependenciesSetCmd = exports.DependenciesRemoveCmd = exports.DependenciesGetCmd = exports.DependenciesDebugCmd = exports.DependenciesCmd = void 0;
9
+ exports.DependenciesSetCmd = exports.DependenciesResetCmd = exports.DependenciesRemoveCmd = exports.DependenciesGetCmd = exports.DependenciesEjectCmd = exports.DependenciesDebugCmd = exports.DependenciesCmd = exports.DependenciesBlameCmd = void 0;
10
10
  function _defineProperty2() {
11
11
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
12
  _defineProperty2 = function () {
@@ -14,6 +14,13 @@ function _defineProperty2() {
14
14
  };
15
15
  return data;
16
16
  }
17
+ function _cliTable() {
18
+ const data = _interopRequireDefault(require("cli-table"));
19
+ _cliTable = function () {
20
+ return data;
21
+ };
22
+ return data;
23
+ }
17
24
  function _chalk() {
18
25
  const data = _interopRequireDefault(require("chalk"));
19
26
  _chalk = function () {
@@ -192,6 +199,100 @@ class DependenciesRemoveCmd {
192
199
  }
193
200
  }
194
201
  exports.DependenciesRemoveCmd = DependenciesRemoveCmd;
202
+ class DependenciesResetCmd {
203
+ constructor(deps) {
204
+ this.deps = deps;
205
+ (0, _defineProperty2().default)(this, "name", 'reset <component-pattern>');
206
+ (0, _defineProperty2().default)(this, "arguments", [{
207
+ name: 'component-pattern',
208
+ description: _constants().COMPONENT_PATTERN_HELP
209
+ }]);
210
+ (0, _defineProperty2().default)(this, "group", 'info');
211
+ (0, _defineProperty2().default)(this, "description", 'reset dependencies to the default values (revert any previously "bit deps set")');
212
+ (0, _defineProperty2().default)(this, "alias", '');
213
+ (0, _defineProperty2().default)(this, "options", []);
214
+ }
215
+ async report([pattern]) {
216
+ const results = await this.deps.reset(pattern);
217
+ const comps = results.map(id => id.toString());
218
+ return `${_chalk().default.green('successfully reset dependencies for the following component(s)')}\n${comps}`;
219
+ }
220
+ }
221
+ exports.DependenciesResetCmd = DependenciesResetCmd;
222
+ class DependenciesEjectCmd {
223
+ constructor(deps) {
224
+ this.deps = deps;
225
+ (0, _defineProperty2().default)(this, "name", 'eject <component-pattern>');
226
+ (0, _defineProperty2().default)(this, "arguments", [{
227
+ name: 'component-pattern',
228
+ description: _constants().COMPONENT_PATTERN_HELP
229
+ }]);
230
+ (0, _defineProperty2().default)(this, "group", 'info');
231
+ (0, _defineProperty2().default)(this, "description", 'write dependencies that were previously set via "bit deps set" into .bitmap');
232
+ (0, _defineProperty2().default)(this, "alias", '');
233
+ (0, _defineProperty2().default)(this, "options", []);
234
+ }
235
+ async report([pattern]) {
236
+ const results = await this.deps.eject(pattern);
237
+ const comps = results.map(id => id.toString());
238
+ return `${_chalk().default.green('successfully ejected dependencies for the following component(s)')}\n${comps}`;
239
+ }
240
+ }
241
+ exports.DependenciesEjectCmd = DependenciesEjectCmd;
242
+ class DependenciesBlameCmd {
243
+ constructor(deps) {
244
+ this.deps = deps;
245
+ (0, _defineProperty2().default)(this, "name", 'blame <component-name> <dependency-name>');
246
+ (0, _defineProperty2().default)(this, "arguments", [{
247
+ name: 'dependency-name',
248
+ description: 'package-name. for components, you can use either component-id or package-name'
249
+ }]);
250
+ (0, _defineProperty2().default)(this, "group", 'info');
251
+ (0, _defineProperty2().default)(this, "description", 'EXPERIMENTAL. find out which snap/tag changed a dependency version');
252
+ (0, _defineProperty2().default)(this, "alias", '');
253
+ (0, _defineProperty2().default)(this, "options", []);
254
+ }
255
+ async report([compName, depName]) {
256
+ const results = await this.deps.blame(compName, depName);
257
+ if (!results.length) {
258
+ return _chalk().default.yellow(`the specified component ${compName} does not use the entered dependency ${depName}`);
259
+ }
260
+ // table with no style and no borders, just to align the columns.
261
+ const table = new (_cliTable().default)({
262
+ chars: {
263
+ top: '',
264
+ 'top-mid': '',
265
+ 'top-left': '',
266
+ 'top-right': '',
267
+ bottom: '',
268
+ 'bottom-mid': '',
269
+ 'bottom-left': '',
270
+ 'bottom-right': '',
271
+ left: '',
272
+ 'left-mid': '',
273
+ mid: '',
274
+ 'mid-mid': '',
275
+ right: '',
276
+ 'right-mid': '',
277
+ middle: ' '
278
+ },
279
+ style: {
280
+ 'padding-left': 0,
281
+ 'padding-right': 0
282
+ }
283
+ });
284
+ results.map(({
285
+ snap,
286
+ tag,
287
+ author,
288
+ date,
289
+ message,
290
+ version
291
+ }) => table.push([snap, tag || '', author, date, message, version]));
292
+ return table.toString();
293
+ }
294
+ }
295
+ exports.DependenciesBlameCmd = DependenciesBlameCmd;
195
296
  class DependenciesCmd {
196
297
  constructor() {
197
298
  (0, _defineProperty2().default)(this, "name", 'deps <sub-command>');
@@ -1 +1 @@
1
- {"version":3,"names":["DependenciesGetCmd","name","description","report","id","tree","results","dependencies","idWithVersion","workspaceGraph","_getIdWithLatestVersion","getGraphAsTree","graph","graphAsTree","getDependenciesAsObjectTree","toString","archy","err","constructor","chalk","red","workspaceTree","scopeTree","scopeGraph","green","getDependenciesInfo","getScopeDependencies","IdNotFoundInGraph","length","toStringWithoutVersion","scopeTable","generateDependenciesInfoTable","workspaceTable","bold","DependenciesDebugCmd","JSON","stringify","undefined","DependenciesSetCmd","deps","COMPONENT_PATTERN_HELP","pattern","packages","setDepsFlags","changedComps","addedPackages","setDependency","join","DependenciesRemoveCmd","removeDepsFlags","removeDependency","yellow","output","map","removedPackages","underline","DependenciesCmd","unrecognizedSubcommand"],"sources":["dependencies-cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\nimport archy from 'archy';\nimport {\n dependencies,\n DependenciesResultsDebug,\n DependenciesResults,\n} from '@teambit/legacy/dist/api/consumer/lib/dependencies';\nimport { generateDependenciesInfoTable } from '@teambit/legacy/dist/cli/templates/component-template';\nimport { IdNotFoundInGraph } from '@teambit/legacy/dist/scope/exceptions/id-not-found-in-graph';\nimport DependencyGraph from '@teambit/legacy/dist/scope/graph/scope-graph';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { DependenciesMain } from './dependencies.main.runtime';\n\ntype GetDependenciesFlags = {\n tree: boolean;\n};\n\nexport type SetDependenciesFlags = {\n dev?: boolean;\n peer?: boolean;\n};\n\nexport type RemoveDependenciesFlags = SetDependenciesFlags;\n\nexport class DependenciesGetCmd implements Command {\n name = 'get <component-name>';\n arguments = [{ name: 'component-name', description: 'component name or component id' }];\n group = 'info';\n description = 'show direct and indirect dependencies of the given component';\n alias = '';\n options = [['t', 'tree', 'EXPERIMENTAL. render dependencies as a tree, similar to \"npm ls\"']] as CommandOptions;\n\n async report([id]: [string], { tree = false }: GetDependenciesFlags) {\n const results = (await dependencies(id, false)) as DependenciesResults;\n\n if (tree) {\n const idWithVersion = results.workspaceGraph._getIdWithLatestVersion(results.id);\n const getGraphAsTree = (graph: DependencyGraph) => {\n try {\n const graphAsTree = graph.getDependenciesAsObjectTree(idWithVersion.toString());\n return archy(graphAsTree);\n } catch (err: any) {\n if (err.constructor.name === 'RangeError') {\n return `${chalk.red('unable to generate a tree representation, the graph is too big or has cycles')}`;\n }\n throw err;\n }\n };\n const workspaceTree = getGraphAsTree(results.workspaceGraph);\n const scopeTree = getGraphAsTree(results.scopeGraph);\n return `${chalk.green('workspace')}:\\n${workspaceTree}\\n\\n${chalk.green('scope')}:\\n${scopeTree}`;\n }\n const workspaceGraph = results.workspaceGraph.getDependenciesInfo(results.id);\n const getScopeDependencies = () => {\n try {\n return results.scopeGraph.getDependenciesInfo(results.id);\n } catch (err) {\n if (err instanceof IdNotFoundInGraph) return []; // component might be new\n throw err;\n }\n };\n const scopeGraph = getScopeDependencies();\n if (!scopeGraph.length && !workspaceGraph.length) {\n return `no dependencies found for ${results.id.toString()}.\ntry running \"bit cat-component ${results.id.toStringWithoutVersion()}\" to see whether the component/version exists locally`;\n }\n\n const scopeTable = generateDependenciesInfoTable(scopeGraph, results.id);\n const workspaceTable = generateDependenciesInfoTable(workspaceGraph, results.id);\n return `${chalk.bold('Dependencies originated from workspace')}\n${workspaceTable || '<none>'}\n\n${chalk.bold('Dependencies originated from scope')}\n${scopeTable || '<none>'}`;\n }\n}\n\nexport class DependenciesDebugCmd implements Command {\n name = 'debug <component-name>';\n arguments = [{ name: 'component-name', description: 'component name or component id' }];\n group = 'info';\n description = 'show the immediate dependencies and how their versions were determined';\n alias = '';\n options = [] as CommandOptions;\n\n async report([id]: [string]) {\n const results = (await dependencies(id, true)) as DependenciesResultsDebug;\n return JSON.stringify(results, undefined, 4);\n }\n}\n\nexport class DependenciesSetCmd implements Command {\n name = 'set <component-pattern> <package...>';\n arguments = [\n { name: 'component-pattern', description: COMPONENT_PATTERN_HELP },\n {\n name: 'package...',\n description:\n 'package name with or without a version, e.g. \"lodash@1.0.0\" or just \"lodash\" which will be resolved to the latest',\n },\n ];\n group = 'info';\n description = 'set a dependency to component(s)';\n alias = '';\n options = [\n ['d', 'dev', 'add to the devDependencies'],\n ['p', 'peer', 'add to the peerDependencies'],\n ] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([pattern, packages]: [string, string[]], setDepsFlags: SetDependenciesFlags) {\n const { changedComps, addedPackages } = await this.deps.setDependency(pattern, packages, setDepsFlags);\n\n return `${chalk.green('successfully updated dependencies')}\n${chalk.bold('changed components')}\n${changedComps.join('\\n')}\n\n${chalk.bold('added packages')}\n${JSON.stringify(addedPackages, undefined, 4)}`;\n }\n}\n\nexport class DependenciesRemoveCmd implements Command {\n name = 'remove <component-pattern> <package...>';\n arguments = [\n { name: 'component-pattern', description: COMPONENT_PATTERN_HELP },\n {\n name: 'package...',\n description:\n 'package name with or without a version, e.g. \"lodash@1.0.0\" or just \"lodash\" which will remove all lodash instances of any version',\n },\n ];\n group = 'info';\n description = 'remove a dependency to component(s)';\n alias = '';\n options = [\n ['d', 'dev', 'remove from devDependencies'],\n ['p', 'peer', 'remove from peerDependencies'],\n ] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([pattern, packages]: [string, string[]], removeDepsFlags: RemoveDependenciesFlags) {\n const results = await this.deps.removeDependency(pattern, packages, removeDepsFlags);\n if (!results.length) {\n return chalk.yellow('the specified component-pattern do not use the entered packages. nothing to remove');\n }\n\n const output = results\n .map(({ id, removedPackages }) => `${chalk.underline(id.toString())}\\n${removedPackages.join('\\n')}`)\n .join('\\n\\n');\n\n return `${chalk.green('successfully removed dependencies')}\\n${output}`;\n }\n}\n\nexport class DependenciesCmd implements Command {\n name = 'deps <sub-command>';\n alias = 'dependencies';\n description = 'manage dependencies';\n options = [];\n group = 'info';\n commands: Command[] = [];\n helpUrl = 'docs/dependencies/configuring-dependencies';\n\n async report([unrecognizedSubcommand]: [string]) {\n return chalk.red(\n `\"${unrecognizedSubcommand}\" is not a subcommand of \"dependencies\", please run \"bit dependencies --help\" to list the subcommands`\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["DependenciesGetCmd","name","description","report","id","tree","results","dependencies","idWithVersion","workspaceGraph","_getIdWithLatestVersion","getGraphAsTree","graph","graphAsTree","getDependenciesAsObjectTree","toString","archy","err","constructor","chalk","red","workspaceTree","scopeTree","scopeGraph","green","getDependenciesInfo","getScopeDependencies","IdNotFoundInGraph","length","toStringWithoutVersion","scopeTable","generateDependenciesInfoTable","workspaceTable","bold","DependenciesDebugCmd","JSON","stringify","undefined","DependenciesSetCmd","deps","COMPONENT_PATTERN_HELP","pattern","packages","setDepsFlags","changedComps","addedPackages","setDependency","join","DependenciesRemoveCmd","removeDepsFlags","removeDependency","yellow","output","map","removedPackages","underline","DependenciesResetCmd","reset","comps","DependenciesEjectCmd","eject","DependenciesBlameCmd","compName","depName","blame","table","Table","chars","top","bottom","left","mid","right","middle","style","snap","tag","author","date","message","version","push","DependenciesCmd","unrecognizedSubcommand"],"sources":["dependencies-cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport { Command, CommandOptions } from '@teambit/cli';\nimport Table from 'cli-table';\nimport chalk from 'chalk';\nimport archy from 'archy';\nimport {\n dependencies,\n DependenciesResultsDebug,\n DependenciesResults,\n} from '@teambit/legacy/dist/api/consumer/lib/dependencies';\nimport { generateDependenciesInfoTable } from '@teambit/legacy/dist/cli/templates/component-template';\nimport { IdNotFoundInGraph } from '@teambit/legacy/dist/scope/exceptions/id-not-found-in-graph';\nimport DependencyGraph from '@teambit/legacy/dist/scope/graph/scope-graph';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { DependenciesMain } from './dependencies.main.runtime';\n\ntype GetDependenciesFlags = {\n tree: boolean;\n};\n\nexport type SetDependenciesFlags = {\n dev?: boolean;\n peer?: boolean;\n};\n\nexport type RemoveDependenciesFlags = SetDependenciesFlags;\n\nexport class DependenciesGetCmd implements Command {\n name = 'get <component-name>';\n arguments = [{ name: 'component-name', description: 'component name or component id' }];\n group = 'info';\n description = 'show direct and indirect dependencies of the given component';\n alias = '';\n options = [['t', 'tree', 'EXPERIMENTAL. render dependencies as a tree, similar to \"npm ls\"']] as CommandOptions;\n\n async report([id]: [string], { tree = false }: GetDependenciesFlags) {\n const results = (await dependencies(id, false)) as DependenciesResults;\n\n if (tree) {\n const idWithVersion = results.workspaceGraph._getIdWithLatestVersion(results.id);\n const getGraphAsTree = (graph: DependencyGraph) => {\n try {\n const graphAsTree = graph.getDependenciesAsObjectTree(idWithVersion.toString());\n return archy(graphAsTree);\n } catch (err: any) {\n if (err.constructor.name === 'RangeError') {\n return `${chalk.red('unable to generate a tree representation, the graph is too big or has cycles')}`;\n }\n throw err;\n }\n };\n const workspaceTree = getGraphAsTree(results.workspaceGraph);\n const scopeTree = getGraphAsTree(results.scopeGraph);\n return `${chalk.green('workspace')}:\\n${workspaceTree}\\n\\n${chalk.green('scope')}:\\n${scopeTree}`;\n }\n const workspaceGraph = results.workspaceGraph.getDependenciesInfo(results.id);\n const getScopeDependencies = () => {\n try {\n return results.scopeGraph.getDependenciesInfo(results.id);\n } catch (err) {\n if (err instanceof IdNotFoundInGraph) return []; // component might be new\n throw err;\n }\n };\n const scopeGraph = getScopeDependencies();\n if (!scopeGraph.length && !workspaceGraph.length) {\n return `no dependencies found for ${results.id.toString()}.\ntry running \"bit cat-component ${results.id.toStringWithoutVersion()}\" to see whether the component/version exists locally`;\n }\n\n const scopeTable = generateDependenciesInfoTable(scopeGraph, results.id);\n const workspaceTable = generateDependenciesInfoTable(workspaceGraph, results.id);\n return `${chalk.bold('Dependencies originated from workspace')}\n${workspaceTable || '<none>'}\n\n${chalk.bold('Dependencies originated from scope')}\n${scopeTable || '<none>'}`;\n }\n}\n\nexport class DependenciesDebugCmd implements Command {\n name = 'debug <component-name>';\n arguments = [{ name: 'component-name', description: 'component name or component id' }];\n group = 'info';\n description = 'show the immediate dependencies and how their versions were determined';\n alias = '';\n options = [] as CommandOptions;\n\n async report([id]: [string]) {\n const results = (await dependencies(id, true)) as DependenciesResultsDebug;\n return JSON.stringify(results, undefined, 4);\n }\n}\n\nexport class DependenciesSetCmd implements Command {\n name = 'set <component-pattern> <package...>';\n arguments = [\n { name: 'component-pattern', description: COMPONENT_PATTERN_HELP },\n {\n name: 'package...',\n description:\n 'package name with or without a version, e.g. \"lodash@1.0.0\" or just \"lodash\" which will be resolved to the latest',\n },\n ];\n group = 'info';\n description = 'set a dependency to component(s)';\n alias = '';\n options = [\n ['d', 'dev', 'add to the devDependencies'],\n ['p', 'peer', 'add to the peerDependencies'],\n ] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([pattern, packages]: [string, string[]], setDepsFlags: SetDependenciesFlags) {\n const { changedComps, addedPackages } = await this.deps.setDependency(pattern, packages, setDepsFlags);\n\n return `${chalk.green('successfully updated dependencies')}\n${chalk.bold('changed components')}\n${changedComps.join('\\n')}\n\n${chalk.bold('added packages')}\n${JSON.stringify(addedPackages, undefined, 4)}`;\n }\n}\n\nexport class DependenciesRemoveCmd implements Command {\n name = 'remove <component-pattern> <package...>';\n arguments = [\n { name: 'component-pattern', description: COMPONENT_PATTERN_HELP },\n {\n name: 'package...',\n description:\n 'package name with or without a version, e.g. \"lodash@1.0.0\" or just \"lodash\" which will remove all lodash instances of any version',\n },\n ];\n group = 'info';\n description = 'remove a dependency to component(s)';\n alias = '';\n options = [\n ['d', 'dev', 'remove from devDependencies'],\n ['p', 'peer', 'remove from peerDependencies'],\n ] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([pattern, packages]: [string, string[]], removeDepsFlags: RemoveDependenciesFlags) {\n const results = await this.deps.removeDependency(pattern, packages, removeDepsFlags);\n if (!results.length) {\n return chalk.yellow('the specified component-pattern do not use the entered packages. nothing to remove');\n }\n\n const output = results\n .map(({ id, removedPackages }) => `${chalk.underline(id.toString())}\\n${removedPackages.join('\\n')}`)\n .join('\\n\\n');\n\n return `${chalk.green('successfully removed dependencies')}\\n${output}`;\n }\n}\n\nexport class DependenciesResetCmd implements Command {\n name = 'reset <component-pattern>';\n arguments = [{ name: 'component-pattern', description: COMPONENT_PATTERN_HELP }];\n group = 'info';\n description = 'reset dependencies to the default values (revert any previously \"bit deps set\")';\n alias = '';\n options = [] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([pattern]: [string]) {\n const results = await this.deps.reset(pattern);\n const comps = results.map((id) => id.toString());\n\n return `${chalk.green('successfully reset dependencies for the following component(s)')}\\n${comps}`;\n }\n}\n\nexport class DependenciesEjectCmd implements Command {\n name = 'eject <component-pattern>';\n arguments = [{ name: 'component-pattern', description: COMPONENT_PATTERN_HELP }];\n group = 'info';\n description = 'write dependencies that were previously set via \"bit deps set\" into .bitmap';\n alias = '';\n options = [] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([pattern]: [string]) {\n const results = await this.deps.eject(pattern);\n const comps = results.map((id) => id.toString());\n\n return `${chalk.green('successfully ejected dependencies for the following component(s)')}\\n${comps}`;\n }\n}\n\nexport class DependenciesBlameCmd implements Command {\n name = 'blame <component-name> <dependency-name>';\n arguments = [\n {\n name: 'dependency-name',\n description: 'package-name. for components, you can use either component-id or package-name',\n },\n ];\n group = 'info';\n description = 'EXPERIMENTAL. find out which snap/tag changed a dependency version';\n alias = '';\n options = [] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([compName, depName]: [string, string]) {\n const results = await this.deps.blame(compName, depName);\n if (!results.length) {\n return chalk.yellow(`the specified component ${compName} does not use the entered dependency ${depName}`);\n }\n // table with no style and no borders, just to align the columns.\n const table = new Table({\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n middle: ' ',\n },\n style: { 'padding-left': 0, 'padding-right': 0 },\n });\n\n results.map(({ snap, tag, author, date, message, version }) =>\n table.push([snap, tag || '', author, date, message, version])\n );\n\n return table.toString();\n }\n}\n\nexport class DependenciesCmd implements Command {\n name = 'deps <sub-command>';\n alias = 'dependencies';\n description = 'manage dependencies';\n options = [];\n group = 'info';\n commands: Command[] = [];\n helpUrl = 'docs/dependencies/configuring-dependencies';\n\n async report([unrecognizedSubcommand]: [string]) {\n return chalk.red(\n `\"${unrecognizedSubcommand}\" is not a subcommand of \"dependencies\", please run \"bit dependencies --help\" to list the subcommands`\n );\n }\n}\n"],"mappings":"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"}
@@ -7,6 +7,14 @@ export declare type RemoveDependencyResult = {
7
7
  id: ComponentID;
8
8
  removedPackages: string[];
9
9
  };
10
+ export declare type BlameResult = {
11
+ snap: string;
12
+ tag?: string;
13
+ author: string;
14
+ date: string;
15
+ message: string;
16
+ version: string;
17
+ };
10
18
  export declare class DependenciesMain {
11
19
  private workspace;
12
20
  private dependencyResolver;
@@ -16,6 +24,13 @@ export declare class DependenciesMain {
16
24
  addedPackages: Record<string, string>;
17
25
  }>;
18
26
  removeDependency(componentPattern: string, packages: string[], options?: RemoveDependenciesFlags): Promise<RemoveDependencyResult[]>;
27
+ reset(componentPattern: string): Promise<ComponentID[]>;
28
+ eject(componentPattern: string): Promise<ComponentID[]>;
29
+ /**
30
+ * helps determine what snap/tag changed a specific dependency.
31
+ * the results are sorted from the oldest to newest.
32
+ */
33
+ blame(compName: string, depName: string): Promise<BlameResult[]>;
19
34
  private getPackageNameAndVerResolved;
20
35
  private splitPkgToNameAndVer;
21
36
  static slots: never[];
@@ -22,6 +22,13 @@ function _cli() {
22
22
  };
23
23
  return data;
24
24
  }
25
+ function _moment() {
26
+ const data = _interopRequireDefault(require("moment"));
27
+ _moment = function () {
28
+ return data;
29
+ };
30
+ return data;
31
+ }
25
32
  function _dependencyResolver() {
26
33
  const data = require("@teambit/dependency-resolver");
27
34
  _dependencyResolver = function () {
@@ -140,6 +147,61 @@ class DependenciesMain {
140
147
  await this.workspace.bitMap.write();
141
148
  return (0, _lodash().compact)(results);
142
149
  }
150
+ async reset(componentPattern) {
151
+ const compIds = await this.workspace.idsByPattern(componentPattern);
152
+ await (0, _pMapSeries().default)(compIds, async compId => {
153
+ await this.workspace.addSpecificComponentConfig(compId, _dependencyResolver().DependencyResolverAspect.id, {
154
+ policy: {}
155
+ });
156
+ });
157
+ await this.workspace.bitMap.write();
158
+ return compIds;
159
+ }
160
+ async eject(componentPattern) {
161
+ const compIds = await this.workspace.idsByPattern(componentPattern);
162
+ await (0, _pMapSeries().default)(compIds, async compId => {
163
+ await this.workspace.addSpecificComponentConfig(compId, _dependencyResolver().DependencyResolverAspect.id, {}, true, true);
164
+ });
165
+ await this.workspace.bitMap.write();
166
+ return compIds;
167
+ }
168
+
169
+ /**
170
+ * helps determine what snap/tag changed a specific dependency.
171
+ * the results are sorted from the oldest to newest.
172
+ */
173
+ async blame(compName, depName) {
174
+ const id = await this.workspace.resolveComponentId(compName);
175
+ const log = await this.workspace.scope.getLogs(id);
176
+ const blameResults = [];
177
+ let lastVersion = '';
178
+ await (0, _pMapSeries().default)(log, async logItem => {
179
+ const component = await this.workspace.get(id.changeVersion(logItem.tag || logItem.hash));
180
+ const depList = await this.dependencyResolver.getDependencies(component);
181
+ const dependency = depList.findByPkgNameOrCompId(depName);
182
+ if (dependency && dependency.version === lastVersion) {
183
+ return;
184
+ }
185
+ let version;
186
+ if (!dependency) {
187
+ if (!lastVersion) return;
188
+ version = '<REMOVED>';
189
+ } else {
190
+ version = dependency.version;
191
+ }
192
+ if (!dependency || dependency.version === lastVersion) return;
193
+ lastVersion = dependency.version;
194
+ blameResults.push({
195
+ snap: logItem.hash,
196
+ tag: logItem.tag,
197
+ author: logItem.username || '<N/A>',
198
+ date: logItem.date ? (0, _moment().default)(new Date(parseInt(logItem.date))).format('YYYY-MM-DD HH:mm:ss') : '<N/A>',
199
+ message: logItem.message,
200
+ version
201
+ });
202
+ });
203
+ return blameResults;
204
+ }
143
205
  async getPackageNameAndVerResolved(pkg) {
144
206
  const resolveLatest = async pkgName => {
145
207
  const versionResolver = await this.dependencyResolver.getVersionResolver({});
@@ -166,7 +228,7 @@ class DependenciesMain {
166
228
  static async provider([cli, workspace, depsResolver]) {
167
229
  const depsMain = new DependenciesMain(workspace, depsResolver);
168
230
  const depsCmd = new (_dependenciesCmd().DependenciesCmd)();
169
- depsCmd.commands = [new (_dependenciesCmd().DependenciesGetCmd)(), new (_dependenciesCmd().DependenciesRemoveCmd)(depsMain), new (_dependenciesCmd().DependenciesDebugCmd)(), new (_dependenciesCmd().DependenciesSetCmd)(depsMain)];
231
+ depsCmd.commands = [new (_dependenciesCmd().DependenciesGetCmd)(), new (_dependenciesCmd().DependenciesRemoveCmd)(depsMain), new (_dependenciesCmd().DependenciesDebugCmd)(), new (_dependenciesCmd().DependenciesSetCmd)(depsMain), new (_dependenciesCmd().DependenciesResetCmd)(depsMain), new (_dependenciesCmd().DependenciesEjectCmd)(depsMain), new (_dependenciesCmd().DependenciesBlameCmd)(depsMain)];
170
232
  cli.register(depsCmd);
171
233
  return depsMain;
172
234
  }
@@ -1 +1 @@
1
- {"version":3,"names":["DependenciesMain","constructor","workspace","dependencyResolver","setDependency","componentPattern","packages","options","compIds","idsByPattern","getDepField","dev","peer","packagesObj","Promise","all","map","pkg","name","version","getPackageNameAndVerResolved","config","policy","compId","addSpecificComponentConfig","DependencyResolverAspect","id","bitMap","write","changedComps","toStringWithoutVersion","addedPackages","removeDependency","results","component","get","depList","getDependencies","getCurrentConfig","currentConfigFromWorkspace","getSpecificComponentConfig","extFromScope","getExtensionsFromScopeAndSpecific","toConfigObject","currentDepResolverConfig","newDepResolverConfig","cloneDeep","removedPackagesWithNulls","pMapSeries","splitPkgToNameAndVer","dependency","findByPkgNameOrCompId","depName","getPackageName","getLifeCycle","lifecycle","depField","KEY_NAME_BY_LIFECYCLE_TYPE","existsInSpecificConfig","set","removedPackages","compact","length","resolveLatest","pkgName","versionResolver","getVersionResolver","resolved","resolveRemoteVersion","rootDir","Error","versionResolved","packageSplit","split","startsWith","provider","cli","depsResolver","depsMain","depsCmd","DependenciesCmd","commands","DependenciesGetCmd","DependenciesRemoveCmd","DependenciesDebugCmd","DependenciesSetCmd","register","CLIAspect","WorkspaceAspect","MainRuntime","DependenciesAspect","addRuntime"],"sources":["dependencies.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { ComponentID } from '@teambit/component-id';\nimport {\n DependencyResolverAspect,\n DependencyResolverMain,\n KEY_NAME_BY_LIFECYCLE_TYPE,\n} from '@teambit/dependency-resolver';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { cloneDeep, compact, set } from 'lodash';\nimport pMapSeries from 'p-map-series';\nimport {\n DependenciesCmd,\n DependenciesDebugCmd,\n DependenciesGetCmd,\n DependenciesRemoveCmd,\n DependenciesSetCmd,\n RemoveDependenciesFlags,\n SetDependenciesFlags,\n} from './dependencies-cmd';\nimport { DependenciesAspect } from './dependencies.aspect';\n\nexport type RemoveDependencyResult = { id: ComponentID; removedPackages: string[] };\n\nexport class DependenciesMain {\n constructor(private workspace: Workspace, private dependencyResolver: DependencyResolverMain) {}\n\n async setDependency(\n componentPattern: string,\n packages: string[],\n options: SetDependenciesFlags\n ): Promise<{ changedComps: string[]; addedPackages: Record<string, string> }> {\n const compIds = await this.workspace.idsByPattern(componentPattern);\n const getDepField = () => {\n if (options.dev) return 'devDependencies';\n if (options.peer) return 'peerDependencies';\n return 'dependencies';\n };\n const packagesObj = {};\n await Promise.all(\n packages.map(async (pkg) => {\n const [name, version] = await this.getPackageNameAndVerResolved(pkg);\n packagesObj[name] = version;\n })\n );\n const config = {\n policy: {\n [getDepField()]: packagesObj,\n },\n };\n await Promise.all(\n compIds.map(async (compId) => {\n await this.workspace.addSpecificComponentConfig(compId, DependencyResolverAspect.id, config, true, true);\n })\n );\n\n await this.workspace.bitMap.write();\n\n return {\n changedComps: compIds.map((compId) => compId.toStringWithoutVersion()),\n addedPackages: packagesObj,\n };\n }\n\n async removeDependency(\n componentPattern: string,\n packages: string[],\n options: RemoveDependenciesFlags = {}\n ): Promise<RemoveDependencyResult[]> {\n const compIds = await this.workspace.idsByPattern(componentPattern);\n const results = await Promise.all(\n compIds.map(async (compId) => {\n const component = await this.workspace.get(compId);\n const depList = await this.dependencyResolver.getDependencies(component);\n const getCurrentConfig = async () => {\n const currentConfigFromWorkspace = await this.workspace.getSpecificComponentConfig(\n compId,\n DependencyResolverAspect.id\n );\n if (currentConfigFromWorkspace) return currentConfigFromWorkspace;\n const extFromScope = await this.workspace.getExtensionsFromScopeAndSpecific(compId);\n return extFromScope?.toConfigObject()[DependencyResolverAspect.id];\n };\n const currentDepResolverConfig = await getCurrentConfig();\n const newDepResolverConfig = cloneDeep(currentDepResolverConfig || {});\n const removedPackagesWithNulls = await pMapSeries(packages, async (pkg) => {\n const [name, version] = this.splitPkgToNameAndVer(pkg);\n const dependency = depList.findByPkgNameOrCompId(name, version);\n if (!dependency) return null;\n const depName = dependency.getPackageName?.() || dependency.id;\n const getLifeCycle = () => {\n if (options.dev) return 'dev';\n if (options.peer) return 'peer';\n return dependency.lifecycle;\n };\n const depField = KEY_NAME_BY_LIFECYCLE_TYPE[getLifeCycle()];\n const existsInSpecificConfig = newDepResolverConfig.policy?.[depField]?.[depName];\n if (existsInSpecificConfig) {\n if (existsInSpecificConfig === '-') return null;\n delete newDepResolverConfig.policy[depField][depName];\n } else {\n set(newDepResolverConfig, ['policy', depField, depName], '-');\n }\n return `${depName}@${dependency.version}`;\n });\n const removedPackages = compact(removedPackagesWithNulls);\n if (!removedPackages.length) return null;\n await this.workspace.addSpecificComponentConfig(compId, DependencyResolverAspect.id, newDepResolverConfig);\n return { id: compId, removedPackages };\n })\n );\n await this.workspace.bitMap.write();\n\n return compact(results);\n }\n\n private async getPackageNameAndVerResolved(pkg: string): Promise<[string, string]> {\n const resolveLatest = async (pkgName: string) => {\n const versionResolver = await this.dependencyResolver.getVersionResolver({});\n const resolved = await versionResolver.resolveRemoteVersion(pkgName, { rootDir: '' });\n if (!resolved.version) throw new Error(`unable to resolve version for ${pkgName}`);\n return resolved.version;\n };\n const [name, version] = this.splitPkgToNameAndVer(pkg);\n const versionResolved = !version || version === 'latest' ? await resolveLatest(name) : version;\n return [name, versionResolved];\n }\n\n private splitPkgToNameAndVer(pkg: string): [string, string | undefined] {\n const packageSplit = pkg.split('@');\n if (pkg.startsWith('@')) {\n // scoped package\n if (packageSplit.length > 3) throw new Error(`invalid package \"${pkg}\" syntax, expected \"package[@version]\"`);\n return [`@${packageSplit[1]}`, packageSplit[2]];\n }\n if (packageSplit.length > 2) throw new Error(`invalid package \"${pkg}\" syntax, expected \"package[@version]\"`);\n return [packageSplit[0], packageSplit[1]];\n }\n\n static slots = [];\n static dependencies = [CLIAspect, WorkspaceAspect, DependencyResolverAspect];\n\n static runtime = MainRuntime;\n\n static async provider([cli, workspace, depsResolver]: [CLIMain, Workspace, DependencyResolverMain]) {\n const depsMain = new DependenciesMain(workspace, depsResolver);\n const depsCmd = new DependenciesCmd();\n depsCmd.commands = [\n new DependenciesGetCmd(),\n new DependenciesRemoveCmd(depsMain),\n new DependenciesDebugCmd(),\n new DependenciesSetCmd(depsMain),\n ];\n cli.register(depsCmd);\n\n return depsMain;\n }\n}\n\nDependenciesAspect.addRuntime(DependenciesMain);\n\nexport default DependenciesMain;\n"],"mappings":"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"}
1
+ {"version":3,"names":["DependenciesMain","constructor","workspace","dependencyResolver","setDependency","componentPattern","packages","options","compIds","idsByPattern","getDepField","dev","peer","packagesObj","Promise","all","map","pkg","name","version","getPackageNameAndVerResolved","config","policy","compId","addSpecificComponentConfig","DependencyResolverAspect","id","bitMap","write","changedComps","toStringWithoutVersion","addedPackages","removeDependency","results","component","get","depList","getDependencies","getCurrentConfig","currentConfigFromWorkspace","getSpecificComponentConfig","extFromScope","getExtensionsFromScopeAndSpecific","toConfigObject","currentDepResolverConfig","newDepResolverConfig","cloneDeep","removedPackagesWithNulls","pMapSeries","splitPkgToNameAndVer","dependency","findByPkgNameOrCompId","depName","getPackageName","getLifeCycle","lifecycle","depField","KEY_NAME_BY_LIFECYCLE_TYPE","existsInSpecificConfig","set","removedPackages","compact","length","reset","eject","blame","compName","resolveComponentId","log","scope","getLogs","blameResults","lastVersion","logItem","changeVersion","tag","hash","push","snap","author","username","date","moment","Date","parseInt","format","message","resolveLatest","pkgName","versionResolver","getVersionResolver","resolved","resolveRemoteVersion","rootDir","Error","versionResolved","packageSplit","split","startsWith","provider","cli","depsResolver","depsMain","depsCmd","DependenciesCmd","commands","DependenciesGetCmd","DependenciesRemoveCmd","DependenciesDebugCmd","DependenciesSetCmd","DependenciesResetCmd","DependenciesEjectCmd","DependenciesBlameCmd","register","CLIAspect","WorkspaceAspect","MainRuntime","DependenciesAspect","addRuntime"],"sources":["dependencies.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport moment from 'moment';\nimport { ComponentID } from '@teambit/component-id';\nimport {\n DependencyResolverAspect,\n DependencyResolverMain,\n KEY_NAME_BY_LIFECYCLE_TYPE,\n} from '@teambit/dependency-resolver';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { cloneDeep, compact, set } from 'lodash';\nimport pMapSeries from 'p-map-series';\nimport {\n DependenciesBlameCmd,\n DependenciesCmd,\n DependenciesDebugCmd,\n DependenciesEjectCmd,\n DependenciesGetCmd,\n DependenciesRemoveCmd,\n DependenciesResetCmd,\n DependenciesSetCmd,\n RemoveDependenciesFlags,\n SetDependenciesFlags,\n} from './dependencies-cmd';\nimport { DependenciesAspect } from './dependencies.aspect';\n\nexport type RemoveDependencyResult = { id: ComponentID; removedPackages: string[] };\n\nexport type BlameResult = {\n snap: string;\n tag?: string;\n author: string;\n date: string;\n message: string;\n version: string;\n};\n\nexport class DependenciesMain {\n constructor(private workspace: Workspace, private dependencyResolver: DependencyResolverMain) {}\n\n async setDependency(\n componentPattern: string,\n packages: string[],\n options: SetDependenciesFlags\n ): Promise<{ changedComps: string[]; addedPackages: Record<string, string> }> {\n const compIds = await this.workspace.idsByPattern(componentPattern);\n const getDepField = () => {\n if (options.dev) return 'devDependencies';\n if (options.peer) return 'peerDependencies';\n return 'dependencies';\n };\n const packagesObj = {};\n await Promise.all(\n packages.map(async (pkg) => {\n const [name, version] = await this.getPackageNameAndVerResolved(pkg);\n packagesObj[name] = version;\n })\n );\n const config = {\n policy: {\n [getDepField()]: packagesObj,\n },\n };\n await Promise.all(\n compIds.map(async (compId) => {\n await this.workspace.addSpecificComponentConfig(compId, DependencyResolverAspect.id, config, true, true);\n })\n );\n\n await this.workspace.bitMap.write();\n\n return {\n changedComps: compIds.map((compId) => compId.toStringWithoutVersion()),\n addedPackages: packagesObj,\n };\n }\n\n async removeDependency(\n componentPattern: string,\n packages: string[],\n options: RemoveDependenciesFlags = {}\n ): Promise<RemoveDependencyResult[]> {\n const compIds = await this.workspace.idsByPattern(componentPattern);\n const results = await Promise.all(\n compIds.map(async (compId) => {\n const component = await this.workspace.get(compId);\n const depList = await this.dependencyResolver.getDependencies(component);\n const getCurrentConfig = async () => {\n const currentConfigFromWorkspace = await this.workspace.getSpecificComponentConfig(\n compId,\n DependencyResolverAspect.id\n );\n if (currentConfigFromWorkspace) return currentConfigFromWorkspace;\n const extFromScope = await this.workspace.getExtensionsFromScopeAndSpecific(compId);\n return extFromScope?.toConfigObject()[DependencyResolverAspect.id];\n };\n const currentDepResolverConfig = await getCurrentConfig();\n const newDepResolverConfig = cloneDeep(currentDepResolverConfig || {});\n const removedPackagesWithNulls = await pMapSeries(packages, async (pkg) => {\n const [name, version] = this.splitPkgToNameAndVer(pkg);\n const dependency = depList.findByPkgNameOrCompId(name, version);\n if (!dependency) return null;\n const depName = dependency.getPackageName?.() || dependency.id;\n const getLifeCycle = () => {\n if (options.dev) return 'dev';\n if (options.peer) return 'peer';\n return dependency.lifecycle;\n };\n const depField = KEY_NAME_BY_LIFECYCLE_TYPE[getLifeCycle()];\n const existsInSpecificConfig = newDepResolverConfig.policy?.[depField]?.[depName];\n if (existsInSpecificConfig) {\n if (existsInSpecificConfig === '-') return null;\n delete newDepResolverConfig.policy[depField][depName];\n } else {\n set(newDepResolverConfig, ['policy', depField, depName], '-');\n }\n return `${depName}@${dependency.version}`;\n });\n const removedPackages = compact(removedPackagesWithNulls);\n if (!removedPackages.length) return null;\n await this.workspace.addSpecificComponentConfig(compId, DependencyResolverAspect.id, newDepResolverConfig);\n return { id: compId, removedPackages };\n })\n );\n await this.workspace.bitMap.write();\n\n return compact(results);\n }\n\n async reset(componentPattern: string): Promise<ComponentID[]> {\n const compIds = await this.workspace.idsByPattern(componentPattern);\n await pMapSeries(compIds, async (compId) => {\n await this.workspace.addSpecificComponentConfig(compId, DependencyResolverAspect.id, { policy: {} });\n });\n await this.workspace.bitMap.write();\n\n return compIds;\n }\n\n async eject(componentPattern: string): Promise<ComponentID[]> {\n const compIds = await this.workspace.idsByPattern(componentPattern);\n await pMapSeries(compIds, async (compId) => {\n await this.workspace.addSpecificComponentConfig(compId, DependencyResolverAspect.id, {}, true, true);\n });\n await this.workspace.bitMap.write();\n\n return compIds;\n }\n\n /**\n * helps determine what snap/tag changed a specific dependency.\n * the results are sorted from the oldest to newest.\n */\n async blame(compName: string, depName: string) {\n const id = await this.workspace.resolveComponentId(compName);\n const log = await this.workspace.scope.getLogs(id);\n const blameResults: BlameResult[] = [];\n let lastVersion = '';\n await pMapSeries(log, async (logItem) => {\n const component = await this.workspace.get(id.changeVersion(logItem.tag || logItem.hash));\n const depList = await this.dependencyResolver.getDependencies(component);\n const dependency = depList.findByPkgNameOrCompId(depName);\n if (dependency && dependency.version === lastVersion) {\n return;\n }\n let version: string;\n if (!dependency) {\n if (!lastVersion) return;\n version = '<REMOVED>';\n } else {\n version = dependency.version;\n }\n if (!dependency || dependency.version === lastVersion) return;\n lastVersion = dependency.version;\n blameResults.push({\n snap: logItem.hash,\n tag: logItem.tag,\n author: logItem.username || '<N/A>',\n date: logItem.date ? moment(new Date(parseInt(logItem.date))).format('YYYY-MM-DD HH:mm:ss') : '<N/A>',\n message: logItem.message,\n version,\n });\n });\n return blameResults;\n }\n\n private async getPackageNameAndVerResolved(pkg: string): Promise<[string, string]> {\n const resolveLatest = async (pkgName: string) => {\n const versionResolver = await this.dependencyResolver.getVersionResolver({});\n const resolved = await versionResolver.resolveRemoteVersion(pkgName, { rootDir: '' });\n if (!resolved.version) throw new Error(`unable to resolve version for ${pkgName}`);\n return resolved.version;\n };\n const [name, version] = this.splitPkgToNameAndVer(pkg);\n const versionResolved = !version || version === 'latest' ? await resolveLatest(name) : version;\n return [name, versionResolved];\n }\n\n private splitPkgToNameAndVer(pkg: string): [string, string | undefined] {\n const packageSplit = pkg.split('@');\n if (pkg.startsWith('@')) {\n // scoped package\n if (packageSplit.length > 3) throw new Error(`invalid package \"${pkg}\" syntax, expected \"package[@version]\"`);\n return [`@${packageSplit[1]}`, packageSplit[2]];\n }\n if (packageSplit.length > 2) throw new Error(`invalid package \"${pkg}\" syntax, expected \"package[@version]\"`);\n return [packageSplit[0], packageSplit[1]];\n }\n\n static slots = [];\n static dependencies = [CLIAspect, WorkspaceAspect, DependencyResolverAspect];\n\n static runtime = MainRuntime;\n\n static async provider([cli, workspace, depsResolver]: [CLIMain, Workspace, DependencyResolverMain]) {\n const depsMain = new DependenciesMain(workspace, depsResolver);\n const depsCmd = new DependenciesCmd();\n depsCmd.commands = [\n new DependenciesGetCmd(),\n new DependenciesRemoveCmd(depsMain),\n new DependenciesDebugCmd(),\n new DependenciesSetCmd(depsMain),\n new DependenciesResetCmd(depsMain),\n new DependenciesEjectCmd(depsMain),\n new DependenciesBlameCmd(depsMain),\n ];\n cli.register(depsCmd);\n\n return depsMain;\n }\n}\n\nDependenciesAspect.addRuntime(DependenciesMain);\n\nexport default DependenciesMain;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,27 +1,30 @@
1
1
  {
2
2
  "name": "@teambit/dependencies",
3
- "version": "0.0.145",
3
+ "version": "0.0.148",
4
4
  "homepage": "https://bit.dev/teambit/dependencies/dependencies",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.dependencies",
8
8
  "name": "dependencies",
9
- "version": "0.0.145"
9
+ "version": "0.0.148"
10
10
  },
11
11
  "dependencies": {
12
12
  "archy": "1.0.0",
13
13
  "chalk": "2.4.2",
14
+ "cli-table": "0.3.6",
14
15
  "lodash": "4.17.21",
16
+ "moment": "2.29.4",
15
17
  "p-map-series": "2.1.0",
16
18
  "core-js": "^3.0.0",
17
19
  "@babel/runtime": "7.20.0",
18
20
  "@teambit/harmony": "0.4.6",
19
- "@teambit/cli": "0.0.638",
21
+ "@teambit/cli": "0.0.640",
20
22
  "@teambit/component-id": "0.0.425",
21
- "@teambit/dependency-resolver": "0.0.952",
22
- "@teambit/workspace": "0.0.952"
23
+ "@teambit/dependency-resolver": "0.0.955",
24
+ "@teambit/workspace": "0.0.955"
23
25
  },
24
26
  "devDependencies": {
27
+ "@types/cli-table": "^0.3.0",
25
28
  "@types/lodash": "4.14.165",
26
29
  "@types/mocha": "9.1.0",
27
30
  "@types/node": "12.20.4",
@@ -31,7 +34,7 @@
31
34
  "@types/testing-library__jest-dom": "5.9.5"
32
35
  },
33
36
  "peerDependencies": {
34
- "@teambit/legacy": "1.0.419",
37
+ "@teambit/legacy": "1.0.422",
35
38
  "react": "^16.8.0 || ^17.0.0",
36
39
  "react-dom": "^16.8.0 || ^17.0.0"
37
40
  },