discoverFiles static method
Discover files based on a configuration entry
Implementation
static Future<List<FileConfig>> discoverFiles(
ConfigEntry entry,
String workingDirectory,
) async {
final discoveredFiles = <FileConfig>[];
final basePath = path.isAbsolute(entry.path)
? entry.path
: path.join(workingDirectory, entry.path);
final baseDir = Directory(basePath);
if (!await baseDir.exists()) {
// If path doesn't exist, skip silently or you could throw an error
return discoveredFiles;
}
await for (final entity in baseDir.list(recursive: entry.recursive)) {
if (entity is File) {
final filePath = entity.path;
final fileName = path.basename(filePath);
// Check if file should be excluded
if (shouldExcludeFile(fileName, filePath, entry.exclusions)) {
continue;
}
// Check if the generator can handle this file type
if (GeneratorRegistry.canHandleFile(entry.type, filePath)) {
discoveredFiles.add(FileConfig.generate(filePath, entry.type));
}
}
}
return discoveredFiles;
}