@teambit/dependencies 1.0.606 → 1.0.608
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/dependencies-loader/apply-overrides.ts +23 -23
- package/dependencies-loader/auto-detect-deps.ts +13 -9
- package/dependencies-loader/dependencies-versions-resolver.ts +47 -24
- package/dist/dependencies-cmd.d.ts +15 -0
- package/dist/dependencies-cmd.js +17 -1
- package/dist/dependencies-cmd.js.map +1 -1
- package/dist/dependencies-loader/apply-overrides.d.ts +4 -0
- package/dist/dependencies-loader/apply-overrides.js +16 -14
- package/dist/dependencies-loader/apply-overrides.js.map +1 -1
- package/dist/dependencies-loader/auto-detect-deps.d.ts +8 -1
- package/dist/dependencies-loader/auto-detect-deps.js +32 -10
- package/dist/dependencies-loader/auto-detect-deps.js.map +1 -1
- package/dist/dependencies-loader/dependencies-versions-resolver.js +68 -16
- package/dist/dependencies-loader/dependencies-versions-resolver.js.map +1 -1
- package/dist/dependencies.main.runtime.js +1 -1
- package/dist/dependencies.main.runtime.js.map +1 -1
- package/package.json +11 -11
- /package/dist/{preview-1745551122163.js → preview-1745637500924.js} +0 -0
@@ -50,7 +50,11 @@ export class ApplyOverrides {
|
|
50
50
|
processedFiles: string[];
|
51
51
|
overridesDependencies: OverridesDependencies;
|
52
52
|
debugDependenciesData: DebugDependencies;
|
53
|
-
|
53
|
+
/**
|
54
|
+
* see workspace.getAutoDetectOverrides docs.
|
55
|
+
* these overrides are from env/variants/merge-config. not ones with "force: true".
|
56
|
+
*/
|
57
|
+
public autoDetectOverrides: Record<string, any> | undefined;
|
54
58
|
constructor(
|
55
59
|
private component: Component,
|
56
60
|
private depsResolver: DependencyResolverMain,
|
@@ -513,31 +517,26 @@ export class ApplyOverrides {
|
|
513
517
|
}
|
514
518
|
['dependencies', 'devDependencies', 'peerDependencies'].forEach((field) => {
|
515
519
|
forEach(autoDetectOverrides[field], (pkgVal, pkgName) => {
|
516
|
-
if (this.overridesDependencies.shouldIgnorePeerPackage(pkgName))
|
517
|
-
|
518
|
-
|
519
|
-
return dep.packageName === pkgName;
|
520
|
-
});
|
520
|
+
if (this.overridesDependencies.shouldIgnorePeerPackage(pkgName)) {
|
521
|
+
return;
|
522
|
+
}
|
521
523
|
|
522
|
-
const
|
523
|
-
|
524
|
-
|
524
|
+
const existsInCompsDeps = this.allDependencies.dependencies.find((dep) => dep.packageName === pkgName);
|
525
|
+
const existsInCompsDevDeps = this.allDependencies.devDependencies.find((dep) => dep.packageName === pkgName);
|
526
|
+
const existsInCompsPeerDeps = this.allDependencies.peerDependencies.find((dep) => dep.packageName === pkgName);
|
525
527
|
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
528
|
+
// Validate it was auto detected, we only affect stuff that were detected
|
529
|
+
const isAutoDetected = existsInCompsDeps ||
|
530
|
+
existsInCompsDevDeps ||
|
531
|
+
existsInCompsPeerDeps ||
|
530
532
|
// We are checking originAllPackagesDependencies instead of allPackagesDependencies
|
531
533
|
// as it might be already removed from allPackagesDependencies at this point if it was set with
|
532
534
|
// "-" in runtime/dev
|
533
535
|
// in such case we still want to apply it here
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
!existsInCompsDevDeps &&
|
539
|
-
!existsInCompsPeerDeps &&
|
540
|
-
// Check if it was orignally exists in the component
|
536
|
+
this.originAllPackagesDependencies.packageDependencies[pkgName] ||
|
537
|
+
this.originAllPackagesDependencies.devPackageDependencies[pkgName] ||
|
538
|
+
this.originAllPackagesDependencies.peerPackageDependencies[pkgName] ||
|
539
|
+
// Check if it was originally exists in the component
|
541
540
|
// as we might have a policy which looks like this:
|
542
541
|
// "components": {
|
543
542
|
// "dependencies": {
|
@@ -549,9 +548,10 @@ export class ApplyOverrides {
|
|
549
548
|
// }
|
550
549
|
// in that case we might remove it before getting to the devDeps then we will think that it wasn't required in the component
|
551
550
|
// which is incorrect
|
552
|
-
|
553
|
-
|
554
|
-
|
551
|
+
originallyExists.includes(pkgName) ||
|
552
|
+
missingPackages.includes(pkgName)
|
553
|
+
|
554
|
+
if (!isAutoDetected) {
|
555
555
|
return;
|
556
556
|
}
|
557
557
|
originallyExists.push(pkgName);
|
@@ -399,12 +399,12 @@ export class AutoDetectDeps {
|
|
399
399
|
depDebug.importSource = 'env.jsonc';
|
400
400
|
}
|
401
401
|
const getVersionFromPkgJson = (): string | null => {
|
402
|
-
const versionFromDependencyPkgJson =
|
402
|
+
const { version: versionFromDependencyPkgJson } = getValidComponentVersion(compDep.concreteVersion);
|
403
403
|
if (versionFromDependencyPkgJson) {
|
404
404
|
depDebug.versionResolvedFrom = 'DependencyPkgJson';
|
405
405
|
return versionFromDependencyPkgJson;
|
406
406
|
}
|
407
|
-
const versionFromDependentPkgJson =
|
407
|
+
const { version: versionFromDependentPkgJson } = getValidComponentVersion(compDep.versionUsedByDependent);
|
408
408
|
if (versionFromDependentPkgJson) {
|
409
409
|
depDebug.versionResolvedFrom = 'DependentPkgJson';
|
410
410
|
return versionFromDependentPkgJson;
|
@@ -764,30 +764,34 @@ export class AutoDetectDeps {
|
|
764
764
|
}
|
765
765
|
}
|
766
766
|
|
767
|
-
|
767
|
+
/**
|
768
|
+
* this is not necessarily a valid semver version. in case of a snap, it returns the hash only, not a valid semver.
|
769
|
+
* this is for the ComponentID.version.
|
770
|
+
*/
|
771
|
+
export function getValidComponentVersion(version?: string): { version?: string, range?: string } {
|
768
772
|
if (!version) {
|
769
|
-
return
|
773
|
+
return { version: undefined };
|
770
774
|
}
|
771
775
|
if (version.startsWith(SNAP_VERSION_PREFIX)) {
|
772
776
|
const versionWithoutSnapPrefix = version.replace(SNAP_VERSION_PREFIX, '');
|
773
777
|
if (isSnap(versionWithoutSnapPrefix)) {
|
774
|
-
return versionWithoutSnapPrefix;
|
778
|
+
return { version: versionWithoutSnapPrefix };
|
775
779
|
}
|
776
780
|
}
|
777
781
|
if (semver.valid(version)) {
|
778
782
|
// this takes care of pre-releases as well, as they're considered valid semver.
|
779
|
-
return version;
|
783
|
+
return { version };
|
780
784
|
}
|
781
785
|
if (semver.validRange(version)) {
|
782
786
|
// if this is a range, e.g. ^1.0.0, return a valid version: 1.0.0.
|
783
787
|
const coerced = semver.coerce(version);
|
784
788
|
if (coerced) {
|
785
|
-
return coerced.version;
|
789
|
+
return { version: coerced.version, range: version };
|
786
790
|
}
|
787
791
|
}
|
788
792
|
if (isSnap(version)) {
|
789
|
-
return version;
|
793
|
+
return { version };
|
790
794
|
}
|
791
795
|
// it's probably a relative path to the component
|
792
|
-
return
|
796
|
+
return { version: undefined };
|
793
797
|
}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { ComponentID } from '@teambit/component-id';
|
2
|
+
import semver from 'semver';
|
2
3
|
import { Consumer } from '@teambit/legacy.consumer';
|
3
4
|
import { Workspace } from '@teambit/workspace';
|
4
5
|
import { logger } from '@teambit/legacy.logger';
|
@@ -8,7 +9,7 @@ import { ExtensionDataEntry, ExtensionDataList } from '@teambit/legacy.extension
|
|
8
9
|
import { DependencyResolverMain } from '@teambit/dependency-resolver';
|
9
10
|
import { DEPENDENCIES_FIELDS } from '@teambit/legacy.constants';
|
10
11
|
import OverridesDependencies from './overrides-dependencies';
|
11
|
-
import { DebugComponentsDependency,
|
12
|
+
import { DebugComponentsDependency, getValidComponentVersion } from './auto-detect-deps';
|
12
13
|
|
13
14
|
type DepType = 'dependencies' | 'devDependencies' | 'peerDependencies';
|
14
15
|
|
@@ -24,7 +25,8 @@ export async function updateDependenciesVersions(
|
|
24
25
|
const consumer: Consumer = workspace.consumer;
|
25
26
|
const autoDetectConfigMerge = workspace.getAutoDetectConfigMerge(component.id) || {};
|
26
27
|
const currentLane = await workspace.getCurrentLaneObject();
|
27
|
-
|
28
|
+
const componentRangePrefix = depsResolver.componentRangePrefix();
|
29
|
+
const supportComponentRange = depsResolver.supportComponentRange();
|
28
30
|
updateDependencies(component.dependencies, 'dependencies');
|
29
31
|
updateDependencies(component.devDependencies, 'devDependencies');
|
30
32
|
updateDependencies(component.peerDependencies, 'peerDependencies');
|
@@ -38,7 +40,7 @@ export async function updateDependenciesVersions(
|
|
38
40
|
* running bit link --rewire).
|
39
41
|
* 2: this gets called for extension-id.
|
40
42
|
*/
|
41
|
-
function resolveVersion(id: ComponentID, depType: DepType, pkg?: string): string
|
43
|
+
function resolveVersion(id: ComponentID, depType: DepType, pkg?: string): { version?: string, range?: string} {
|
42
44
|
const idFromBitMap = getIdFromBitMap(id);
|
43
45
|
const idFromComponentConfig = getIdFromComponentConfig(id);
|
44
46
|
const getFromComponentConfig = () => idFromComponentConfig;
|
@@ -51,8 +53,15 @@ export async function updateDependenciesVersions(
|
|
51
53
|
const getFromDepPackageJson = () => (id.hasVersion() ? id : null);
|
52
54
|
// In case it's resolved from the node_modules, and it's also in the ws policy or variants,
|
53
55
|
// use the resolved version from the node_modules / package folder
|
54
|
-
const getFromDepPackageJsonDueToWorkspacePolicy = () =>
|
55
|
-
pkg
|
56
|
+
const getFromDepPackageJsonDueToWorkspacePolicy = () => {
|
57
|
+
if (!pkg || !id.hasVersion()) return null;
|
58
|
+
const fromPolicy = pkgVersionFromWorkspacePolicies(pkg);
|
59
|
+
if (!fromPolicy) return null;
|
60
|
+
return {
|
61
|
+
compId: id,
|
62
|
+
range: supportComponentRange && semver.validRange(fromPolicy) ? fromPolicy : undefined,
|
63
|
+
}
|
64
|
+
}
|
56
65
|
// merge config here is only auto-detected ones. their priority is less then the ws policy
|
57
66
|
// otherwise, imagine you merge a lane, you don't like the dependency you got from the other lane, you run
|
58
67
|
// bit-install to change it, but it won't do anything.
|
@@ -77,26 +86,35 @@ export async function updateDependenciesVersions(
|
|
77
86
|
|
78
87
|
for (const strategy of strategies) {
|
79
88
|
const strategyId = strategy();
|
80
|
-
if (strategyId)
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
return strategyId.version;
|
89
|
+
if (!strategyId) continue;
|
90
|
+
const version = strategyId instanceof ComponentID ? strategyId.version : strategyId.compId?.version;
|
91
|
+
if (!version) continue;
|
92
|
+
logger.trace(
|
93
|
+
`found dependency version ${version} for ${id.toString()} in strategy ${strategy.name}`
|
94
|
+
);
|
95
|
+
if (debugDep) {
|
96
|
+
debugDep.versionResolvedFrom = strategy.name.replace('getFrom', '');
|
97
|
+
debugDep.version = version;
|
90
98
|
}
|
99
|
+
|
100
|
+
return { version, range: strategyId instanceof ComponentID ? undefined : strategyId.range };
|
91
101
|
}
|
92
|
-
return
|
102
|
+
return {};
|
93
103
|
}
|
94
104
|
|
95
105
|
function updateDependency(dependency: Dependency, depType: DepType) {
|
96
106
|
const { id, packageName } = dependency;
|
97
|
-
const resolvedVersion = resolveVersion(id, depType, packageName);
|
107
|
+
const { version: resolvedVersion, range } = resolveVersion(id, depType, packageName);
|
98
108
|
if (resolvedVersion) {
|
99
109
|
dependency.id = dependency.id.changeVersion(resolvedVersion);
|
110
|
+
if (supportComponentRange) {
|
111
|
+
if (range) dependency.versionRange = range;
|
112
|
+
else if (resolvedVersion !== 'latest' && (componentRangePrefix === '^' || componentRangePrefix === '~')) {
|
113
|
+
dependency.versionRange = `${componentRangePrefix}${resolvedVersion}`;
|
114
|
+
}
|
115
|
+
} else if (dependency.versionRange && depType !== 'peerDependencies' && dependency.versionRange !== '+') {
|
116
|
+
dependency.versionRange = undefined;
|
117
|
+
}
|
100
118
|
}
|
101
119
|
}
|
102
120
|
function updateDependencies(dependencies: Dependencies, depType: DepType) {
|
@@ -105,7 +123,7 @@ export async function updateDependenciesVersions(
|
|
105
123
|
|
106
124
|
function updateExtension(extension: ExtensionDataEntry) {
|
107
125
|
if (extension.extensionId) {
|
108
|
-
const resolvedVersion = resolveVersion(extension.extensionId, 'devDependencies');
|
126
|
+
const { version: resolvedVersion } = resolveVersion(extension.extensionId, 'devDependencies');
|
109
127
|
if (resolvedVersion) {
|
110
128
|
extension.extensionId = extension.extensionId.changeVersion(resolvedVersion);
|
111
129
|
}
|
@@ -141,13 +159,18 @@ export async function updateDependenciesVersions(
|
|
141
159
|
return componentId.changeVersion(dependencies[dependency]);
|
142
160
|
}
|
143
161
|
|
144
|
-
|
162
|
+
/**
|
163
|
+
* config in .bitmap or component.json are resolved here.
|
164
|
+
*/
|
165
|
+
function resolveFromOverrides(id: ComponentID, depType: DepType, pkgName?: string):
|
166
|
+
{ compId?: ComponentID; range?: string } | undefined {
|
145
167
|
if (!pkgName) return undefined;
|
146
168
|
const dependencies = overridesDependencies.getDependenciesToAddManually();
|
147
169
|
const found = dependencies?.[depType]?.[pkgName];
|
148
170
|
if (!found) return undefined;
|
149
|
-
const validVersion =
|
150
|
-
|
171
|
+
const { version: validVersion, range } = getValidComponentVersion(found);
|
172
|
+
const compId = validVersion ? id.changeVersion(validVersion) : undefined;
|
173
|
+
return { compId, range };
|
151
174
|
}
|
152
175
|
|
153
176
|
function isPkgInAutoDetectOverrides(pkgName: string): boolean {
|
@@ -156,7 +179,7 @@ export async function updateDependenciesVersions(
|
|
156
179
|
);
|
157
180
|
}
|
158
181
|
|
159
|
-
function
|
182
|
+
function pkgVersionFromWorkspacePolicies(pkgName: string): string | undefined {
|
160
183
|
return depsResolver.getWorkspacePolicyManifest().dependencies?.[pkgName];
|
161
184
|
}
|
162
185
|
|
@@ -165,9 +188,9 @@ export async function updateDependenciesVersions(
|
|
165
188
|
DEPENDENCIES_FIELDS.forEach((field) => {
|
166
189
|
if (autoDetectConfigMerge[field]?.[pkgName]) {
|
167
190
|
foundVersion = autoDetectConfigMerge[field]?.[pkgName];
|
168
|
-
foundVersion = foundVersion ? getValidVersion(foundVersion) : null;
|
169
191
|
}
|
170
192
|
});
|
171
|
-
|
193
|
+
const foundValidVersion = foundVersion ? getValidComponentVersion(foundVersion) : undefined;
|
194
|
+
return foundValidVersion?.version ? id.changeVersion(foundValidVersion.version) : undefined;
|
172
195
|
}
|
173
196
|
}
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { Command, CommandOptions } from '@teambit/cli';
|
2
2
|
import { DependenciesMain } from './dependencies.main.runtime';
|
3
|
+
import { Workspace } from '@teambit/workspace';
|
3
4
|
type GetDependenciesFlags = {
|
4
5
|
tree: boolean;
|
5
6
|
scope?: boolean;
|
@@ -182,4 +183,18 @@ export declare class UnsetPeerCmd implements Command {
|
|
182
183
|
constructor(deps: DependenciesMain);
|
183
184
|
report([componentId]: [string]): Promise<string>;
|
184
185
|
}
|
186
|
+
type DependenciesWriteCmdOptions = {
|
187
|
+
target?: 'workspace.jsonc' | 'package.json';
|
188
|
+
};
|
189
|
+
export declare class DependenciesWriteCmd implements Command {
|
190
|
+
private workspace;
|
191
|
+
name: string;
|
192
|
+
arguments: never[];
|
193
|
+
group: string;
|
194
|
+
description: string;
|
195
|
+
alias: string;
|
196
|
+
options: CommandOptions;
|
197
|
+
constructor(workspace: Workspace);
|
198
|
+
report(_: any, options: DependenciesWriteCmdOptions): Promise<string>;
|
199
|
+
}
|
185
200
|
export {};
|
package/dist/dependencies-cmd.js
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.WhyCmd = exports.UnsetPeerCmd = exports.SetPeerCmd = exports.DependenciesUsageCmd = exports.DependenciesUnsetCmd = exports.DependenciesSetCmd = exports.DependenciesResetCmd = exports.DependenciesRemoveCmd = exports.DependenciesGetCmd = exports.DependenciesEjectCmd = exports.DependenciesDebugCmd = exports.DependenciesCmd = exports.DependenciesBlameCmd = void 0;
|
6
|
+
exports.WhyCmd = exports.UnsetPeerCmd = exports.SetPeerCmd = exports.DependenciesWriteCmd = exports.DependenciesUsageCmd = exports.DependenciesUnsetCmd = exports.DependenciesSetCmd = exports.DependenciesResetCmd = exports.DependenciesRemoveCmd = exports.DependenciesGetCmd = exports.DependenciesEjectCmd = exports.DependenciesDebugCmd = exports.DependenciesCmd = exports.DependenciesBlameCmd = void 0;
|
7
7
|
function _cliTable() {
|
8
8
|
const data = _interopRequireDefault(require("cli-table"));
|
9
9
|
_cliTable = function () {
|
@@ -382,5 +382,21 @@ class UnsetPeerCmd {
|
|
382
382
|
}
|
383
383
|
}
|
384
384
|
exports.UnsetPeerCmd = UnsetPeerCmd;
|
385
|
+
class DependenciesWriteCmd {
|
386
|
+
constructor(workspace) {
|
387
|
+
this.workspace = workspace;
|
388
|
+
_defineProperty(this, "name", 'write');
|
389
|
+
_defineProperty(this, "arguments", []);
|
390
|
+
_defineProperty(this, "group", 'info');
|
391
|
+
_defineProperty(this, "description", 'write all workspace component dependencies to package.json or workspace.jsonc, resolving conflicts by picking the ranges that match the highest versions');
|
392
|
+
_defineProperty(this, "alias", '');
|
393
|
+
_defineProperty(this, "options", [['', 'target <workspace.jsonc|package.json>', 'specify where the dependencies should be written. By default they are saved to workspace.jsonc']]);
|
394
|
+
}
|
395
|
+
async report(_, options) {
|
396
|
+
await this.workspace.writeDependencies(options.target);
|
397
|
+
return '';
|
398
|
+
}
|
399
|
+
}
|
400
|
+
exports.DependenciesWriteCmd = DependenciesWriteCmd;
|
385
401
|
|
386
402
|
//# sourceMappingURL=dependencies-cmd.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_cliTable","data","_interopRequireDefault","require","_chalk","_archy","_legacy","_template","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DependenciesGetCmd","constructor","deps","name","description","report","id","tree","scope","results","getDependencies","idWithVersion","getGraphAsTree","graph","graphAsTree","getDependenciesAsObjectTree","toString","archy","err","chalk","red","graphTree","depsInfo","getDependenciesInfo","length","toStringWithoutVersion","depsTable","generateDependenciesInfoTable","exports","DependenciesDebugCmd","debugDependencies","JSON","stringify","undefined","DependenciesSetCmd","COMPONENT_PATTERN_HELP","pattern","packages","setDepsFlags","changedComps","addedPackages","setDependency","green","bold","join","DependenciesRemoveCmd","removeDepsFlags","removeDependency","yellow","output","map","removedPackages","underline","DependenciesUnsetCmd","DependenciesResetCmd","reset","comps","DependenciesEjectCmd","eject","DependenciesBlameCmd","compName","depName","blame","table","Table","chars","top","bottom","left","mid","right","middle","style","snap","tag","author","date","message","version","push","DependenciesUsageCmd","options","deepUsageResult","usageDeep","usage","keys","compIdStr","WhyCmd","args","DependenciesCmd","unrecognizedSubcommand","SetPeerCmd","componentId","range","setPeer","UnsetPeerCmd","unsetPeer"],"sources":["dependencies-cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport { Command, CommandOptions } from '@teambit/cli';\nimport Table from 'cli-table';\nimport chalk from 'chalk';\nimport archy from 'archy';\nimport { ComponentIdGraph } from '@teambit/graph';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy.constants';\nimport { generateDependenciesInfoTable } from './template';\nimport { DependenciesMain } from './dependencies.main.runtime';\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';\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';\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 = 'info';\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 = 'info';\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 = 'info';\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 = 'info';\n description = 'reset dependencies to the default values (revert any previously \"bit deps set\")';\n alias = '';\n options = [] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([pattern]: [string]) {\n const results = await this.deps.reset(pattern);\n const comps = results.map((id) => id.toString());\n\n return `${chalk.green('successfully reset dependencies for the following component(s)')}\\n${comps}`;\n }\n}\n\nexport class DependenciesEjectCmd implements Command {\n name = 'eject <component-pattern>';\n arguments = [{ name: 'component-pattern', description: COMPONENT_PATTERN_HELP }];\n group = 'info';\n description = 'write dependencies that were previously set via \"bit deps set\" into .bitmap';\n alias = '';\n options = [] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([pattern]: [string]) {\n const results = await this.deps.eject(pattern);\n const comps = results.map((id) => id.toString());\n\n return `${chalk.green('successfully ejected dependencies for the following component(s)')}\\n${comps}`;\n }\n}\n\nexport class DependenciesBlameCmd implements Command {\n name = 'blame <component-name> <dependency-name>';\n arguments = [\n {\n name: 'dependency-name',\n description: 'package-name. for components, you can use either component-id or package-name',\n },\n ];\n group = 'info';\n description = 'find out which snap/tag changed a dependency version';\n alias = '';\n options = [] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([compName, depName]: [string, string]) {\n const results = await this.deps.blame(compName, depName);\n if (!results.length) {\n return chalk.yellow(`the specified component ${compName} does not use the entered dependency ${depName}`);\n }\n // table with no style and no borders, just to align the columns.\n const table = new Table({\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n middle: ' ',\n },\n style: { 'padding-left': 0, 'padding-right': 0 },\n });\n\n results.map(({ snap, tag, author, date, message, version }) =>\n table.push([snap, tag || '', author, date, message, version])\n );\n\n return table.toString();\n }\n}\n\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 = 'info';\n description = 'find components that use the specified dependency';\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 DependenciesCmd implements Command {\n name = 'deps <sub-command>';\n alias = 'dependencies';\n description = 'manage dependencies';\n options = [];\n group = 'info';\n commands: Command[] = [];\n helpUrl = '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 componnent, when added to peerDependencies',\n },\n ];\n group = 'info';\n description = 'set a component as always peer';\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 = 'info';\n description = 'unset a component as always peer';\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"],"mappings":";;;;;;AAEA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,OAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,OAAA;EAAA,MAAAJ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAE,MAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAK,QAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,OAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,UAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,SAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2D,SAAAC,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA,KAP3D;AAuBO,MAAMgB,kBAAkB,CAAoB;EAWjDC,WAAWA,CAASC,IAAsB,EAAE;IAAA,KAAxBA,IAAsB,GAAtBA,IAAsB;IAAApB,eAAA,eAVnC,sBAAsB;IAAAA,eAAA,oBACjB,CAAC;MAAEqB,IAAI,EAAE,gBAAgB;MAAEC,WAAW,EAAE;IAAiC,CAAC,CAAC;IAAAtB,eAAA,gBAC/E,MAAM;IAAAA,eAAA,sBACA,8DAA8D;IAAAA,eAAA,gBACpE,EAAE;IAAAA,eAAA,kBACA,CACR,CAAC,EAAE,EAAE,OAAO,EAAE,sDAAsD,CAAC,EACrE,CAAC,GAAG,EAAE,MAAM,EAAE,oDAAoD,CAAC,CACpE;EAE4C;EAE7C,MAAMuB,MAAMA,CAAC,CAACC,EAAE,CAAW,EAAE;IAAEC,IAAI,GAAG,KAAK;IAAEC,KAAK,GAAG;EAA4B,CAAC,EAAE;IAClF,MAAMC,OAAO,GAAG,MAAM,IAAI,CAACP,IAAI,CAACQ,eAAe,CAACJ,EAAE,EAAEE,KAAK,CAAC;IAE1D,IAAID,IAAI,EAAE;MACR,MAAMI,aAAa,GAAGF,OAAO,CAACH,EAAE;MAChC,MAAMM,cAAc,GAAIC,KAAuB,IAAK;QAClD,IAAI;UACF,MAAMC,WAAW,GAAGD,KAAK,CAACE,2BAA2B,CAACJ,aAAa,CAACK,QAAQ,CAAC,CAAC,CAAC;UAC/E,OAAO,IAAAC,gBAAK,EAACH,WAAW,CAAC;QAC3B,CAAC,CAAC,OAAOI,GAAQ,EAAE;UACjB,IAAIA,GAAG,CAACjB,WAAW,CAACE,IAAI,KAAK,YAAY,EAAE;YACzC,OAAO,GAAGgB,gBAAK,CAACC,GAAG,CACjB,2FACF,CAAC,EAAE;UACL;UACA,MAAMF,GAAG;QACX;MACF,CAAC;MACD,MAAMG,SAAS,GAAGT,cAAc,CAACH,OAAO,CAACI,KAAK,CAAC;MAC/C,OAAOQ,SAAS;IAClB;IACA,MAAMC,QAAQ,GAAGb,OAAO,CAACI,KAAK,CAACU,mBAAmB,CAACd,OAAO,CAACH,EAAE,CAAC;IAC9D,IAAI,CAACgB,QAAQ,CAACE,MAAM,EAAE;MACpB,OAAO,6BAA6Bf,OAAO,CAACH,EAAE,CAACU,QAAQ,CAAC,CAAC;AAC/D,iCAAiCP,OAAO,CAACH,EAAE,CAACmB,sBAAsB,CAAC,CAAC,uDAAuD;IACvH;IAEA,MAAMC,SAAS,GAAG,IAAAC,yCAA6B,EAACL,QAAQ,EAAEb,OAAO,CAACH,EAAE,CAAC;IACrE,OAAO,GAAGoB,SAAS,IAAI,QAAQ,EAAE;EACnC;AACF;AAACE,OAAA,CAAA5B,kBAAA,GAAAA,kBAAA;AAEM,MAAM6B,oBAAoB,CAAoB;EAQnD5B,WAAWA,CAASC,IAAsB,EAAE;IAAA,KAAxBA,IAAsB,GAAtBA,IAAsB;IAAApB,eAAA,eAPnC,wBAAwB;IAAAA,eAAA,oBACnB,CAAC;MAAEqB,IAAI,EAAE,gBAAgB;MAAEC,WAAW,EAAE;IAAiC,CAAC,CAAC;IAAAtB,eAAA,gBAC/E,MAAM;IAAAA,eAAA,sBACA,wEAAwE;IAAAA,eAAA,gBAC9E,EAAE;IAAAA,eAAA,kBACA,EAAE;EAEiC;EAE7C,MAAMuB,MAAMA,CAAC,CAACC,EAAE,CAAW,EAAE;IAC3B,MAAMG,OAAO,GAAG,MAAM,IAAI,CAACP,IAAI,CAAC4B,iBAAiB,CAACxB,EAAE,CAAC;IACrD,OAAOyB,IAAI,CAACC,SAAS,CAACvB,OAAO,EAAEwB,SAAS,EAAE,CAAC,CAAC;EAC9C;AACF;AAACL,OAAA,CAAAC,oBAAA,GAAAA,oBAAA;AAEM,MAAMK,kBAAkB,CAAoB;EAmBjDjC,WAAWA,CAASC,IAAsB,EAAE;IAAA,KAAxBA,IAAsB,GAAtBA,IAAsB;IAAApB,eAAA,eAlBnC,sCAAsC;IAAAA,eAAA,oBACjC,CACV;MAAEqB,IAAI,EAAE,mBAAmB;MAAEC,WAAW,EAAE+B;IAAuB,CAAC,EAClE;MACEhC,IAAI,EAAE,YAAY;MAClBC,WAAW,EACT;IACJ,CAAC,CACF;IAAAtB,eAAA,gBACO,MAAM;IAAAA,eAAA,sBACA,kCAAkC;IAAAA,eAAA,gBACxC,EAAE;IAAAA,eAAA,kBACA,CACR,CAAC,GAAG,EAAE,KAAK,EAAE,4BAA4B,CAAC,EAC1C,CAAC,GAAG,EAAE,UAAU,EAAE,iCAAiC,CAAC,EACpD,CAAC,GAAG,EAAE,MAAM,EAAE,6BAA6B,CAAC,CAC7C;EAE4C;EAE7C,MAAMuB,MAAMA,CAAC,CAAC+B,OAAO,EAAEC,QAAQ,CAAqB,EAAEC,YAAkC,EAAE;IACxF,MAAM;MAAEC,YAAY;MAAEC;IAAc,CAAC,GAAG,MAAM,IAAI,CAACtC,IAAI,CAACuC,aAAa,CAACL,OAAO,EAAEC,QAAQ,EAAEC,YAAY,CAAC;IAEtG,OAAO,GAAGnB,gBAAK,CAACuB,KAAK,CAAC,mCAAmC,CAAC;AAC9D,EAAEvB,gBAAK,CAACwB,IAAI,CAAC,oBAAoB,CAAC;AAClC,EAAEJ,YAAY,CAACK,IAAI,CAAC,IAAI,CAAC;AACzB;AACA,EAAEzB,gBAAK,CAACwB,IAAI,CAAC,gBAAgB,CAAC;AAC9B,EAAEZ,IAAI,CAACC,SAAS,CAACQ,aAAa,EAAEP,SAAS,EAAE,CAAC,CAAC,EAAE;EAC7C;AACF;AAACL,OAAA,CAAAM,kBAAA,GAAAA,kBAAA;AAEM,MAAMW,qBAAqB,CAAoB;EAsBpD5C,WAAWA,CAASC,IAAsB,EAAE;IAAA,KAAxBA,IAAsB,GAAtBA,IAAsB;IAAApB,eAAA,eArBnC,yCAAyC;IAAAA,eAAA,oBACpC,CACV;MAAEqB,IAAI,EAAE,mBAAmB;MAAEC,WAAW,EAAE+B;IAAuB,CAAC,EAClE;MACEhC,IAAI,EAAE,YAAY;MAClBC,WAAW,EACT;IACJ,CAAC,CACF;IAAAtB,eAAA,gBACO,MAAM;IAAAA,eAAA,sBACA,iDAAiD;IAAAA,eAAA,8BACzC;AACxB;AACA;AACA,0BAA0B;IAAAA,eAAA,gBAChB,EAAE;IAAAA,eAAA,kBACA,CACR,CAAC,GAAG,EAAE,KAAK,EAAE,6BAA6B,CAAC,EAC3C,CAAC,GAAG,EAAE,MAAM,EAAE,8BAA8B,CAAC,CAC9C;EAE4C;EAE7C,MAAMuB,MAAMA,CAAC,CAAC+B,OAAO,EAAEC,QAAQ,CAAqB,EAAES,eAAwC,EAAE;IAC9F,MAAMrC,OAAO,GAAG,MAAM,IAAI,CAACP,IAAI,CAAC6C,gBAAgB,CAACX,OAAO,EAAEC,QAAQ,EAAES,eAAe,CAAC;IACpF,IAAI,CAACrC,OAAO,CAACe,MAAM,EAAE;MACnB,OAAOL,gBAAK,CAAC6B,MAAM,CAAC,oFAAoF,CAAC;IAC3G;IAEA,MAAMC,MAAM,GAAGxC,OAAO,CACnByC,GAAG,CAAC,CAAC;MAAE5C,EAAE;MAAE6C;IAAgB,CAAC,KAAK,GAAGhC,gBAAK,CAACiC,SAAS,CAAC9C,EAAE,CAACU,QAAQ,CAAC,CAAC,CAAC,KAAKmC,eAAe,CAACP,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CACpGA,IAAI,CAAC,MAAM,CAAC;IAEf,OAAO,GAAGzB,gBAAK,CAACuB,KAAK,CAAC,mCAAmC,CAAC,KAAKO,MAAM,EAAE;EACzE;AACF;AAACrB,OAAA,CAAAiB,qBAAA,GAAAA,qBAAA;AAEM,MAAMQ,oBAAoB,CAAoB;EAqBnDpD,WAAWA,CAASC,IAAsB,EAAE;IAAA,KAAxBA,IAAsB,GAAtBA,IAAsB;IAAApB,eAAA,eApBnC,wCAAwC;IAAAA,eAAA,oBACnC,CACV;MAAEqB,IAAI,EAAE,mBAAmB;MAAEC,WAAW,EAAE+B;IAAuB,CAAC,EAClE;MACEhC,IAAI,EAAE,YAAY;MAClBC,WAAW,EACT;IACJ,CAAC,CACF;IAAAtB,eAAA,gBACO,MAAM;IAAAA,eAAA,sBACA,8FAA8F;IAAAA,eAAA,8BACtF;AACxB;AACA,2BAA2B;IAAAA,eAAA,gBACjB,EAAE;IAAAA,eAAA,kBACA,CACR,CAAC,GAAG,EAAE,KAAK,EAAE,4BAA4B,CAAC,EAC1C,CAAC,GAAG,EAAE,MAAM,EAAE,6BAA6B,CAAC,CAC7C;EAE4C;EAE7C,MAAMuB,MAAMA,CAAC,CAAC+B,OAAO,EAAEC,QAAQ,CAAqB,EAAES,eAAwC,EAAE;IAC9F,MAAMrC,OAAO,GAAG,MAAM,IAAI,CAACP,IAAI,CAAC6C,gBAAgB,CAACX,OAAO,EAAEC,QAAQ,EAAES,eAAe,EAAE,IAAI,CAAC;IAC1F,IAAI,CAACrC,OAAO,CAACe,MAAM,EAAE;MACnB,OAAOL,gBAAK,CAAC6B,MAAM,CAAC,mFAAmF,CAAC;IAC1G;IAEA,MAAMC,MAAM,GAAGxC,OAAO,CACnByC,GAAG,CAAC,CAAC;MAAE5C,EAAE;MAAE6C;IAAgB,CAAC,KAAK,GAAGhC,gBAAK,CAACiC,SAAS,CAAC9C,EAAE,CAACU,QAAQ,CAAC,CAAC,CAAC,KAAKmC,eAAe,CAACP,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CACpGA,IAAI,CAAC,MAAM,CAAC;IAEf,OAAO,GAAGzB,gBAAK,CAACuB,KAAK,CAAC,iCAAiC,CAAC,KAAKO,MAAM,EAAE;EACvE;AACF;AAACrB,OAAA,CAAAyB,oBAAA,GAAAA,oBAAA;AAEM,MAAMC,oBAAoB,CAAoB;EAQnDrD,WAAWA,CAASC,IAAsB,EAAE;IAAA,KAAxBA,IAAsB,GAAtBA,IAAsB;IAAApB,eAAA,eAPnC,2BAA2B;IAAAA,eAAA,oBACtB,CAAC;MAAEqB,IAAI,EAAE,mBAAmB;MAAEC,WAAW,EAAE+B;IAAuB,CAAC,CAAC;IAAArD,eAAA,gBACxE,MAAM;IAAAA,eAAA,sBACA,iFAAiF;IAAAA,eAAA,gBACvF,EAAE;IAAAA,eAAA,kBACA,EAAE;EAEiC;EAE7C,MAAMuB,MAAMA,CAAC,CAAC+B,OAAO,CAAW,EAAE;IAChC,MAAM3B,OAAO,GAAG,MAAM,IAAI,CAACP,IAAI,CAACqD,KAAK,CAACnB,OAAO,CAAC;IAC9C,MAAMoB,KAAK,GAAG/C,OAAO,CAACyC,GAAG,CAAE5C,EAAE,IAAKA,EAAE,CAACU,QAAQ,CAAC,CAAC,CAAC;IAEhD,OAAO,GAAGG,gBAAK,CAACuB,KAAK,CAAC,gEAAgE,CAAC,KAAKc,KAAK,EAAE;EACrG;AACF;AAAC5B,OAAA,CAAA0B,oBAAA,GAAAA,oBAAA;AAEM,MAAMG,oBAAoB,CAAoB;EAQnDxD,WAAWA,CAASC,IAAsB,EAAE;IAAA,KAAxBA,IAAsB,GAAtBA,IAAsB;IAAApB,eAAA,eAPnC,2BAA2B;IAAAA,eAAA,oBACtB,CAAC;MAAEqB,IAAI,EAAE,mBAAmB;MAAEC,WAAW,EAAE+B;IAAuB,CAAC,CAAC;IAAArD,eAAA,gBACxE,MAAM;IAAAA,eAAA,sBACA,6EAA6E;IAAAA,eAAA,gBACnF,EAAE;IAAAA,eAAA,kBACA,EAAE;EAEiC;EAE7C,MAAMuB,MAAMA,CAAC,CAAC+B,OAAO,CAAW,EAAE;IAChC,MAAM3B,OAAO,GAAG,MAAM,IAAI,CAACP,IAAI,CAACwD,KAAK,CAACtB,OAAO,CAAC;IAC9C,MAAMoB,KAAK,GAAG/C,OAAO,CAACyC,GAAG,CAAE5C,EAAE,IAAKA,EAAE,CAACU,QAAQ,CAAC,CAAC,CAAC;IAEhD,OAAO,GAAGG,gBAAK,CAACuB,KAAK,CAAC,kEAAkE,CAAC,KAAKc,KAAK,EAAE;EACvG;AACF;AAAC5B,OAAA,CAAA6B,oBAAA,GAAAA,oBAAA;AAEM,MAAME,oBAAoB,CAAoB;EAanD1D,WAAWA,CAASC,IAAsB,EAAE;IAAA,KAAxBA,IAAsB,GAAtBA,IAAsB;IAAApB,eAAA,eAZnC,0CAA0C;IAAAA,eAAA,oBACrC,CACV;MACEqB,IAAI,EAAE,iBAAiB;MACvBC,WAAW,EAAE;IACf,CAAC,CACF;IAAAtB,eAAA,gBACO,MAAM;IAAAA,eAAA,sBACA,sDAAsD;IAAAA,eAAA,gBAC5D,EAAE;IAAAA,eAAA,kBACA,EAAE;EAEiC;EAE7C,MAAMuB,MAAMA,CAAC,CAACuD,QAAQ,EAAEC,OAAO,CAAmB,EAAE;IAClD,MAAMpD,OAAO,GAAG,MAAM,IAAI,CAACP,IAAI,CAAC4D,KAAK,CAACF,QAAQ,EAAEC,OAAO,CAAC;IACxD,IAAI,CAACpD,OAAO,CAACe,MAAM,EAAE;MACnB,OAAOL,gBAAK,CAAC6B,MAAM,CAAC,2BAA2BY,QAAQ,wCAAwCC,OAAO,EAAE,CAAC;IAC3G;IACA;IACA,MAAME,KAAK,GAAG,KAAIC,mBAAK,EAAC;MACtBC,KAAK,EAAE;QACLC,GAAG,EAAE,EAAE;QACP,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACfC,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,cAAc,EAAE,EAAE;QAClBC,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,EAAE;QACdC,GAAG,EAAE,EAAE;QACP,SAAS,EAAE,EAAE;QACbC,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,EAAE;QACfC,MAAM,EAAE;MACV,CAAC;MACDC,KAAK,EAAE;QAAE,cAAc,EAAE,CAAC;QAAE,eAAe,EAAE;MAAE;IACjD,CAAC,CAAC;IAEF/D,OAAO,CAACyC,GAAG,CAAC,CAAC;MAAEuB,IAAI;MAAEC,GAAG;MAAEC,MAAM;MAAEC,IAAI;MAAEC,OAAO;MAAEC;IAAQ,CAAC,KACxDf,KAAK,CAACgB,IAAI,CAAC,CAACN,IAAI,EAAEC,GAAG,IAAI,EAAE,EAAEC,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAEC,OAAO,CAAC,CAC9D,CAAC;IAED,OAAOf,KAAK,CAAC/C,QAAQ,CAAC,CAAC;EACzB;AACF;AAACY,OAAA,CAAA+B,oBAAA,GAAAA,oBAAA;AAMM,MAAMqB,oBAAoB,CAAoB;EAcnD/E,WAAWA,CAASC,IAAsB,EAAE;IAAA,KAAxBA,IAAsB,GAAtBA,IAAsB;IAAApB,eAAA,eAbnC,yBAAyB;IAAAA,eAAA,oBACpB,CACV;MACEqB,IAAI,EAAE,iBAAiB;MACvBC,WAAW,EACT;IACJ,CAAC,CACF;IAAAtB,eAAA,gBACO,MAAM;IAAAA,eAAA,sBACA,mDAAmD;IAAAA,eAAA,gBACzD,EAAE;IAAAA,eAAA,kBACA,CAAC,CAAC,EAAE,EAAE,gBAAgB,EAAE,2CAA2C,CAAC,CAAC;EAElC;EAE7C,MAAMuB,MAAMA,CAAC,CAACwD,OAAO,CAAW,EAAEoB,OAAoC,EAAE;IACtE,MAAMC,eAAe,GAAG,MAAM,IAAI,CAAChF,IAAI,CAACiF,SAAS,CAACtB,OAAO,EAAEoB,OAAO,CAAC;IACnE,IAAIC,eAAe,IAAI,IAAI,EAAE,OAAOA,eAAe;IACnD,MAAMzE,OAAO,GAAG,MAAM,IAAI,CAACP,IAAI,CAACkF,KAAK,CAACvB,OAAO,CAAC;IAC9C,IAAI,CAAC3E,MAAM,CAACmG,IAAI,CAAC5E,OAAO,CAAC,CAACe,MAAM,EAAE;MAChC,OAAOL,gBAAK,CAAC6B,MAAM,CAAC,4BAA4Ba,OAAO,+BAA+B,CAAC;IACzF;IACA,OAAO3E,MAAM,CAACmG,IAAI,CAAC5E,OAAO,CAAC,CACxByC,GAAG,CAAEoC,SAAS,IAAK,GAAGnE,gBAAK,CAACwB,IAAI,CAAC2C,SAAS,CAAC,0BAA0B7E,OAAO,CAAC6E,SAAS,CAAC,GAAG,CAAC,CAC3F1C,IAAI,CAAC,IAAI,CAAC;EACf;AACF;AAAChB,OAAA,CAAAoD,oBAAA,GAAAA,oBAAA;AAEM,MAAMO,MAAM,SAASP,oBAAoB,CAAC;EAAA/E,YAAA,GAAAuF,IAAA;IAAA,SAAAA,IAAA;IAAA1G,eAAA,eACxC,uBAAuB;EAAA;AAChC;AAAC8C,OAAA,CAAA2D,MAAA,GAAAA,MAAA;AAEM,MAAME,eAAe,CAAoB;EAAAxF,YAAA;IAAAnB,eAAA,eACvC,oBAAoB;IAAAA,eAAA,gBACnB,cAAc;IAAAA,eAAA,sBACR,qBAAqB;IAAAA,eAAA,kBACzB,EAAE;IAAAA,eAAA,gBACJ,MAAM;IAAAA,eAAA,mBACQ,EAAE;IAAAA,eAAA,kBACd,iDAAiD;EAAA;EAE3D,MAAMuB,MAAMA,CAAC,CAACqF,sBAAsB,CAAW,EAAE;IAC/C,OAAOvE,gBAAK,CAACC,GAAG,CACd,IAAIsE,sBAAsB,uGAC5B,CAAC;EACH;AACF;AAAC9D,OAAA,CAAA6D,eAAA,GAAAA,eAAA;AAEM,MAAME,UAAU,CAAoB;EAczC1F,WAAWA,CAASC,IAAsB,EAAE;IAAA,KAAxBA,IAAsB,GAAtBA,IAAsB;IAAApB,eAAA,eAbnC,iCAAiC;IAAAA,eAAA,oBAC5B,CACV;MAAEqB,IAAI,EAAE,cAAc;MAAEC,WAAW,EAAE;IAAsC,CAAC,EAC5E;MACED,IAAI,EAAE,OAAO;MACbC,WAAW,EAAE;IACf,CAAC,CACF;IAAAtB,eAAA,gBACO,MAAM;IAAAA,eAAA,sBACA,gCAAgC;IAAAA,eAAA,gBACtC,EAAE;IAAAA,eAAA,kBACA,EAAE;EAEiC;EAE7C,MAAMuB,MAAMA,CAAC,CAACuF,WAAW,EAAEC,KAAK,CAAmB,EAAE;IACnD,MAAM,IAAI,CAAC3F,IAAI,CAAC4F,OAAO,CAACF,WAAW,EAAEC,KAAK,IAAI,IAAI,GAAGA,KAAK,CAAC7E,QAAQ,CAAC,CAAC,GAAG6E,KAAK,CAAC;IAC9E,OAAO,GAAG1E,gBAAK,CAACuB,KAAK,CAAC,uDAAuD,CAAC,EAAE;EAClF;AACF;AAACd,OAAA,CAAA+D,UAAA,GAAAA,UAAA;AAEM,MAAMI,YAAY,CAAoB;EAQ3C9F,WAAWA,CAASC,IAAsB,EAAE;IAAA,KAAxBA,IAAsB,GAAtBA,IAAsB;IAAApB,eAAA,eAPnC,2BAA2B;IAAAA,eAAA,oBACtB,CAAC;MAAEqB,IAAI,EAAE,cAAc;MAAEC,WAAW,EAAE;IAAwC,CAAC,CAAC;IAAAtB,eAAA,gBACpF,MAAM;IAAAA,eAAA,sBACA,kCAAkC;IAAAA,eAAA,gBACxC,EAAE;IAAAA,eAAA,kBACA,EAAE;EAEiC;EAE7C,MAAMuB,MAAMA,CAAC,CAACuF,WAAW,CAAW,EAAE;IACpC,MAAM,IAAI,CAAC1F,IAAI,CAAC8F,SAAS,CAACJ,WAAW,CAAC;IACtC,OAAO,GAAGzE,gBAAK,CAACuB,KAAK,CAAC,2DAA2D,CAAC,EAAE;EACtF;AACF;AAACd,OAAA,CAAAmE,YAAA,GAAAA,YAAA","ignoreList":[]}
|
1
|
+
{"version":3,"names":["_cliTable","data","_interopRequireDefault","require","_chalk","_archy","_legacy","_template","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DependenciesGetCmd","constructor","deps","name","description","report","id","tree","scope","results","getDependencies","idWithVersion","getGraphAsTree","graph","graphAsTree","getDependenciesAsObjectTree","toString","archy","err","chalk","red","graphTree","depsInfo","getDependenciesInfo","length","toStringWithoutVersion","depsTable","generateDependenciesInfoTable","exports","DependenciesDebugCmd","debugDependencies","JSON","stringify","undefined","DependenciesSetCmd","COMPONENT_PATTERN_HELP","pattern","packages","setDepsFlags","changedComps","addedPackages","setDependency","green","bold","join","DependenciesRemoveCmd","removeDepsFlags","removeDependency","yellow","output","map","removedPackages","underline","DependenciesUnsetCmd","DependenciesResetCmd","reset","comps","DependenciesEjectCmd","eject","DependenciesBlameCmd","compName","depName","blame","table","Table","chars","top","bottom","left","mid","right","middle","style","snap","tag","author","date","message","version","push","DependenciesUsageCmd","options","deepUsageResult","usageDeep","usage","keys","compIdStr","WhyCmd","args","DependenciesCmd","unrecognizedSubcommand","SetPeerCmd","componentId","range","setPeer","UnsetPeerCmd","unsetPeer","DependenciesWriteCmd","workspace","_","writeDependencies","target"],"sources":["dependencies-cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport { Command, CommandOptions } from '@teambit/cli';\nimport Table from 'cli-table';\nimport chalk from 'chalk';\nimport archy from 'archy';\nimport { ComponentIdGraph } from '@teambit/graph';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy.constants';\nimport { generateDependenciesInfoTable } from './template';\nimport { DependenciesMain } from './dependencies.main.runtime';\nimport { Workspace } from '@teambit/workspace';\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';\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';\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 = 'info';\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 = 'info';\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 = 'info';\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 = 'info';\n description = 'reset dependencies to the default values (revert any previously \"bit deps set\")';\n alias = '';\n options = [] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([pattern]: [string]) {\n const results = await this.deps.reset(pattern);\n const comps = results.map((id) => id.toString());\n\n return `${chalk.green('successfully reset dependencies for the following component(s)')}\\n${comps}`;\n }\n}\n\nexport class DependenciesEjectCmd implements Command {\n name = 'eject <component-pattern>';\n arguments = [{ name: 'component-pattern', description: COMPONENT_PATTERN_HELP }];\n group = 'info';\n description = 'write dependencies that were previously set via \"bit deps set\" into .bitmap';\n alias = '';\n options = [] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([pattern]: [string]) {\n const results = await this.deps.eject(pattern);\n const comps = results.map((id) => id.toString());\n\n return `${chalk.green('successfully ejected dependencies for the following component(s)')}\\n${comps}`;\n }\n}\n\nexport class DependenciesBlameCmd implements Command {\n name = 'blame <component-name> <dependency-name>';\n arguments = [\n {\n name: 'dependency-name',\n description: 'package-name. for components, you can use either component-id or package-name',\n },\n ];\n group = 'info';\n description = 'find out which snap/tag changed a dependency version';\n alias = '';\n options = [] as CommandOptions;\n\n constructor(private deps: DependenciesMain) {}\n\n async report([compName, depName]: [string, string]) {\n const results = await this.deps.blame(compName, depName);\n if (!results.length) {\n return chalk.yellow(`the specified component ${compName} does not use the entered dependency ${depName}`);\n }\n // table with no style and no borders, just to align the columns.\n const table = new Table({\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n middle: ' ',\n },\n style: { 'padding-left': 0, 'padding-right': 0 },\n });\n\n results.map(({ snap, tag, author, date, message, version }) =>\n table.push([snap, tag || '', author, date, message, version])\n );\n\n return table.toString();\n }\n}\n\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 = 'info';\n description = 'find components that use the specified dependency';\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 DependenciesCmd implements Command {\n name = 'deps <sub-command>';\n alias = 'dependencies';\n description = 'manage dependencies';\n options = [];\n group = 'info';\n commands: Command[] = [];\n helpUrl = '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 componnent, when added to peerDependencies',\n },\n ];\n group = 'info';\n description = 'set a component as always peer';\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 = 'info';\n description = 'unset a component as always peer';\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 = 'info';\n description = '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 = [['', 'target <workspace.jsonc|package.json>', 'specify where the dependencies should be written. By default they are saved to workspace.jsonc']] 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":[]}
|
@@ -37,6 +37,10 @@ export declare class ApplyOverrides {
|
|
37
37
|
processedFiles: string[];
|
38
38
|
overridesDependencies: OverridesDependencies;
|
39
39
|
debugDependenciesData: DebugDependencies;
|
40
|
+
/**
|
41
|
+
* see workspace.getAutoDetectOverrides docs.
|
42
|
+
* these overrides are from env/variants/merge-config. not ones with "force: true".
|
43
|
+
*/
|
40
44
|
autoDetectOverrides: Record<string, any> | undefined;
|
41
45
|
constructor(component: Component, depsResolver: DependencyResolverMain, logger: Logger, workspace?: Workspace | undefined);
|
42
46
|
private setOverridesDependencies;
|
@@ -119,6 +119,10 @@ class ApplyOverrides {
|
|
119
119
|
_defineProperty(this, "processedFiles", void 0);
|
120
120
|
_defineProperty(this, "overridesDependencies", void 0);
|
121
121
|
_defineProperty(this, "debugDependenciesData", void 0);
|
122
|
+
/**
|
123
|
+
* see workspace.getAutoDetectOverrides docs.
|
124
|
+
* these overrides are from env/variants/merge-config. not ones with "force: true".
|
125
|
+
*/
|
122
126
|
_defineProperty(this, "autoDetectOverrides", void 0);
|
123
127
|
this.componentId = component.componentId;
|
124
128
|
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
|
@@ -515,24 +519,21 @@ class ApplyOverrides {
|
|
515
519
|
}
|
516
520
|
['dependencies', 'devDependencies', 'peerDependencies'].forEach(field => {
|
517
521
|
(0, _lodash().forEach)(autoDetectOverrides[field], (pkgVal, pkgName) => {
|
518
|
-
if (this.overridesDependencies.shouldIgnorePeerPackage(pkgName))
|
522
|
+
if (this.overridesDependencies.shouldIgnorePeerPackage(pkgName)) {
|
523
|
+
return;
|
524
|
+
}
|
525
|
+
const existsInCompsDeps = this.allDependencies.dependencies.find(dep => dep.packageName === pkgName);
|
526
|
+
const existsInCompsDevDeps = this.allDependencies.devDependencies.find(dep => dep.packageName === pkgName);
|
527
|
+
const existsInCompsPeerDeps = this.allDependencies.peerDependencies.find(dep => dep.packageName === pkgName);
|
528
|
+
|
519
529
|
// Validate it was auto detected, we only affect stuff that were detected
|
520
|
-
const
|
521
|
-
return dep.packageName === pkgName;
|
522
|
-
});
|
523
|
-
const existsInCompsDevDeps = this.allDependencies.devDependencies.find(dep => {
|
524
|
-
return dep.packageName === pkgName;
|
525
|
-
});
|
526
|
-
const existsInCompsPeerDeps = this.allDependencies.peerDependencies.find(dep => {
|
527
|
-
return dep.packageName === pkgName;
|
528
|
-
});
|
529
|
-
if (
|
530
|
+
const isAutoDetected = existsInCompsDeps || existsInCompsDevDeps || existsInCompsPeerDeps ||
|
530
531
|
// We are checking originAllPackagesDependencies instead of allPackagesDependencies
|
531
532
|
// as it might be already removed from allPackagesDependencies at this point if it was set with
|
532
533
|
// "-" in runtime/dev
|
533
534
|
// in such case we still want to apply it here
|
534
|
-
|
535
|
-
// Check if it was
|
535
|
+
this.originAllPackagesDependencies.packageDependencies[pkgName] || this.originAllPackagesDependencies.devPackageDependencies[pkgName] || this.originAllPackagesDependencies.peerPackageDependencies[pkgName] ||
|
536
|
+
// Check if it was originally exists in the component
|
536
537
|
// as we might have a policy which looks like this:
|
537
538
|
// "components": {
|
538
539
|
// "dependencies": {
|
@@ -544,7 +545,8 @@ class ApplyOverrides {
|
|
544
545
|
// }
|
545
546
|
// in that case we might remove it before getting to the devDeps then we will think that it wasn't required in the component
|
546
547
|
// which is incorrect
|
547
|
-
|
548
|
+
originallyExists.includes(pkgName) || missingPackages.includes(pkgName);
|
549
|
+
if (!isAutoDetected) {
|
548
550
|
return;
|
549
551
|
}
|
550
552
|
originallyExists.push(pkgName);
|