@ng-zen/cli
Version:
A CLI tool for generating customizable, modern Angular UI components using schematics.
32 lines (25 loc) • 871 B
text/typescript
import { NodeDependency, NodeDependencyType } from '@schematics/angular/utility/dependencies';
import { FilesConfig } from '../../../types';
import { ComponentType } from '../../components/components-generator';
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;
}