copyDirectory method

bool copyDirectory(
  1. Directory source,
  2. Directory destination
)

Implementation

bool copyDirectory(Directory source, Directory destination) {
  if (!source.existsSync()) {
    print('❌ Template lib folder not found: ${source.path}');
    return false;
  }

  for (var entity in source.listSync(recursive: true)) {
    if (entity is File) {
      final relativePath = path.relative(entity.path, from: source.path);
      final newPath = path.join(destination.path, relativePath);
      final newFile = File(newPath);
      if (relativePath.startsWith("src\\feature")) continue;
      newFile.createSync(recursive: true);
      newFile.writeAsBytesSync(entity.readAsBytesSync());
      print('✅  Generated: $relativePath');
    }
  }
  return true;
}