directories static method
Returns the directory tree for a project named name.
Pass features to include feature-specific subdirectories.
Pass full: true for the full kitchen-sink scaffold (implies all
directories from all features).
Implementation
static List<String> directories(
String name, {
Set<Feature> features = const {},
bool full = false,
}) {
final effective = full ? kAllFeatures : features;
final dirs = <String>[
'$name/lib/src/controllers',
'$name/lib/src/config',
'$name/lib/src/core',
'$name/bin',
'$name/env',
'$name/test',
];
if (effective.contains(Feature.auth) || effective.contains(Feature.db)) {
dirs.addAll([
'$name/lib/src/services',
'$name/lib/src/models',
'$name/lib/src/dto',
'$name/test/services',
]);
}
if (effective.contains(Feature.db)) {
dirs.addAll([
'$name/lib/src/repositories',
'$name/migrations',
]);
}
return dirs;
}