analyzeProject function

Future<void> analyzeProject()

Implementation

Future<void> analyzeProject() async {
  final currentDirectory = Directory.current;

  final libDir = Directory(
    '${currentDirectory.path}/lib',
  );

  if (!libDir.existsSync()) {
    print('āŒ No Flutter lib folder found.');
    return;
  }

  final analyzer = FlutterQualityAnalyzer();

  final files = libDir
      .listSync(recursive: true)
      .whereType<File>()
      .where((file) => file.path.endsWith('.dart'))
      .where(
        (file) =>
            !file.path.contains('.g.dart') &&
            !file.path.contains('.freezed.dart'),
      );

  print('šŸš€ Analyzing Flutter project...\n');

  for (final file in files) {
    final content = file.readAsStringSync();

    analyzer.analyze(
      file.path,
      content,
    );
  }

  print('\nāœ… Analysis completed.');
}