getAllDependencies method
Get dependencies for all projects with progress tracking
Implementation
Future<bool> getAllDependencies() async {
// Build list of packages to process
final List<(String, Future<bool> Function())> packages = <(String, Future<bool> Function())>[];
if (config.createModels) {
packages.add(('Models', getModelsDependencies));
}
// Use appropriate label for main app
final String appLabel = config.template.isJasprApp ? 'Web app' : 'Main app';
packages.add((appLabel, getAppDependencies));
if (config.createServer) {
packages.add(('Server', getServerDependencies));
}
// Process each package with progress
for (int i = 0; i < packages.length; i++) {
final (name, getter) = packages[i];
UserPrompt.showProgress(i, packages.length, 'Getting $name dependencies...');
if (!await getter()) {
warn('Failed to get $name dependencies');
}
}
UserPrompt.showProgress(packages.length, packages.length, 'All dependencies retrieved');
return true;
}