cleanCode function

void cleanCode(
  1. List<String> ignoreList
)

Implementation

void cleanCode(List<String> ignoreList) {
  final currentDirectory = Directory.current;
  final files = listFiles(currentDirectory);
  final printStatementsRegex = RegExp(r'print\s*\(.+\);');

  for (final file in files) {
    if (ignoreList.contains(path.basename(file.path))) {
      print("Ignoring ${path.basename(file.path)}");
      continue;
    }

    final content = file.readAsStringSync();
    final modifiedContent = content.replaceAll(printStatementsRegex, '');

    if (content != modifiedContent) {
      file.writeAsStringSync(modifiedContent);
      print('Print Statements Removed in ${path.relative(file.path)}');
    }
  }

  print('Code Cleanup Completed!');

  // format the code after cleanup to make it look good
  Process.runSync('flutter', ['format', '.'], runInShell: true);
}