budibase/packages/builder/src/userInterface/pagesParsing/findDependencies.js

24 lines
665 B
JavaScript

import { splitName } from "./splitRootComponentName";
import {
find,
filter
} from "lodash/fp";
import { isRootComponent } from "./searchComponents";
export const libraryDependencies = (allComponents, lib) => {
const componentDependsOnLibrary = comp => {
if(isRootComponent(comp)) {
const {libName} = splitName(component.name);
return (libName === lib);
}
return componentDependsOnLibrary(
find(c => c.name === comp.inherits)(allComponents)
);
}
return filter(c => !isRootComponent(c)
&& componentDependsOnLibrary(c))(
allComponents
);
}