ensurePackages static method

Future<void> ensurePackages(
  1. FeatureOptions options
)

Implementation

static Future<void> ensurePackages(FeatureOptions options) async {
  print('🔍 Checking required packages...');

  final pubspecFile = File('pubspec.yaml');
  if (!pubspecFile.existsSync()) {
    _exitWithError('pubspec.yaml not found. Are you in a Flutter project?');
  }

  final requiredPackages = _getRequiredPackages(options);
  final pubspecContent = await pubspecFile.readAsString();

  if (_arePackagesPresent(pubspecContent, requiredPackages)) {
    print('✅ All required packages are already present');
    return;
  }

  print('📦 Adding missing packages...');
  await _addPackages(requiredPackages);

  print('🔄 Running flutter pub get...');
  await _runPubGet();

  print('✅ Packages installed successfully');
}