findMainApplicationFile method

Future<String?> findMainApplicationFile()

Find main application file

Implementation

Future<String?> findMainApplicationFile() async {
  final candidates = [
    p.join(projectRoot, 'lib', 'vaden_application.dart'),
    p.join(projectRoot, 'lib', 'main.dart'),
  ];

  for (final candidate in candidates) {
    if (await FileUtils.fileExists(candidate)) {
      return candidate;
    }
  }

  // Search for files implementing DartVadenApplication
  final libPath = p.join(projectRoot, 'lib');
  final dartFiles = await FileUtils.findFiles(libPath, '.dart');

  for (final file in dartFiles) {
    final content = await FileUtils.readFile(file);
    if (content.contains('DartVadenApplication') ||
        content.contains('VadenApplication')) {
      return file;
    }
  }

  return null;
}