getAllDependencies method

Future<bool> getAllDependencies()

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;
}