addDependenciesEfficiently function

Future<void> addDependenciesEfficiently(
  1. List<String> packages, {
  2. required bool isDev,
})

Implementation

Future<void> addDependenciesEfficiently(
  List<String> packages, {
  required bool isDev,
}) async {
  if (packages.isEmpty) return;

  final sectionName = isDev ? 'dev_dependencies' : 'dependencies';

  final args = ['pub', 'add'];
  if (isDev) {
    args.add('--dev');
  }
  args.addAll(packages);

  print(
    "⚙️  Resolving and adding ${packages.length} packages to $sectionName...",
  );

  // إضافة runInShell: true هي السر لدعم الويندوز بشكل مثالي
  final result = await Process.run(
    'dart',
    args,
    runInShell: true, // 👈 التعديل هنا
  );

  if (result.exitCode == 0) {
    print("✅ Successfully added packages to $sectionName");
  } else {
    throw Exception(
      "❌ Failed to add packages to $sectionName:\n${result.stderr}",
    );
  }
}