execute method
execute command
Implementation
@override
Future<void> execute() async {
final pagesDir =
flags.contains('pages-dir') ? _getArgValue('pages-dir') : 'lib/pages';
final verbose =
flags.contains('verbose') || flags.contains('-v') ? true : false;
LogService.info("Running Vortex router scanner...");
final projectDir = Directory.current.path;
LogService.info("Project directory: $projectDir");
final fullPagesDir = path.join(projectDir, pagesDir);
LogService.info("Pages directory: $fullPagesDir");
// Check if the pages directory exists
if (!Directory(fullPagesDir).existsSync()) {
LogService.error("Pages directory not found: $fullPagesDir");
return;
}
try {
// Scan for page files
final pageFiles = _findPageFiles(fullPagesDir);
LogService.info("Found ${pageFiles.length} page files");
if (verbose) {
for (final file in pageFiles) {
LogService.info(
"Page file: ${path.relative(file.path, from: projectDir)}",
);
}
}
// Generate the route registration code
_generateRouteRegistration(projectDir, pageFiles);
LogService.info("Vortex router scanner completed successfully");
} catch (e, stackTrace) {
LogService.error(
"Error running router scanner, error: $e, stackTrace: $stackTrace",
);
}
}