discoverDartFiles method
Returns all Dart files in the project.
If projectPath is a single file, returns a list containing just that file. If projectPath is a directory, returns all Dart files in the directory (excluding generated files like .g.dart and .freezed.dart).
Implementation
List<String> discoverDartFiles() {
// Handle single file path
if (FileSystemEntity.isFileSync(projectPath)) {
if (projectPath.endsWith('.dart')) {
return [path.absolute(projectPath)];
}
return [];
}
// Handle directory path
final files = <String>[];
final dir = Directory(projectPath);
for (final entity in dir.listSync(recursive: true)) {
if (entity is File && entity.path.endsWith('.dart')) {
// Exclude generated files
if (!entity.path.contains('.g.dart') &&
!entity.path.contains('.freezed.dart')) {
files.add(entity.path);
}
}
}
return files;
}