MCPcopy Index your code
hub / github.com/craftreactnative/ui / resolveDependencies

Function resolveDependencies

cli/src/utils/component-manager.ts:86–112  ·  view source on GitHub ↗
(
  componentName: string,
  visited = new Set<string>()
)

Source from the content-addressed store, hash-verified

84 * Resolves all dependencies for a component including nested dependencies
85 */
86export async function resolveDependencies(
87 componentName: string,
88 visited = new Set<string>()
89): Promise<string[]> {
90 if (visited.has(componentName)) {
91 return [];
92 }
93
94 visited.add(componentName);
95 const info = await getComponentInfo(componentName);
96
97 if (!info) {
98 throw new Error(`Component ${componentName} not found`);
99 }
100
101 const dependencies = [componentName];
102
103 // Resolve craftrn-ui component dependencies
104 for (const dep of info.craftrnUiComponents) {
105 const depDependencies = await resolveDependencies(dep, visited);
106 dependencies.unshift(
107 ...depDependencies.filter((d) => !dependencies.includes(d))
108 );
109 }
110
111 return dependencies;
112}
113
114/**
115 * Copies a component from source to target location

Callers 1

addCommandFunction · 0.90

Calls 1

getComponentInfoFunction · 0.85

Tested by

no test coverage detected