scanEnvFiles function
Scan for environment files in the specified directory (recursive)
Implementation
Future<List<String>> scanEnvFiles(Directory directory) async {
final envFiles = <String>[];
// First scan root directory
await for (final entity in directory.list()) {
if (entity is File) {
final name = entity.path.split('/').last;
// Look for .env, .env.*, but skip .env.example files
if (name == '.env' ||
(name.startsWith('.env.') && !name.endsWith('.example'))) {
envFiles.add(entity.path);
}
}
}
// Also scan subdirectories regardless of root files
await for (final entity in directory.list()) {
if (entity is Directory) {
final dirName = entity.path.split('/').last;
// Skip common directories that shouldn't contain env files
if (!_shouldSkipDirectory(dirName)) {
final subDirFiles = await _scanDirectoryForEnvFiles(entity);
envFiles.addAll(subDirFiles);
}
}
}
envFiles.sort(); // Ensure consistent ordering
return envFiles;
}