1+ import { BitId } from '@teambit/legacy-bit-id' ;
12import { loadConsumerIfExist } from '../../../consumer' ;
23import {
34 DependencyResolver ,
@@ -6,17 +7,36 @@ import {
67import type { DebugDependencies } from '../../../consumer/component/dependencies/dependency-resolver/dependencies-resolver' ;
78import type { OverridesDependenciesData } from '../../../consumer/component/dependencies/dependency-resolver/dependencies-data' ;
89import ConsumerNotFound from '../../../consumer/exceptions/consumer-not-found' ;
10+ import DependencyGraph , { DependenciesInfo } from '../../../scope/graph/scope-graph' ;
911
10- export type DependenciesResults = DebugDependencies & OverridesDependenciesData & { coreAspects : string [ ] } ;
12+ export type DependenciesResultsDebug = DebugDependencies & OverridesDependenciesData & { coreAspects : string [ ] } ;
1113
12- export async function dependencies ( id : string ) : Promise < DependenciesResults > {
14+ export type DependenciesResults = {
15+ scopeDependencies : DependenciesInfo [ ] ;
16+ workspaceDependencies : DependenciesInfo [ ] ;
17+ id : BitId ;
18+ } ;
19+
20+ export async function dependencies (
21+ id : string ,
22+ debug : boolean
23+ ) : Promise < DependenciesResultsDebug | DependenciesResults > {
1324 const consumer = await loadConsumerIfExist ( ) ;
1425 if ( ! consumer ) throw new ConsumerNotFound ( ) ; // @todo : supports this on bare-scope.
1526 const bitId = consumer . getParsedId ( id ) ;
16- const component = await consumer . loadComponent ( bitId ) ;
17- const dependencyResolver = new DependencyResolver ( component , consumer ) ;
18- const dependenciesData = await dependencyResolver . getDependenciesData ( { } , undefined ) ;
19- const debugData : DebugDependencies = dependencyResolver . debugDependenciesData ;
20- updateDependenciesVersions ( consumer , component , debugData . components ) ;
21- return { ...debugData , ...dependenciesData . overridesDependencies , coreAspects : dependenciesData . coreAspects } ;
27+ if ( debug ) {
28+ const component = await consumer . loadComponent ( bitId ) ;
29+ const dependencyResolver = new DependencyResolver ( component , consumer ) ;
30+ const dependenciesData = await dependencyResolver . getDependenciesData ( { } , undefined ) ;
31+ const debugData : DebugDependencies = dependencyResolver . debugDependenciesData ;
32+ updateDependenciesVersions ( consumer , component , debugData . components ) ;
33+ return { ...debugData , ...dependenciesData . overridesDependencies , coreAspects : dependenciesData . coreAspects } ;
34+ }
35+ const scopeGraph = await DependencyGraph . buildGraphFromScope ( consumer . scope ) ;
36+ const scopeDependencyGraph = new DependencyGraph ( scopeGraph ) ;
37+ const scopeDependencies = scopeDependencyGraph . getDependenciesInfo ( bitId ) ;
38+ const workspaceGraph = await DependencyGraph . buildGraphFromWorkspace ( consumer , true ) ;
39+ const workspaceDependencyGraph = new DependencyGraph ( workspaceGraph ) ;
40+ const workspaceDependencies = workspaceDependencyGraph . getDependenciesInfo ( bitId ) ;
41+ return { scopeDependencies, workspaceDependencies, id : bitId } ;
2242}
0 commit comments