execute method
execute command
Implementation
@override
Future<void> execute() async {
final composablesDir =
flags.contains('composables-dir')
? _getArgValue('composables-dir')
: 'lib/composables';
final verbose =
flags.contains('verbose') || flags.contains('-v') ? true : false;
LogService.info("Running Vortex composable scanner...");
final projectDir = Directory.current.path;
LogService.info("Project directory: $projectDir");
final fullComposablesDir = path.join(projectDir, composablesDir);
LogService.info("Composables directory: $fullComposablesDir");
// Check if the composables directory exists
if (!Directory(fullComposablesDir).existsSync()) {
LogService.error("Composables directory not found: $fullComposablesDir");
return;
}
try {
// Scan for composable files
final composableFiles = _findComposableFiles(fullComposablesDir);
LogService.info("Found ${composableFiles.length} composable files");
if (verbose) {
for (final file in composableFiles) {
LogService.info(
"Composable file: ${path.relative(file.path, from: projectDir)}",
);
}
}
// Generate the composable registration code
_generateComposableRegistration(projectDir, composableFiles);
LogService.info("Vortex composable scanner completed successfully");
} catch (e, stackTrace) {
LogService.error(
"Error running composable scanner, error: $e, stackTrace: $stackTrace",
);
}
}