@ng-zen/cli
Version:
Angular UI components generator – Zen UI Kit CLI for schematics-based creation of customizable components like avatar, button, checkbox, divider, form-control, icon, input, skeleton, switch, textarea with Storybook demos.
32 lines (25 loc) • 857 B
text/typescript
import { NodeDependency, NodeDependencyType } from '@schematics/angular/utility/dependencies';
import { FilesConfig } from '../../../types';
import { ComponentType } from '../../components/schema';
export function getDependencies(
selectedElements: ComponentType[],
dependenciesConfig: Partial<FilesConfig>
): NodeDependency[] {
const dependencies: NodeDependency[] = [];
for (const component of selectedElements) {
if (!dependenciesConfig[component]) continue;
for (const type of Object.values(NodeDependencyType)) {
const typeDeps = dependenciesConfig[component][type];
if (!typeDeps) continue;
for (const [name, version] of Object.entries(typeDeps)) {
dependencies.push({
type,
name,
version,
overwrite: false,
});
}
}
}
return dependencies;
}