generateFeatureFromConfig function
Main function to generate complete feature from enhanced config
Implementation
Future<void> generateFeatureFromConfig(String configFilePath, {bool useFreezed = false}) async {
try {
final config = await _readFeatureConfig(configFilePath);
print('Generating feature: ${config.featureName}');
print('Description: ${config.description}');
// Create feature directory structure
await _createFeatureStructure(config, useFreezed);
// Generate models from JSON files
await _generateModels(config, useFreezed);
// Generate repository and service files
await _generateRepositoryAndService(config, useFreezed);
// Generate cubit/state management
await _generateStateManagement(config, useFreezed);
// Generate UI components
await _generateUIComponents(config, useFreezed);
print('✅ Feature "${config.featureName}" generated successfully!');
print('📁 Location: lib/features/${config.featureName.toLowerCase()}');
print('🔧 Run "sf_cli runner" to generate freezed files');
} catch (e) {
print('❌ Error generating feature: $e');
exit(1);
}
}