addDependenciesEfficiently function
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}",
);
}
}