UNPKG

@ng-zen/cli

Version:

A CLI tool for generating customizable, modern Angular UI components using schematics.

28 lines (21 loc) 1.05 kB
import { Rule, Tree } from '@angular-devkit/schematics'; import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks'; import { addPackageJsonDependency, NodeDependency } from '@schematics/angular/utility/dependencies'; import { selectedElements } from '../../services/selected-elements'; import { DEPENDENCIES_CONFIG } from './dependencies.constant'; import { getDependencies } from './utils/get-dependencies'; export function dependencyManager(): Rule { return (tree: Tree, context) => { const dependenciesToInstall: NodeDependency[] = getDependencies(selectedElements, DEPENDENCIES_CONFIG); if (!dependenciesToInstall.length) { context.logger.info('✅ No dependencies to install for the selected components.'); return tree; } context.logger.info(`📦 Installing ${dependenciesToInstall.length} dependencies...`); for (const dependency of dependenciesToInstall) { addPackageJsonDependency(tree, dependency); } context.addTask(new NodePackageInstallTask()); return tree; }; }