availableTemplates static method
Returns template directories that contain a non-empty manifest.
Implementation
static Future<List<String>> availableTemplates() async {
final root = const PackageLocator().packageRoot();
final directory = Directory('${root.path}/templates');
if (!directory.existsSync()) return const [];
final names = <String>[];
await for (final entity in directory.list()) {
if (entity is! Directory) continue;
final manifest = File('${entity.path}/template.yaml');
if (!manifest.existsSync()) continue;
final content = await manifest.readAsString();
if (content.trim().isNotEmpty) {
names.add(entity.path.split('/').last);
}
}
names.sort();
return names;
}