@teambit/dependencies 0.0.74 → 0.0.75

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.
@@ -1,87 +1,63 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  require("core-js/modules/es.array.iterator.js");
6
-
7
5
  require("core-js/modules/es.promise.js");
8
-
9
6
  Object.defineProperty(exports, "__esModule", {
10
7
  value: true
11
8
  });
12
9
  exports.DependenciesSetCmd = exports.DependenciesRemoveCmd = exports.DependenciesGetCmd = exports.DependenciesDebugCmd = exports.DependenciesCmd = void 0;
13
-
14
10
  function _defineProperty2() {
15
11
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
-
17
12
  _defineProperty2 = function () {
18
13
  return data;
19
14
  };
20
-
21
15
  return data;
22
16
  }
23
-
24
17
  function _chalk() {
25
18
  const data = _interopRequireDefault(require("chalk"));
26
-
27
19
  _chalk = function () {
28
20
  return data;
29
21
  };
30
-
31
22
  return data;
32
23
  }
33
-
34
24
  function _archy() {
35
25
  const data = _interopRequireDefault(require("archy"));
36
-
37
26
  _archy = function () {
38
27
  return data;
39
28
  };
40
-
41
29
  return data;
42
30
  }
43
-
44
31
  function _dependencies() {
45
32
  const data = require("@teambit/legacy/dist/api/consumer/lib/dependencies");
46
-
47
33
  _dependencies = function () {
48
34
  return data;
49
35
  };
50
-
51
36
  return data;
52
37
  }
53
-
54
38
  function _componentTemplate() {
55
39
  const data = require("@teambit/legacy/dist/cli/templates/component-template");
56
-
57
40
  _componentTemplate = function () {
58
41
  return data;
59
42
  };
60
-
61
43
  return data;
62
44
  }
63
-
64
45
  function _idNotFoundInGraph() {
65
46
  const data = require("@teambit/legacy/dist/scope/exceptions/id-not-found-in-graph");
66
-
67
47
  _idNotFoundInGraph = function () {
68
48
  return data;
69
49
  };
70
-
71
50
  return data;
72
51
  }
73
-
74
52
  function _constants() {
75
53
  const data = require("@teambit/legacy/dist/constants");
76
-
77
54
  _constants = function () {
78
55
  return data;
79
56
  };
80
-
81
57
  return data;
82
58
  }
83
-
84
59
  // eslint-disable-next-line max-classes-per-file
60
+
85
61
  class DependenciesGetCmd {
86
62
  constructor() {
87
63
  (0, _defineProperty2().default)(this, "name", 'get <component-name>');
@@ -94,15 +70,12 @@ class DependenciesGetCmd {
94
70
  (0, _defineProperty2().default)(this, "alias", '');
95
71
  (0, _defineProperty2().default)(this, "options", [['t', 'tree', 'EXPERIMENTAL. render dependencies as a tree, similar to "npm ls"']]);
96
72
  }
97
-
98
73
  async report([id], {
99
74
  tree = false
100
75
  }) {
101
76
  const results = await (0, _dependencies().dependencies)(id, false);
102
-
103
77
  if (tree) {
104
78
  const idWithVersion = results.workspaceGraph._getIdWithLatestVersion(results.id);
105
-
106
79
  const getGraphAsTree = graph => {
107
80
  try {
108
81
  const graphAsTree = graph.getDependenciesAsObjectTree(idWithVersion.toString());
@@ -111,35 +84,27 @@ class DependenciesGetCmd {
111
84
  if (err.constructor.name === 'RangeError') {
112
85
  return `${_chalk().default.red('unable to generate a tree representation, the graph is too big or has cycles')}`;
113
86
  }
114
-
115
87
  throw err;
116
88
  }
117
89
  };
118
-
119
90
  const workspaceTree = getGraphAsTree(results.workspaceGraph);
120
91
  const scopeTree = getGraphAsTree(results.scopeGraph);
121
92
  return `${_chalk().default.green('workspace')}:\n${workspaceTree}\n\n${_chalk().default.green('scope')}:\n${scopeTree}`;
122
93
  }
123
-
124
94
  const workspaceGraph = results.workspaceGraph.getDependenciesInfo(results.id);
125
-
126
95
  const getScopeDependencies = () => {
127
96
  try {
128
97
  return results.scopeGraph.getDependenciesInfo(results.id);
129
98
  } catch (err) {
130
99
  if (err instanceof _idNotFoundInGraph().IdNotFoundInGraph) return []; // component might be new
131
-
132
100
  throw err;
133
101
  }
134
102
  };
135
-
136
103
  const scopeGraph = getScopeDependencies();
137
-
138
104
  if (!scopeGraph.length && !workspaceGraph.length) {
139
105
  return `no dependencies found for ${results.id.toString()}.
140
106
  try running "bit cat-component ${results.id.toStringWithoutVersion()}" to see whether the component/version exists locally`;
141
107
  }
142
-
143
108
  const scopeTable = (0, _componentTemplate().generateDependenciesInfoTable)(scopeGraph, results.id);
144
109
  const workspaceTable = (0, _componentTemplate().generateDependenciesInfoTable)(workspaceGraph, results.id);
145
110
  return `${_chalk().default.bold('Dependencies originated from workspace')}
@@ -148,11 +113,8 @@ ${workspaceTable || '<none>'}
148
113
  ${_chalk().default.bold('Dependencies originated from scope')}
149
114
  ${scopeTable || '<none>'}`;
150
115
  }
151
-
152
116
  }
153
-
154
117
  exports.DependenciesGetCmd = DependenciesGetCmd;
155
-
156
118
  class DependenciesDebugCmd {
157
119
  constructor() {
158
120
  (0, _defineProperty2().default)(this, "name", 'debug <component-name>');
@@ -165,16 +127,12 @@ class DependenciesDebugCmd {
165
127
  (0, _defineProperty2().default)(this, "alias", '');
166
128
  (0, _defineProperty2().default)(this, "options", []);
167
129
  }
168
-
169
130
  async report([id]) {
170
131
  const results = await (0, _dependencies().dependencies)(id, true);
171
132
  return JSON.stringify(results, undefined, 4);
172
133
  }
173
-
174
134
  }
175
-
176
135
  exports.DependenciesDebugCmd = DependenciesDebugCmd;
177
-
178
136
  class DependenciesSetCmd {
179
137
  constructor(deps) {
180
138
  this.deps = deps;
@@ -191,7 +149,6 @@ class DependenciesSetCmd {
191
149
  (0, _defineProperty2().default)(this, "alias", '');
192
150
  (0, _defineProperty2().default)(this, "options", [['d', 'dev', 'add to the devDependencies'], ['p', 'peer', 'add to the peerDependencies']]);
193
151
  }
194
-
195
152
  async report([pattern, packages], setDepsFlags) {
196
153
  const {
197
154
  changedComps,
@@ -204,11 +161,8 @@ ${changedComps.join('\n')}
204
161
  ${_chalk().default.bold('added packages')}
205
162
  ${JSON.stringify(addedPackages, undefined, 4)}`;
206
163
  }
207
-
208
164
  }
209
-
210
165
  exports.DependenciesSetCmd = DependenciesSetCmd;
211
-
212
166
  class DependenciesRemoveCmd {
213
167
  constructor(deps) {
214
168
  this.deps = deps;
@@ -225,25 +179,19 @@ class DependenciesRemoveCmd {
225
179
  (0, _defineProperty2().default)(this, "alias", '');
226
180
  (0, _defineProperty2().default)(this, "options", []);
227
181
  }
228
-
229
182
  async report([pattern, packages]) {
230
183
  const results = await this.deps.removeDependency(pattern, packages);
231
-
232
184
  if (!results.length) {
233
185
  return _chalk().default.yellow('the specified component-pattern do not use the entered packages. nothing to remove');
234
186
  }
235
-
236
187
  const output = results.map(({
237
188
  id,
238
189
  removedPackages
239
190
  }) => `${_chalk().default.underline(id.toString())}\n${removedPackages.join('\n')}`).join('\n\n');
240
191
  return `${_chalk().default.green('successfully removed dependencies')}\n${output}`;
241
192
  }
242
-
243
193
  }
244
-
245
194
  exports.DependenciesRemoveCmd = DependenciesRemoveCmd;
246
-
247
195
  class DependenciesCmd {
248
196
  constructor() {
249
197
  (0, _defineProperty2().default)(this, "name", 'deps <sub-command>');
@@ -253,13 +201,10 @@ class DependenciesCmd {
253
201
  (0, _defineProperty2().default)(this, "group", 'info');
254
202
  (0, _defineProperty2().default)(this, "commands", []);
255
203
  }
256
-
257
204
  async report([unrecognizedSubcommand]) {
258
205
  return _chalk().default.red(`"${unrecognizedSubcommand}" is not a subcommand of "dependencies", please run "bit dependencies --help" to list the subcommands`);
259
206
  }
260
-
261
207
  }
262
-
263
208
  exports.DependenciesCmd = DependenciesCmd;
264
209
 
265
210
  //# sourceMappingURL=dependencies-cmd.js.map
@@ -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","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 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 = [] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([pattern, packages]: [string, string[]]) {\n const results = await this.deps.removeDependency(pattern, packages);\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\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","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 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 = [] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([pattern, packages]: [string, string[]]) {\n const results = await this.deps.removeDependency(pattern, packages);\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\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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"}
@@ -4,21 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.DependenciesAspect = void 0;
7
-
8
7
  function _harmony() {
9
8
  const data = require("@teambit/harmony");
10
-
11
9
  _harmony = function () {
12
10
  return data;
13
11
  };
14
-
15
12
  return data;
16
13
  }
17
-
18
14
  const DependenciesAspect = _harmony().Aspect.create({
19
15
  id: 'teambit.dependencies/dependencies'
20
16
  });
21
-
22
17
  exports.DependenciesAspect = DependenciesAspect;
23
18
 
24
19
  //# sourceMappingURL=dependencies.aspect.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DependenciesAspect","Aspect","create","id"],"sources":["dependencies.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const DependenciesAspect = Aspect.create({\n id: 'teambit.dependencies/dependencies',\n});\n"],"mappings":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,kBAAkB,GAAGC,iBAAA,CAAOC,MAAP,CAAc;EAC9CC,EAAE,EAAE;AAD0C,CAAd,CAA3B"}
1
+ {"version":3,"names":["DependenciesAspect","Aspect","create","id"],"sources":["dependencies.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const DependenciesAspect = Aspect.create({\n id: 'teambit.dependencies/dependencies',\n});\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,kBAAkB,GAAGC,iBAAM,CAACC,MAAM,CAAC;EAC9CC,EAAE,EAAE;AACN,CAAC,CAAC;AAAC"}
@@ -1,113 +1,81 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  require("core-js/modules/es.array.iterator.js");
6
-
7
5
  require("core-js/modules/es.promise.js");
8
-
9
6
  require("core-js/modules/es.regexp.exec.js");
10
-
11
7
  Object.defineProperty(exports, "__esModule", {
12
8
  value: true
13
9
  });
14
10
  exports.default = exports.DependenciesMain = void 0;
15
-
16
11
  function _defineProperty2() {
17
12
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
-
19
13
  _defineProperty2 = function () {
20
14
  return data;
21
15
  };
22
-
23
16
  return data;
24
17
  }
25
-
26
18
  function _cli() {
27
19
  const data = require("@teambit/cli");
28
-
29
20
  _cli = function () {
30
21
  return data;
31
22
  };
32
-
33
23
  return data;
34
24
  }
35
-
36
25
  function _dependencyResolver() {
37
26
  const data = require("@teambit/dependency-resolver");
38
-
39
27
  _dependencyResolver = function () {
40
28
  return data;
41
29
  };
42
-
43
30
  return data;
44
31
  }
45
-
46
32
  function _workspace() {
47
33
  const data = _interopRequireDefault(require("@teambit/workspace"));
48
-
49
34
  _workspace = function () {
50
35
  return data;
51
36
  };
52
-
53
37
  return data;
54
38
  }
55
-
56
39
  function _lodash() {
57
40
  const data = require("lodash");
58
-
59
41
  _lodash = function () {
60
42
  return data;
61
43
  };
62
-
63
44
  return data;
64
45
  }
65
-
66
46
  function _pMapSeries() {
67
47
  const data = _interopRequireDefault(require("p-map-series"));
68
-
69
48
  _pMapSeries = function () {
70
49
  return data;
71
50
  };
72
-
73
51
  return data;
74
52
  }
75
-
76
53
  function _dependenciesCmd() {
77
54
  const data = require("./dependencies-cmd");
78
-
79
55
  _dependenciesCmd = function () {
80
56
  return data;
81
57
  };
82
-
83
58
  return data;
84
59
  }
85
-
86
60
  function _dependencies() {
87
61
  const data = require("./dependencies.aspect");
88
-
89
62
  _dependencies = function () {
90
63
  return data;
91
64
  };
92
-
93
65
  return data;
94
66
  }
95
-
96
67
  class DependenciesMain {
97
68
  constructor(workspace, dependencyResolver) {
98
69
  this.workspace = workspace;
99
70
  this.dependencyResolver = dependencyResolver;
100
71
  }
101
-
102
72
  async setDependency(componentPattern, packages, options) {
103
73
  const compIds = await this.workspace.idsByPattern(componentPattern);
104
-
105
74
  const getDepField = () => {
106
75
  if (options.dev) return 'devDependencies';
107
76
  if (options.peer) return 'peerDependencies';
108
77
  return 'dependencies';
109
78
  };
110
-
111
79
  const packagesObj = {};
112
80
  await Promise.all(packages.map(async pkg => {
113
81
  const [name, version] = await this.getPackageNameAndVerResolved(pkg);
@@ -127,7 +95,6 @@ class DependenciesMain {
127
95
  addedPackages: packagesObj
128
96
  };
129
97
  }
130
-
131
98
  async removeDependency(componentPattern, packages) {
132
99
  const compIds = await this.workspace.idsByPattern(componentPattern);
133
100
  const results = await Promise.all(compIds.map(async compId => {
@@ -137,23 +104,18 @@ class DependenciesMain {
137
104
  const newDepResolverConfig = (0, _lodash().cloneDeep)(currentDepResolverConfig || {});
138
105
  const removedPackagesWithNulls = await (0, _pMapSeries().default)(packages, async pkg => {
139
106
  var _dependency$getPackag, _newDepResolverConfig, _newDepResolverConfig2;
140
-
141
107
  const [name, version] = this.splitPkgToNameAndVer(pkg);
142
108
  const dependency = depList.findByPkgNameOrCompId(name, version);
143
109
  if (!dependency) return null;
144
-
145
110
  const depField = _dependencyResolver().KEY_NAME_BY_LIFECYCLE_TYPE[dependency.lifecycle];
146
-
147
111
  const depName = ((_dependency$getPackag = dependency.getPackageName) === null || _dependency$getPackag === void 0 ? void 0 : _dependency$getPackag.call(dependency)) || dependency.id;
148
112
  const existsInSpecificConfig = (_newDepResolverConfig = newDepResolverConfig.policy) === null || _newDepResolverConfig === void 0 ? void 0 : (_newDepResolverConfig2 = _newDepResolverConfig[depField]) === null || _newDepResolverConfig2 === void 0 ? void 0 : _newDepResolverConfig2[depName];
149
-
150
113
  if (existsInSpecificConfig) {
151
114
  if (existsInSpecificConfig === '-') return null;
152
115
  delete newDepResolverConfig.policy[depField][depName];
153
116
  } else {
154
117
  (0, _lodash().set)(newDepResolverConfig, ['policy', depField, depName], '-');
155
118
  }
156
-
157
119
  return `${depName}@${dependency.version}`;
158
120
  });
159
121
  const removedPackages = (0, _lodash().compact)(removedPackagesWithNulls);
@@ -167,7 +129,6 @@ class DependenciesMain {
167
129
  await this.workspace.bitMap.write();
168
130
  return (0, _lodash().compact)(results);
169
131
  }
170
-
171
132
  async getPackageNameAndVerResolved(pkg) {
172
133
  const resolveLatest = async pkgName => {
173
134
  const versionResolver = await this.dependencyResolver.getVersionResolver({});
@@ -177,25 +138,20 @@ class DependenciesMain {
177
138
  if (!resolved.version) throw new Error(`unable to resolve version for ${pkgName}`);
178
139
  return resolved.version;
179
140
  };
180
-
181
141
  const [name, version] = this.splitPkgToNameAndVer(pkg);
182
142
  const versionResolved = !version || version === 'latest' ? await resolveLatest(name) : version;
183
143
  return [name, versionResolved];
184
144
  }
185
-
186
145
  splitPkgToNameAndVer(pkg) {
187
146
  const packageSplit = pkg.split('@');
188
-
189
147
  if (pkg.startsWith('@')) {
190
148
  // scoped package
191
149
  if (packageSplit.length > 3) throw new Error(`invalid package "${pkg}" syntax, expected "package[@version]"`);
192
150
  return [`@${packageSplit[1]}`, packageSplit[2]];
193
151
  }
194
-
195
152
  if (packageSplit.length > 2) throw new Error(`invalid package "${pkg}" syntax, expected "package[@version]"`);
196
153
  return [packageSplit[0], packageSplit[1]];
197
154
  }
198
-
199
155
  static async provider([cli, workspace, depsResolver]) {
200
156
  const depsMain = new DependenciesMain(workspace, depsResolver);
201
157
  const depsCmd = new (_dependenciesCmd().DependenciesCmd)();
@@ -203,16 +159,12 @@ class DependenciesMain {
203
159
  cli.register(depsCmd);
204
160
  return depsMain;
205
161
  }
206
-
207
162
  }
208
-
209
163
  exports.DependenciesMain = DependenciesMain;
210
164
  (0, _defineProperty2().default)(DependenciesMain, "slots", []);
211
165
  (0, _defineProperty2().default)(DependenciesMain, "dependencies", [_cli().CLIAspect, _workspace().default, _dependencyResolver().DependencyResolverAspect]);
212
166
  (0, _defineProperty2().default)(DependenciesMain, "runtime", _cli().MainRuntime);
213
-
214
167
  _dependencies().DependenciesAspect.addRuntime(DependenciesMain);
215
-
216
168
  var _default = DependenciesMain;
217
169
  exports.default = _default;
218
170
 
@@ -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","currentDepResolverConfig","getSpecificComponentConfig","newDepResolverConfig","cloneDeep","removedPackagesWithNulls","pMapSeries","splitPkgToNameAndVer","dependency","findByPkgNameOrCompId","depField","KEY_NAME_BY_LIFECYCLE_TYPE","lifecycle","depName","getPackageName","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 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);\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(componentPattern: string, packages: string[]): 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 currentDepResolverConfig = await this.workspace.getSpecificComponentConfig(\n compId,\n DependencyResolverAspect.id\n );\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 depField = KEY_NAME_BY_LIFECYCLE_TYPE[dependency.lifecycle];\n const depName = dependency.getPackageName?.() || dependency.id;\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","currentDepResolverConfig","getSpecificComponentConfig","newDepResolverConfig","cloneDeep","removedPackagesWithNulls","pMapSeries","splitPkgToNameAndVer","dependency","findByPkgNameOrCompId","depField","KEY_NAME_BY_LIFECYCLE_TYPE","lifecycle","depName","getPackageName","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 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);\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(componentPattern: string, packages: string[]): 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 currentDepResolverConfig = await this.workspace.getSpecificComponentConfig(\n compId,\n DependencyResolverAspect.id\n );\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 depField = KEY_NAME_BY_LIFECYCLE_TYPE[dependency.lifecycle];\n const depName = dependency.getPackageName?.() || dependency.id;\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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"}
package/dist/index.js CHANGED
@@ -10,19 +10,14 @@ Object.defineProperty(exports, "DependenciesAspect", {
10
10
  }
11
11
  });
12
12
  exports.default = void 0;
13
-
14
13
  function _dependencies() {
15
14
  const data = require("./dependencies.aspect");
16
-
17
15
  _dependencies = function () {
18
16
  return data;
19
17
  };
20
-
21
18
  return data;
22
19
  }
23
-
24
20
  var _default = _dependencies().DependenciesAspect;
25
-
26
21
  exports.default = _default;
27
22
 
28
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["DependenciesAspect"],"sources":["index.ts"],"sourcesContent":["import { DependenciesAspect } from './dependencies.aspect';\n\nexport type { DependenciesMain } from './dependencies.main.runtime';\nexport default DependenciesAspect;\nexport { DependenciesAspect };\n"],"mappings":";;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;eAGeA,kC"}
1
+ {"version":3,"names":["DependenciesAspect"],"sources":["index.ts"],"sourcesContent":["import { DependenciesAspect } from './dependencies.aspect';\n\nexport type { DependenciesMain } from './dependencies.main.runtime';\nexport default DependenciesAspect;\nexport { DependenciesAspect };\n"],"mappings":";;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAA2D,eAG5CA,kCAAkB;AAAA"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/dependencies",
3
- "version": "0.0.74",
3
+ "version": "0.0.75",
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.74"
9
+ "version": "0.0.75"
10
10
  },
11
11
  "dependencies": {
12
12
  "archy": "1.0.0",
@@ -18,8 +18,8 @@
18
18
  "@teambit/harmony": "0.3.3",
19
19
  "@teambit/cli": "0.0.591",
20
20
  "@teambit/component-id": "0.0.418",
21
- "@teambit/dependency-resolver": "0.0.881",
22
- "@teambit/workspace": "0.0.881"
21
+ "@teambit/dependency-resolver": "0.0.882",
22
+ "@teambit/workspace": "0.0.882"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@types/lodash": "4.14.165",