@teambit/dependencies 1.0.938 → 1.0.940
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/dependencies-cmd.js
CHANGED
|
@@ -4,6 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.WhyCmd = exports.UnsetPeerCmd = exports.SetPeerCmd = exports.DependenciesWriteCmd = exports.DependenciesUsageCmd = exports.DependenciesUnsetCmd = exports.DependenciesSetCmd = exports.DependenciesResetCmd = exports.DependenciesRemoveCmd = exports.DependenciesGetCmd = exports.DependenciesEjectCmd = exports.DependenciesDiagnoseCmd = exports.DependenciesDebugCmd = exports.DependenciesCmd = exports.DependenciesCircularCmd = exports.DependenciesBlameCmd = void 0;
|
|
7
|
+
function _cli() {
|
|
8
|
+
const data = require("@teambit/cli");
|
|
9
|
+
_cli = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
7
14
|
function _cliTable() {
|
|
8
15
|
const data = _interopRequireDefault(require("cli-table"));
|
|
9
16
|
_cliTable = function () {
|
|
@@ -170,12 +177,10 @@ class DependenciesSetCmd {
|
|
|
170
177
|
changedComps,
|
|
171
178
|
addedPackages
|
|
172
179
|
} = await this.deps.setDependency(pattern, packages, setDepsFlags);
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
${_chalk().default.bold('added packages')}
|
|
178
|
-
${JSON.stringify(addedPackages, undefined, 4)}`;
|
|
180
|
+
const compItems = changedComps.map(c => (0, _cli().formatItem)(c));
|
|
181
|
+
const compSection = (0, _cli().formatSection)('changed components', '', compItems);
|
|
182
|
+
const pkgSection = `${(0, _cli().formatTitle)('added packages')}\n${JSON.stringify(addedPackages, undefined, 4)}`;
|
|
183
|
+
return (0, _cli().joinSections)([(0, _cli().formatSuccessSummary)('successfully updated dependencies'), compSection, pkgSection]);
|
|
179
184
|
}
|
|
180
185
|
}
|
|
181
186
|
exports.DependenciesSetCmd = DependenciesSetCmd;
|
|
@@ -202,13 +207,16 @@ see also 'bit deps unset'`);
|
|
|
202
207
|
async report([pattern, packages], removeDepsFlags) {
|
|
203
208
|
const results = await this.deps.removeDependency(pattern, packages, removeDepsFlags);
|
|
204
209
|
if (!results.length) {
|
|
205
|
-
return
|
|
210
|
+
return (0, _cli().formatHint)('the specified component-pattern do not use the entered packages. nothing to remove');
|
|
206
211
|
}
|
|
207
|
-
const
|
|
212
|
+
const sections = results.map(({
|
|
208
213
|
id,
|
|
209
214
|
removedPackages
|
|
210
|
-
}) =>
|
|
211
|
-
|
|
215
|
+
}) => {
|
|
216
|
+
const items = removedPackages.map(pkg => (0, _cli().formatItem)(pkg));
|
|
217
|
+
return (0, _cli().formatSection)(id.toString(), '', items);
|
|
218
|
+
});
|
|
219
|
+
return (0, _cli().joinSections)([(0, _cli().formatSuccessSummary)('successfully removed dependencies'), ...sections]);
|
|
212
220
|
}
|
|
213
221
|
}
|
|
214
222
|
exports.DependenciesRemoveCmd = DependenciesRemoveCmd;
|
|
@@ -234,13 +242,16 @@ see also "bit deps remove"`);
|
|
|
234
242
|
async report([pattern, packages], removeDepsFlags) {
|
|
235
243
|
const results = await this.deps.removeDependency(pattern, packages, removeDepsFlags, true);
|
|
236
244
|
if (!results.length) {
|
|
237
|
-
return
|
|
245
|
+
return (0, _cli().formatHint)('the specified component-pattern do not use the entered packages. nothing to unset');
|
|
238
246
|
}
|
|
239
|
-
const
|
|
247
|
+
const sections = results.map(({
|
|
240
248
|
id,
|
|
241
249
|
removedPackages
|
|
242
|
-
}) =>
|
|
243
|
-
|
|
250
|
+
}) => {
|
|
251
|
+
const items = removedPackages.map(pkg => (0, _cli().formatItem)(pkg));
|
|
252
|
+
return (0, _cli().formatSection)(id.toString(), '', items);
|
|
253
|
+
});
|
|
254
|
+
return (0, _cli().joinSections)([(0, _cli().formatSuccessSummary)('successfully unset dependencies'), ...sections]);
|
|
244
255
|
}
|
|
245
256
|
}
|
|
246
257
|
exports.DependenciesUnsetCmd = DependenciesUnsetCmd;
|
|
@@ -260,7 +271,8 @@ class DependenciesResetCmd {
|
|
|
260
271
|
async report([pattern]) {
|
|
261
272
|
const results = await this.deps.reset(pattern);
|
|
262
273
|
const comps = results.map(id => id.toString());
|
|
263
|
-
|
|
274
|
+
const items = comps.map(c => (0, _cli().formatItem)(c));
|
|
275
|
+
return (0, _cli().joinSections)([(0, _cli().formatSuccessSummary)('successfully reset dependencies'), items.join('\n')]);
|
|
264
276
|
}
|
|
265
277
|
}
|
|
266
278
|
exports.DependenciesResetCmd = DependenciesResetCmd;
|
|
@@ -280,7 +292,8 @@ class DependenciesEjectCmd {
|
|
|
280
292
|
async report([pattern]) {
|
|
281
293
|
const results = await this.deps.eject(pattern);
|
|
282
294
|
const comps = results.map(id => id.toString());
|
|
283
|
-
|
|
295
|
+
const items = comps.map(c => (0, _cli().formatItem)(c));
|
|
296
|
+
return (0, _cli().joinSections)([(0, _cli().formatSuccessSummary)('successfully ejected dependencies'), items.join('\n')]);
|
|
284
297
|
}
|
|
285
298
|
}
|
|
286
299
|
exports.DependenciesEjectCmd = DependenciesEjectCmd;
|
|
@@ -300,7 +313,7 @@ class DependenciesBlameCmd {
|
|
|
300
313
|
async report([compName, depName]) {
|
|
301
314
|
const results = await this.deps.blame(compName, depName);
|
|
302
315
|
if (!results.length) {
|
|
303
|
-
return
|
|
316
|
+
return (0, _cli().formatHint)(`the specified component ${compName} does not use the entered dependency ${depName}`);
|
|
304
317
|
}
|
|
305
318
|
const table = borderlessTable();
|
|
306
319
|
results.map(({
|
|
@@ -336,7 +349,7 @@ supports both exact version matching and package name patterns.`);
|
|
|
336
349
|
if (deepUsageResult != null) return deepUsageResult;
|
|
337
350
|
const results = await this.deps.usage(depName);
|
|
338
351
|
if (!Object.keys(results).length) {
|
|
339
|
-
return
|
|
352
|
+
return (0, _cli().formatHint)(`the specified dependency ${depName} is not used by any component`);
|
|
340
353
|
}
|
|
341
354
|
return Object.keys(results).map(compIdStr => `${_chalk().default.bold(compIdStr)} (using dep in version ${results[compIdStr]})`).join('\n');
|
|
342
355
|
}
|
|
@@ -365,7 +378,7 @@ class DependenciesDiagnoseCmd {
|
|
|
365
378
|
}
|
|
366
379
|
const report = await this.deps.diagnose();
|
|
367
380
|
const bloatFactor = report.uniquePackages > 0 ? `${(report.pnpmStoreEntries / report.uniquePackages).toFixed(1)}x bloat factor` : 'N/A';
|
|
368
|
-
const sections = [
|
|
381
|
+
const sections = [(0, _cli().formatTitle)('Dependency Diagnosis for workspace'), '', (0, _cli().formatTitle)('Summary:'), ` Components in workspace: ${report.componentCount}`, ` Unique packages: ${report.uniquePackages.toLocaleString()}`, ` Installed copies (.pnpm entries): ${report.pnpmStoreEntries.toLocaleString()} (${bloatFactor})`, ` Packages with duplicates: ${report.duplicatedPackages}`];
|
|
369
382
|
if (report.versionSpread.length) {
|
|
370
383
|
const spreadTable = borderlessTable({
|
|
371
384
|
head: ['Package', 'Versions', 'Copies', 'Impact'],
|
|
@@ -375,7 +388,7 @@ class DependenciesDiagnoseCmd {
|
|
|
375
388
|
report.versionSpread.forEach(entry => {
|
|
376
389
|
spreadTable.push([entry.packageName, String(entry.versionCount), String(entry.installedCopies), (IMPACT_COLOR[entry.impact] || _chalk().default.green)(entry.impact)]);
|
|
377
390
|
});
|
|
378
|
-
sections.push('',
|
|
391
|
+
sections.push('', (0, _cli().formatTitle)('Top version-spread packages:'), spreadTable.toString());
|
|
379
392
|
}
|
|
380
393
|
if (report.peerPermutations.length) {
|
|
381
394
|
const peerTable = borderlessTable({
|
|
@@ -387,7 +400,7 @@ class DependenciesDiagnoseCmd {
|
|
|
387
400
|
const copies = entry.installedCopies > 0 ? String(entry.installedCopies) : _chalk().default.dim('0 (not installed)');
|
|
388
401
|
peerTable.push([entry.packageName, `${entry.versions.length} (${entry.versions.join(', ')})`, copies]);
|
|
389
402
|
});
|
|
390
|
-
sections.push('',
|
|
403
|
+
sections.push('', (0, _cli().formatTitle)('Peer dependencies causing permutations:'), peerTable.toString());
|
|
391
404
|
if (options.origins) {
|
|
392
405
|
// Show peer version origins grouped by version
|
|
393
406
|
const originLines = [];
|
|
@@ -407,10 +420,10 @@ class DependenciesDiagnoseCmd {
|
|
|
407
420
|
}
|
|
408
421
|
}
|
|
409
422
|
if (originLines.length) {
|
|
410
|
-
sections.push('',
|
|
423
|
+
sections.push('', (0, _cli().formatTitle)(' Peer version origins:'), ...originLines);
|
|
411
424
|
}
|
|
412
425
|
} else {
|
|
413
|
-
sections.push('',
|
|
426
|
+
sections.push('', (0, _cli().formatHint)(' Tip: use --origins to see which envs and components contribute each peer version'));
|
|
414
427
|
}
|
|
415
428
|
}
|
|
416
429
|
return sections.join('\n');
|
|
@@ -419,9 +432,9 @@ class DependenciesDiagnoseCmd {
|
|
|
419
432
|
const {
|
|
420
433
|
pnpmDirs
|
|
421
434
|
} = await this.deps.diagnoseDrillDown(packageName);
|
|
422
|
-
const header = [
|
|
435
|
+
const header = [(0, _cli().formatTitle)(`Package drill-down: ${packageName}`), '', ` Installed copies: ${pnpmDirs.length}`, ''];
|
|
423
436
|
if (!pnpmDirs.length) {
|
|
424
|
-
return [...header,
|
|
437
|
+
return [...header, ` ${_cli().warnSymbol} No .pnpm entries found for this package.`, (0, _cli().formatHint)(' The package may not exist in this workspace, or it may be installed only once.')].join('\n');
|
|
425
438
|
}
|
|
426
439
|
|
|
427
440
|
// Group by version
|
|
@@ -497,7 +510,7 @@ the specified version range will be used when adding this component as a peer de
|
|
|
497
510
|
}
|
|
498
511
|
async report([componentId, range]) {
|
|
499
512
|
await this.deps.setPeer(componentId, range != null ? range.toString() : range);
|
|
500
|
-
return
|
|
513
|
+
return (0, _cli().formatSuccessSummary)('successfully marked the component as a peer component');
|
|
501
514
|
}
|
|
502
515
|
}
|
|
503
516
|
exports.SetPeerCmd = SetPeerCmd;
|
|
@@ -518,7 +531,7 @@ reverses the effect of 'bit set-peer' command. the component will be treated nor
|
|
|
518
531
|
}
|
|
519
532
|
async report([componentId]) {
|
|
520
533
|
await this.deps.unsetPeer(componentId);
|
|
521
|
-
return
|
|
534
|
+
return (0, _cli().formatSuccessSummary)('successfully marked the component as not a peer component');
|
|
522
535
|
}
|
|
523
536
|
}
|
|
524
537
|
exports.UnsetPeerCmd = UnsetPeerCmd;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cliTable","data","_interopRequireDefault","require","_chalk","_archy","_legacy","_componentIssues","_template","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","borderlessTable","opts","noChar","top","bottom","left","mid","right","middle","Table","chars","style","paddingLeft","paddingRight","head","IMPACT_COLOR","HIGH","chalk","red","MEDIUM","yellow","LOW","green","DependenciesGetCmd","constructor","deps","name","description","report","id","tree","scope","results","getDependencies","idWithVersion","getGraphAsTree","graph","graphAsTree","getDependenciesAsObjectTree","toString","archy","err","graphTree","depsInfo","getDependenciesInfo","toStringWithoutVersion","depsTable","generateDependenciesInfoTable","exports","DependenciesDebugCmd","debugDependencies","JSON","stringify","undefined","DependenciesSetCmd","COMPONENT_PATTERN_HELP","pattern","packages","setDepsFlags","changedComps","addedPackages","setDependency","bold","join","DependenciesRemoveCmd","removeDepsFlags","removeDependency","output","map","removedPackages","underline","DependenciesUnsetCmd","DependenciesResetCmd","reset","comps","DependenciesEjectCmd","eject","DependenciesBlameCmd","compName","depName","blame","table","snap","tag","author","date","message","version","DependenciesUsageCmd","options","deepUsageResult","usageDeep","usage","compIdStr","WhyCmd","args","DependenciesDiagnoseCmd","_args","package","reportPackageDrillDown","diagnose","bloatFactor","uniquePackages","pnpmStoreEntries","toFixed","sections","componentCount","toLocaleString","duplicatedPackages","versionSpread","spreadTable","entry","packageName","versionCount","installedCopies","impact","peerPermutations","peerTable","copies","dim","versions","origins","originLines","versionOrigins","vo","envs","components","cyan","compStrs","componentId","pnpmDirs","diagnoseDrillDown","header","byVersion","Map","dir","suffixes","get","peerSuffix","set","versionLines","Array","from","s","flat","json","DependenciesCircularCmd","cycles","getCircularDependencies","includeDeps","renderCycles","DependenciesCmd","unrecognizedSubcommand","SetPeerCmd","range","setPeer","UnsetPeerCmd","unsetPeer","DependenciesWriteCmd","workspace","_","writeDependencies","target"],"sources":["dependencies-cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport type { Command, CommandOptions } from '@teambit/cli';\nimport Table from 'cli-table';\nimport chalk from 'chalk';\nimport archy from 'archy';\nimport type { ComponentIdGraph } from '@teambit/graph';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy.constants';\nimport { renderCycles } from '@teambit/component-issues';\nimport { generateDependenciesInfoTable } from './template';\nimport type { DependenciesMain } from './dependencies.main.runtime';\nimport type { Workspace } from '@teambit/workspace';\n\n/** Create a borderless CLI table (columns aligned with whitespace only). */\nfunction borderlessTable(\n opts: { head?: string[]; paddingLeft?: number; paddingRight?: number } = {}\n): InstanceType<typeof Table> {\n const noChar = {\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 return new Table({\n chars: noChar,\n style: { 'padding-left': opts.paddingLeft ?? 0, 'padding-right': opts.paddingRight ?? 0 },\n ...(opts.head ? { head: opts.head } : {}),\n });\n}\n\nconst IMPACT_COLOR: Record<string, (s: string) => string> = {\n HIGH: chalk.red,\n MEDIUM: chalk.yellow,\n LOW: chalk.green,\n};\n\ntype GetDependenciesFlags = {\n tree: boolean;\n scope?: boolean;\n};\n\nexport type SetDependenciesFlags = {\n dev?: boolean;\n optional?: 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-analysis';\n description = 'show direct and indirect dependencies of the given component';\n alias = '';\n options = [\n ['', 'scope', 'get the data from the scope instead of the workspace'],\n ['t', 'tree', 'render dependencies as a tree, similar to \"npm ls\"'],\n ] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([id]: [string], { tree = false, scope = false }: GetDependenciesFlags) {\n const results = await this.deps.getDependencies(id, scope);\n\n if (tree) {\n const idWithVersion = results.id;\n const getGraphAsTree = (graph: ComponentIdGraph) => {\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(\n 'unable to generate a tree representation, the graph is too big or has cyclic dependencies'\n )}`;\n }\n throw err;\n }\n };\n const graphTree = getGraphAsTree(results.graph);\n return graphTree;\n }\n const depsInfo = results.graph.getDependenciesInfo(results.id);\n if (!depsInfo.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 depsTable = generateDependenciesInfoTable(depsInfo, results.id);\n return `${depsTable || '<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-analysis';\n description = 'show the immediate dependencies and how their versions were determined';\n alias = '';\n options = [] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([id]: [string]) {\n const results = await this.deps.debugDependencies(id);\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 = 'dependencies';\n description = 'set a dependency to component(s)';\n alias = '';\n options = [\n ['d', 'dev', 'add to the devDependencies'],\n ['o', 'optional', 'add to the optionalDependencies'],\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 = 'dependencies';\n description = 'remove a dependency from one or more components';\n extendedDescription = `this command removes the dependency whether it was set by 'bit deps set'/variants or by auto-detection.\nif the dependency was auto-detected, it will be marked with a minus sign in the .bitmap file.\notherwise, the config is written to .bitmap without the dependency.\nsee also 'bit deps unset'`;\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 DependenciesUnsetCmd implements Command {\n name = 'unset <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 = 'dependencies';\n description = 'unset a dependency to component(s) that was set via config (e.g. \"bit deps set\" or variants)';\n extendedDescription = `this command removes the dependency only when it was set by config not if it was auto detected.\nin the .bitmap file, the config is written without the dependency.\nsee also \"bit deps remove\"`;\n alias = '';\n options = [\n ['d', 'dev', 'unset from devDependencies'],\n ['p', 'peer', 'unset 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, true);\n if (!results.length) {\n return chalk.yellow('the specified component-pattern do not use the entered packages. nothing to unset');\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 unset 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 = 'dependencies';\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 = 'dependencies';\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-analysis';\n description = '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 const table = borderlessTable();\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\ntype DependenciesUsageCmdOptions = {\n depth?: number;\n};\n\nexport class DependenciesUsageCmd implements Command {\n name = 'usage <dependency-name>';\n arguments = [\n {\n name: 'dependency-name',\n description:\n 'package-name. for components, you can use either component-id or package-name. if version is specified, it will search for the exact version',\n },\n ];\n group = 'dependencies';\n description = 'find components that use the specified dependency';\n extendedDescription = `searches workspace components to find which ones depend on the specified package or component.\nuseful for understanding dependency usage before removing packages or when refactoring components.\nsupports both exact version matching and package name patterns.`;\n alias = '';\n options = [['', 'depth <number>', 'max display depth of the dependency graph']] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([depName]: [string], options: DependenciesUsageCmdOptions) {\n const deepUsageResult = await this.deps.usageDeep(depName, options);\n if (deepUsageResult != null) return deepUsageResult;\n const results = await this.deps.usage(depName);\n if (!Object.keys(results).length) {\n return chalk.yellow(`the specified dependency ${depName} is not used by any component`);\n }\n return Object.keys(results)\n .map((compIdStr) => `${chalk.bold(compIdStr)} (using dep in version ${results[compIdStr]})`)\n .join('\\n');\n }\n}\n\nexport class WhyCmd extends DependenciesUsageCmd {\n name = 'why <dependency-name>';\n}\n\nexport class DependenciesDiagnoseCmd implements Command {\n name = 'diagnose';\n group = 'info-analysis';\n description = 'analyze workspace dependencies for version spread, peer permutations, and bloat';\n extendedDescription = `scans node_modules/.pnpm to report actual installed copies, identifies packages with multiple versions, and highlights peer dependencies causing permutation explosion. Use --package to drill down into a specific package.`;\n alias = '';\n options = [\n ['', 'package <string>', 'drill down into a specific package to see all .pnpm copies and peer combos'],\n ['', 'origins', 'show peer version origins — which envs and components contribute each peer version'],\n ] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report(_args: [], options: { package?: string; origins?: boolean }) {\n if (options.package) {\n return this.reportPackageDrillDown(options.package);\n }\n\n const report = await this.deps.diagnose();\n const bloatFactor =\n report.uniquePackages > 0\n ? `${(report.pnpmStoreEntries / report.uniquePackages).toFixed(1)}x bloat factor`\n : 'N/A';\n const sections: string[] = [\n chalk.bold('Dependency Diagnosis for workspace'),\n '',\n chalk.bold('Summary:'),\n ` Components in workspace: ${report.componentCount}`,\n ` Unique packages: ${report.uniquePackages.toLocaleString()}`,\n ` Installed copies (.pnpm entries): ${report.pnpmStoreEntries.toLocaleString()} (${bloatFactor})`,\n ` Packages with duplicates: ${report.duplicatedPackages}`,\n ];\n\n if (report.versionSpread.length) {\n const spreadTable = borderlessTable({\n head: ['Package', 'Versions', 'Copies', 'Impact'],\n paddingLeft: 2,\n paddingRight: 1,\n });\n report.versionSpread.forEach((entry) => {\n spreadTable.push([\n entry.packageName,\n String(entry.versionCount),\n String(entry.installedCopies),\n (IMPACT_COLOR[entry.impact] || chalk.green)(entry.impact),\n ]);\n });\n sections.push('', chalk.bold('Top version-spread packages:'), spreadTable.toString());\n }\n\n if (report.peerPermutations.length) {\n const peerTable = borderlessTable({\n head: ['Package', 'Declared versions', 'Installed copies'],\n paddingLeft: 2,\n paddingRight: 1,\n });\n report.peerPermutations.forEach((entry) => {\n const copies = entry.installedCopies > 0 ? String(entry.installedCopies) : chalk.dim('0 (not installed)');\n peerTable.push([entry.packageName, `${entry.versions.length} (${entry.versions.join(', ')})`, copies]);\n });\n sections.push('', chalk.bold('Peer dependencies causing permutations:'), peerTable.toString());\n\n if (options.origins) {\n // Show peer version origins grouped by version\n const originLines: string[] = [];\n for (const entry of report.peerPermutations) {\n if (!entry.versionOrigins.length) continue;\n originLines.push(` ${chalk.bold(entry.packageName)}`);\n for (const vo of entry.versionOrigins) {\n if (!vo.envs.length && !vo.components.length) continue;\n originLines.push(` ${chalk.cyan(vo.version)}`);\n if (vo.envs.length) {\n originLines.push(` envs: ${vo.envs.join(', ')}`);\n }\n if (vo.components.length) {\n const compStrs = vo.components.map((o) => o.componentId);\n originLines.push(` components: ${compStrs.join(', ')}`);\n }\n }\n }\n if (originLines.length) {\n sections.push('', chalk.bold(' Peer version origins:'), ...originLines);\n }\n } else {\n sections.push(\n '',\n chalk.dim(' Tip: use --origins to see which envs and components contribute each peer version')\n );\n }\n }\n\n return sections.join('\\n');\n }\n\n private async reportPackageDrillDown(packageName: string): Promise<string> {\n const { pnpmDirs } = await this.deps.diagnoseDrillDown(packageName);\n const header = [chalk.bold(`Package drill-down: ${packageName}`), '', ` Installed copies: ${pnpmDirs.length}`, ''];\n\n if (!pnpmDirs.length) {\n return [\n ...header,\n chalk.yellow(' No .pnpm entries found for this package.'),\n chalk.dim(' The package may not exist in this workspace, or it may be installed only once.'),\n ].join('\\n');\n }\n\n // Group by version\n const byVersion = new Map<string, string[]>();\n for (const dir of pnpmDirs) {\n const suffixes = byVersion.get(dir.version) || [];\n suffixes.push(dir.peerSuffix || '(no peers)');\n byVersion.set(dir.version, suffixes);\n }\n\n const versionLines = Array.from(byVersion, ([version, suffixes]) => [\n chalk.bold(` ${packageName}@${version}`) + chalk.dim(` — ${suffixes.length} copies`),\n ...suffixes.map((s) => ` ${chalk.dim(s)}`),\n ]).flat();\n\n return [...header, ...versionLines].join('\\n');\n }\n\n async json(_args: [], options: { package?: string }) {\n if (options.package) {\n return this.deps.diagnoseDrillDown(options.package);\n }\n return this.deps.diagnose();\n }\n}\n\ntype DependenciesCircularCmdOptions = {\n includeDeps?: boolean;\n};\n\nexport class DependenciesCircularCmd implements Command {\n name = 'circular';\n group = 'info-analysis';\n description = 'find circular dependencies in the component graph';\n alias = '';\n options = [\n ['j', 'json', 'return the output in JSON format'],\n ['', 'include-deps', 'include component dependencies that are not in this workspace'],\n ] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report(_args: [], options: DependenciesCircularCmdOptions) {\n const cycles = await this.deps.getCircularDependencies(options.includeDeps);\n return renderCycles(cycles);\n }\n\n async json(_args: [], options: DependenciesCircularCmdOptions) {\n return this.deps.getCircularDependencies(options.includeDeps);\n }\n}\n\nexport class DependenciesCmd implements Command {\n name = 'deps <sub-command>';\n alias = 'dependencies';\n description = 'manage component dependencies';\n extendedDescription = `configure and analyze component dependencies with sub-commands for setting, removing, and inspecting dependency relationships.`;\n options = [];\n group = 'dependencies';\n commands: Command[] = [];\n helpUrl = 'reference/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\nexport class SetPeerCmd implements Command {\n name = 'set-peer <component-id> <range>';\n arguments = [\n { name: 'component-id', description: 'the component to set as always peer' },\n {\n name: 'range',\n description: 'the default range to use for the component, when added to peerDependencies',\n },\n ];\n group = 'dependencies';\n description = 'configure component to always be installed as peer dependency';\n extendedDescription = `marks a component to always be treated as a peer dependency when used by other components.\nuseful for shared libraries that should be provided by the consuming application.\nthe specified version range will be used when adding this component as a peer dependency.`;\n alias = '';\n options = [];\n\n constructor(private deps: DependenciesMain) {}\n\n async report([componentId, range]: [string, string]) {\n await this.deps.setPeer(componentId, range != null ? range.toString() : range);\n return `${chalk.green('successfully marked the component as a peer component')}`;\n }\n}\n\nexport class UnsetPeerCmd implements Command {\n name = 'unset-peer <component-id>';\n arguments = [{ name: 'component-id', description: 'the component to unset as always peer' }];\n group = 'dependencies';\n description = 'remove always-peer configuration from component';\n extendedDescription = `removes the always-peer marking from a component, allowing it to be installed as a regular dependency.\nreverses the effect of 'bit set-peer' command. the component will be treated normally in dependency resolution.`;\n alias = '';\n options = [];\n\n constructor(private deps: DependenciesMain) {}\n\n async report([componentId]: [string]) {\n await this.deps.unsetPeer(componentId);\n return `${chalk.green('successfully marked the component as not a peer component')}`;\n }\n}\n\ntype DependenciesWriteCmdOptions = {\n target?: 'workspace.jsonc' | 'package.json';\n};\n\nexport class DependenciesWriteCmd implements Command {\n name = 'write';\n arguments = [];\n group = 'dependencies';\n description =\n 'write all workspace component dependencies to package.json or workspace.jsonc, resolving conflicts by picking the ranges that match the highest versions';\n alias = '';\n options = [\n [\n '',\n 'target <workspace.jsonc|package.json>',\n 'specify where the dependencies should be written. By default they are saved to workspace.jsonc',\n ],\n ] as CommandOptions;\n\n constructor(private workspace: Workspace) {}\n\n async report(_, options: DependenciesWriteCmdOptions) {\n await this.workspace.writeDependencies(options.target);\n return '';\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_cli","data","require","_cliTable","_interopRequireDefault","_chalk","_archy","_legacy","_componentIssues","_template","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","borderlessTable","opts","noChar","top","bottom","left","mid","right","middle","Table","chars","style","paddingLeft","paddingRight","head","IMPACT_COLOR","HIGH","chalk","red","MEDIUM","yellow","LOW","green","DependenciesGetCmd","constructor","deps","name","description","report","id","tree","scope","results","getDependencies","idWithVersion","getGraphAsTree","graph","graphAsTree","getDependenciesAsObjectTree","toString","archy","err","graphTree","depsInfo","getDependenciesInfo","toStringWithoutVersion","depsTable","generateDependenciesInfoTable","exports","DependenciesDebugCmd","debugDependencies","JSON","stringify","undefined","DependenciesSetCmd","COMPONENT_PATTERN_HELP","pattern","packages","setDepsFlags","changedComps","addedPackages","setDependency","compItems","map","c","formatItem","compSection","formatSection","pkgSection","formatTitle","joinSections","formatSuccessSummary","DependenciesRemoveCmd","removeDepsFlags","removeDependency","formatHint","sections","removedPackages","items","pkg","DependenciesUnsetCmd","DependenciesResetCmd","reset","comps","join","DependenciesEjectCmd","eject","DependenciesBlameCmd","compName","depName","blame","table","snap","tag","author","date","message","version","DependenciesUsageCmd","options","deepUsageResult","usageDeep","usage","compIdStr","bold","WhyCmd","args","DependenciesDiagnoseCmd","_args","package","reportPackageDrillDown","diagnose","bloatFactor","uniquePackages","pnpmStoreEntries","toFixed","componentCount","toLocaleString","duplicatedPackages","versionSpread","spreadTable","entry","packageName","versionCount","installedCopies","impact","peerPermutations","peerTable","copies","dim","versions","origins","originLines","versionOrigins","vo","envs","components","cyan","compStrs","componentId","pnpmDirs","diagnoseDrillDown","header","warnSymbol","byVersion","Map","dir","suffixes","get","peerSuffix","set","versionLines","Array","from","s","flat","json","DependenciesCircularCmd","cycles","getCircularDependencies","includeDeps","renderCycles","DependenciesCmd","unrecognizedSubcommand","SetPeerCmd","range","setPeer","UnsetPeerCmd","unsetPeer","DependenciesWriteCmd","workspace","_","writeDependencies","target"],"sources":["dependencies-cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport type { Command, CommandOptions } from '@teambit/cli';\nimport {\n formatTitle,\n formatItem,\n formatSection,\n formatSuccessSummary,\n formatHint,\n joinSections,\n warnSymbol,\n} from '@teambit/cli';\nimport Table from 'cli-table';\nimport chalk from 'chalk';\nimport archy from 'archy';\nimport type { ComponentIdGraph } from '@teambit/graph';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy.constants';\nimport { renderCycles } from '@teambit/component-issues';\nimport { generateDependenciesInfoTable } from './template';\nimport type { DependenciesMain } from './dependencies.main.runtime';\nimport type { Workspace } from '@teambit/workspace';\n\n/** Create a borderless CLI table (columns aligned with whitespace only). */\nfunction borderlessTable(\n opts: { head?: string[]; paddingLeft?: number; paddingRight?: number } = {}\n): InstanceType<typeof Table> {\n const noChar = {\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 return new Table({\n chars: noChar,\n style: { 'padding-left': opts.paddingLeft ?? 0, 'padding-right': opts.paddingRight ?? 0 },\n ...(opts.head ? { head: opts.head } : {}),\n });\n}\n\nconst IMPACT_COLOR: Record<string, (s: string) => string> = {\n HIGH: chalk.red,\n MEDIUM: chalk.yellow,\n LOW: chalk.green,\n};\n\ntype GetDependenciesFlags = {\n tree: boolean;\n scope?: boolean;\n};\n\nexport type SetDependenciesFlags = {\n dev?: boolean;\n optional?: 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-analysis';\n description = 'show direct and indirect dependencies of the given component';\n alias = '';\n options = [\n ['', 'scope', 'get the data from the scope instead of the workspace'],\n ['t', 'tree', 'render dependencies as a tree, similar to \"npm ls\"'],\n ] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([id]: [string], { tree = false, scope = false }: GetDependenciesFlags) {\n const results = await this.deps.getDependencies(id, scope);\n\n if (tree) {\n const idWithVersion = results.id;\n const getGraphAsTree = (graph: ComponentIdGraph) => {\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(\n 'unable to generate a tree representation, the graph is too big or has cyclic dependencies'\n )}`;\n }\n throw err;\n }\n };\n const graphTree = getGraphAsTree(results.graph);\n return graphTree;\n }\n const depsInfo = results.graph.getDependenciesInfo(results.id);\n if (!depsInfo.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 depsTable = generateDependenciesInfoTable(depsInfo, results.id);\n return `${depsTable || '<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-analysis';\n description = 'show the immediate dependencies and how their versions were determined';\n alias = '';\n options = [] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([id]: [string]) {\n const results = await this.deps.debugDependencies(id);\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 = 'dependencies';\n description = 'set a dependency to component(s)';\n alias = '';\n options = [\n ['d', 'dev', 'add to the devDependencies'],\n ['o', 'optional', 'add to the optionalDependencies'],\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 const compItems = changedComps.map((c) => formatItem(c));\n const compSection = formatSection('changed components', '', compItems);\n const pkgSection = `${formatTitle('added packages')}\\n${JSON.stringify(addedPackages, undefined, 4)}`;\n return joinSections([formatSuccessSummary('successfully updated dependencies'), compSection, pkgSection]);\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 = 'dependencies';\n description = 'remove a dependency from one or more components';\n extendedDescription = `this command removes the dependency whether it was set by 'bit deps set'/variants or by auto-detection.\nif the dependency was auto-detected, it will be marked with a minus sign in the .bitmap file.\notherwise, the config is written to .bitmap without the dependency.\nsee also 'bit deps unset'`;\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 formatHint('the specified component-pattern do not use the entered packages. nothing to remove');\n }\n\n const sections = results.map(({ id, removedPackages }) => {\n const items = removedPackages.map((pkg) => formatItem(pkg));\n return formatSection(id.toString(), '', items);\n });\n\n return joinSections([formatSuccessSummary('successfully removed dependencies'), ...sections]);\n }\n}\n\nexport class DependenciesUnsetCmd implements Command {\n name = 'unset <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 = 'dependencies';\n description = 'unset a dependency to component(s) that was set via config (e.g. \"bit deps set\" or variants)';\n extendedDescription = `this command removes the dependency only when it was set by config not if it was auto detected.\nin the .bitmap file, the config is written without the dependency.\nsee also \"bit deps remove\"`;\n alias = '';\n options = [\n ['d', 'dev', 'unset from devDependencies'],\n ['p', 'peer', 'unset 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, true);\n if (!results.length) {\n return formatHint('the specified component-pattern do not use the entered packages. nothing to unset');\n }\n\n const sections = results.map(({ id, removedPackages }) => {\n const items = removedPackages.map((pkg) => formatItem(pkg));\n return formatSection(id.toString(), '', items);\n });\n\n return joinSections([formatSuccessSummary('successfully unset dependencies'), ...sections]);\n }\n}\n\nexport class DependenciesResetCmd implements Command {\n name = 'reset <component-pattern>';\n arguments = [{ name: 'component-pattern', description: COMPONENT_PATTERN_HELP }];\n group = 'dependencies';\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 const items = comps.map((c) => formatItem(c));\n return joinSections([formatSuccessSummary('successfully reset dependencies'), items.join('\\n')]);\n }\n}\n\nexport class DependenciesEjectCmd implements Command {\n name = 'eject <component-pattern>';\n arguments = [{ name: 'component-pattern', description: COMPONENT_PATTERN_HELP }];\n group = 'dependencies';\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 const items = comps.map((c) => formatItem(c));\n return joinSections([formatSuccessSummary('successfully ejected dependencies'), items.join('\\n')]);\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-analysis';\n description = '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 formatHint(`the specified component ${compName} does not use the entered dependency ${depName}`);\n }\n const table = borderlessTable();\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\ntype DependenciesUsageCmdOptions = {\n depth?: number;\n};\n\nexport class DependenciesUsageCmd implements Command {\n name = 'usage <dependency-name>';\n arguments = [\n {\n name: 'dependency-name',\n description:\n 'package-name. for components, you can use either component-id or package-name. if version is specified, it will search for the exact version',\n },\n ];\n group = 'dependencies';\n description = 'find components that use the specified dependency';\n extendedDescription = `searches workspace components to find which ones depend on the specified package or component.\nuseful for understanding dependency usage before removing packages or when refactoring components.\nsupports both exact version matching and package name patterns.`;\n alias = '';\n options = [['', 'depth <number>', 'max display depth of the dependency graph']] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([depName]: [string], options: DependenciesUsageCmdOptions) {\n const deepUsageResult = await this.deps.usageDeep(depName, options);\n if (deepUsageResult != null) return deepUsageResult;\n const results = await this.deps.usage(depName);\n if (!Object.keys(results).length) {\n return formatHint(`the specified dependency ${depName} is not used by any component`);\n }\n return Object.keys(results)\n .map((compIdStr) => `${chalk.bold(compIdStr)} (using dep in version ${results[compIdStr]})`)\n .join('\\n');\n }\n}\n\nexport class WhyCmd extends DependenciesUsageCmd {\n name = 'why <dependency-name>';\n}\n\nexport class DependenciesDiagnoseCmd implements Command {\n name = 'diagnose';\n group = 'info-analysis';\n description = 'analyze workspace dependencies for version spread, peer permutations, and bloat';\n extendedDescription = `scans node_modules/.pnpm to report actual installed copies, identifies packages with multiple versions, and highlights peer dependencies causing permutation explosion. Use --package to drill down into a specific package.`;\n alias = '';\n options = [\n ['', 'package <string>', 'drill down into a specific package to see all .pnpm copies and peer combos'],\n ['', 'origins', 'show peer version origins — which envs and components contribute each peer version'],\n ] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report(_args: [], options: { package?: string; origins?: boolean }) {\n if (options.package) {\n return this.reportPackageDrillDown(options.package);\n }\n\n const report = await this.deps.diagnose();\n const bloatFactor =\n report.uniquePackages > 0\n ? `${(report.pnpmStoreEntries / report.uniquePackages).toFixed(1)}x bloat factor`\n : 'N/A';\n const sections: string[] = [\n formatTitle('Dependency Diagnosis for workspace'),\n '',\n formatTitle('Summary:'),\n ` Components in workspace: ${report.componentCount}`,\n ` Unique packages: ${report.uniquePackages.toLocaleString()}`,\n ` Installed copies (.pnpm entries): ${report.pnpmStoreEntries.toLocaleString()} (${bloatFactor})`,\n ` Packages with duplicates: ${report.duplicatedPackages}`,\n ];\n\n if (report.versionSpread.length) {\n const spreadTable = borderlessTable({\n head: ['Package', 'Versions', 'Copies', 'Impact'],\n paddingLeft: 2,\n paddingRight: 1,\n });\n report.versionSpread.forEach((entry) => {\n spreadTable.push([\n entry.packageName,\n String(entry.versionCount),\n String(entry.installedCopies),\n (IMPACT_COLOR[entry.impact] || chalk.green)(entry.impact),\n ]);\n });\n sections.push('', formatTitle('Top version-spread packages:'), spreadTable.toString());\n }\n\n if (report.peerPermutations.length) {\n const peerTable = borderlessTable({\n head: ['Package', 'Declared versions', 'Installed copies'],\n paddingLeft: 2,\n paddingRight: 1,\n });\n report.peerPermutations.forEach((entry) => {\n const copies = entry.installedCopies > 0 ? String(entry.installedCopies) : chalk.dim('0 (not installed)');\n peerTable.push([entry.packageName, `${entry.versions.length} (${entry.versions.join(', ')})`, copies]);\n });\n sections.push('', formatTitle('Peer dependencies causing permutations:'), peerTable.toString());\n\n if (options.origins) {\n // Show peer version origins grouped by version\n const originLines: string[] = [];\n for (const entry of report.peerPermutations) {\n if (!entry.versionOrigins.length) continue;\n originLines.push(` ${chalk.bold(entry.packageName)}`);\n for (const vo of entry.versionOrigins) {\n if (!vo.envs.length && !vo.components.length) continue;\n originLines.push(` ${chalk.cyan(vo.version)}`);\n if (vo.envs.length) {\n originLines.push(` envs: ${vo.envs.join(', ')}`);\n }\n if (vo.components.length) {\n const compStrs = vo.components.map((o) => o.componentId);\n originLines.push(` components: ${compStrs.join(', ')}`);\n }\n }\n }\n if (originLines.length) {\n sections.push('', formatTitle(' Peer version origins:'), ...originLines);\n }\n } else {\n sections.push(\n '',\n formatHint(' Tip: use --origins to see which envs and components contribute each peer version')\n );\n }\n }\n\n return sections.join('\\n');\n }\n\n private async reportPackageDrillDown(packageName: string): Promise<string> {\n const { pnpmDirs } = await this.deps.diagnoseDrillDown(packageName);\n const header = [\n formatTitle(`Package drill-down: ${packageName}`),\n '',\n ` Installed copies: ${pnpmDirs.length}`,\n '',\n ];\n\n if (!pnpmDirs.length) {\n return [\n ...header,\n ` ${warnSymbol} No .pnpm entries found for this package.`,\n formatHint(' The package may not exist in this workspace, or it may be installed only once.'),\n ].join('\\n');\n }\n\n // Group by version\n const byVersion = new Map<string, string[]>();\n for (const dir of pnpmDirs) {\n const suffixes = byVersion.get(dir.version) || [];\n suffixes.push(dir.peerSuffix || '(no peers)');\n byVersion.set(dir.version, suffixes);\n }\n\n const versionLines = Array.from(byVersion, ([version, suffixes]) => [\n chalk.bold(` ${packageName}@${version}`) + chalk.dim(` — ${suffixes.length} copies`),\n ...suffixes.map((s) => ` ${chalk.dim(s)}`),\n ]).flat();\n\n return [...header, ...versionLines].join('\\n');\n }\n\n async json(_args: [], options: { package?: string }) {\n if (options.package) {\n return this.deps.diagnoseDrillDown(options.package);\n }\n return this.deps.diagnose();\n }\n}\n\ntype DependenciesCircularCmdOptions = {\n includeDeps?: boolean;\n};\n\nexport class DependenciesCircularCmd implements Command {\n name = 'circular';\n group = 'info-analysis';\n description = 'find circular dependencies in the component graph';\n alias = '';\n options = [\n ['j', 'json', 'return the output in JSON format'],\n ['', 'include-deps', 'include component dependencies that are not in this workspace'],\n ] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report(_args: [], options: DependenciesCircularCmdOptions) {\n const cycles = await this.deps.getCircularDependencies(options.includeDeps);\n return renderCycles(cycles);\n }\n\n async json(_args: [], options: DependenciesCircularCmdOptions) {\n return this.deps.getCircularDependencies(options.includeDeps);\n }\n}\n\nexport class DependenciesCmd implements Command {\n name = 'deps <sub-command>';\n alias = 'dependencies';\n description = 'manage component dependencies';\n extendedDescription = `configure and analyze component dependencies with sub-commands for setting, removing, and inspecting dependency relationships.`;\n options = [];\n group = 'dependencies';\n commands: Command[] = [];\n helpUrl = 'reference/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\nexport class SetPeerCmd implements Command {\n name = 'set-peer <component-id> <range>';\n arguments = [\n { name: 'component-id', description: 'the component to set as always peer' },\n {\n name: 'range',\n description: 'the default range to use for the component, when added to peerDependencies',\n },\n ];\n group = 'dependencies';\n description = 'configure component to always be installed as peer dependency';\n extendedDescription = `marks a component to always be treated as a peer dependency when used by other components.\nuseful for shared libraries that should be provided by the consuming application.\nthe specified version range will be used when adding this component as a peer dependency.`;\n alias = '';\n options = [];\n\n constructor(private deps: DependenciesMain) {}\n\n async report([componentId, range]: [string, string]) {\n await this.deps.setPeer(componentId, range != null ? range.toString() : range);\n return formatSuccessSummary('successfully marked the component as a peer component');\n }\n}\n\nexport class UnsetPeerCmd implements Command {\n name = 'unset-peer <component-id>';\n arguments = [{ name: 'component-id', description: 'the component to unset as always peer' }];\n group = 'dependencies';\n description = 'remove always-peer configuration from component';\n extendedDescription = `removes the always-peer marking from a component, allowing it to be installed as a regular dependency.\nreverses the effect of 'bit set-peer' command. the component will be treated normally in dependency resolution.`;\n alias = '';\n options = [];\n\n constructor(private deps: DependenciesMain) {}\n\n async report([componentId]: [string]) {\n await this.deps.unsetPeer(componentId);\n return formatSuccessSummary('successfully marked the component as not a peer component');\n }\n}\n\ntype DependenciesWriteCmdOptions = {\n target?: 'workspace.jsonc' | 'package.json';\n};\n\nexport class DependenciesWriteCmd implements Command {\n name = 'write';\n arguments = [];\n group = 'dependencies';\n description =\n 'write all workspace component dependencies to package.json or workspace.jsonc, resolving conflicts by picking the ranges that match the highest versions';\n alias = '';\n options = [\n [\n '',\n 'target <workspace.jsonc|package.json>',\n 'specify where the dependencies should be written. By default they are saved to workspace.jsonc',\n ],\n ] as CommandOptions;\n\n constructor(private workspace: Workspace) {}\n\n async report(_, options: DependenciesWriteCmdOptions) {\n await this.workspace.writeDependencies(options.target);\n return '';\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/dependencies",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.940",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/dependencies/dependencies",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.dependencies",
|
|
8
8
|
"name": "dependencies",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.940"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"archy": "1.0.0",
|
|
@@ -27,14 +27,23 @@
|
|
|
27
27
|
"module-definition": "3.3.1",
|
|
28
28
|
"node-source-walk": "4.2.0",
|
|
29
29
|
"@teambit/component-issues": "0.0.171",
|
|
30
|
+
"@teambit/legacy.constants": "0.0.26",
|
|
30
31
|
"@teambit/harmony": "0.4.7",
|
|
31
32
|
"@teambit/component-id": "1.2.4",
|
|
32
33
|
"@teambit/component-package-version": "0.0.449",
|
|
34
|
+
"@teambit/legacy.consumer-component": "0.0.108",
|
|
33
35
|
"@teambit/bit-error": "0.0.404",
|
|
36
|
+
"@teambit/legacy.dependency-graph": "0.0.110",
|
|
37
|
+
"@teambit/component.sources": "0.0.159",
|
|
34
38
|
"@teambit/legacy.utils": "0.0.34",
|
|
35
39
|
"@teambit/toolbox.path.path": "0.0.16",
|
|
40
|
+
"@teambit/legacy.bit-map": "0.0.164",
|
|
41
|
+
"@teambit/legacy.consumer-config": "0.0.107",
|
|
42
|
+
"@teambit/legacy.consumer": "0.0.107",
|
|
36
43
|
"@teambit/component-version": "1.0.4",
|
|
44
|
+
"@teambit/legacy.logger": "0.0.38",
|
|
37
45
|
"@teambit/toolbox.fs.extension-getter": "0.0.13",
|
|
46
|
+
"@teambit/legacy.extension-data": "0.0.109",
|
|
38
47
|
"@teambit/toolbox.fs.last-modified": "0.0.14",
|
|
39
48
|
"@teambit/styling.deps-lookups.lookup-styling": "0.0.4",
|
|
40
49
|
"@teambit/typescript.deps-lookups.lookup-typescript": "0.0.2",
|
|
@@ -44,23 +53,14 @@
|
|
|
44
53
|
"@teambit/styling.deps-detectors.detective-sass": "0.0.9",
|
|
45
54
|
"@teambit/styling.deps-detectors.detective-scss": "0.0.9",
|
|
46
55
|
"@teambit/typescript.deps-detectors.detective-typescript": "0.0.10",
|
|
47
|
-
"@teambit/cli": "0.0.
|
|
48
|
-
"@teambit/graph": "1.0.
|
|
49
|
-
"@teambit/
|
|
50
|
-
"@teambit/
|
|
51
|
-
"@teambit/
|
|
52
|
-
"@teambit/
|
|
53
|
-
"@teambit/
|
|
54
|
-
"@teambit/
|
|
55
|
-
"@teambit/logger": "0.0.1407",
|
|
56
|
-
"@teambit/scope": "1.0.938",
|
|
57
|
-
"@teambit/legacy.dependency-graph": "0.0.110",
|
|
58
|
-
"@teambit/component.sources": "0.0.159",
|
|
59
|
-
"@teambit/legacy.bit-map": "0.0.164",
|
|
60
|
-
"@teambit/legacy.consumer-config": "0.0.107",
|
|
61
|
-
"@teambit/legacy.consumer": "0.0.107",
|
|
62
|
-
"@teambit/legacy.logger": "0.0.38",
|
|
63
|
-
"@teambit/legacy.extension-data": "0.0.109"
|
|
56
|
+
"@teambit/cli": "0.0.1315",
|
|
57
|
+
"@teambit/graph": "1.0.940",
|
|
58
|
+
"@teambit/workspace": "1.0.940",
|
|
59
|
+
"@teambit/aspect-loader": "1.0.940",
|
|
60
|
+
"@teambit/dependency-resolver": "1.0.940",
|
|
61
|
+
"@teambit/dev-files": "1.0.940",
|
|
62
|
+
"@teambit/logger": "0.0.1408",
|
|
63
|
+
"@teambit/scope": "1.0.940"
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
66
66
|
"@types/cli-table": "^0.3.0",
|
|
@@ -70,11 +70,11 @@
|
|
|
70
70
|
"rewire": "7.0.0",
|
|
71
71
|
"sinon": "17.0.1",
|
|
72
72
|
"@types/mocha": "9.1.0",
|
|
73
|
-
"@teambit/defender.fs.global-bit-temp-dir": "0.0.1",
|
|
74
|
-
"@teambit/harmony.envs.core-aspect-env": "0.1.4",
|
|
75
73
|
"@teambit/component.testing.mock-components": "0.0.376",
|
|
76
74
|
"@teambit/harmony.testing.load-aspect": "0.0.371",
|
|
77
|
-
"@teambit/workspace.testing.mock-workspace": "0.0.173"
|
|
75
|
+
"@teambit/workspace.testing.mock-workspace": "0.0.173",
|
|
76
|
+
"@teambit/defender.fs.global-bit-temp-dir": "0.0.1",
|
|
77
|
+
"@teambit/harmony.envs.core-aspect-env": "0.1.4"
|
|
78
78
|
},
|
|
79
79
|
"peerDependencies": {
|
|
80
80
|
"chai": "5.2.1",
|
|
File without changes
|