execute method
execute command
Implementation
@override
Future<void> execute() async {
var componentName = this.name;
final componentsDir =
flags.contains('dir')
? _getArgValue('dir')
: 'lib/components';
final verbose = flags.contains('verbose') ? true : false;
if (verbose) {
LogService.info("Running Vortex component scanner...");
LogService.info('Creating component $componentName in $componentsDir');
}
final projectDir = Directory.current.path;
final fullComponentsDir = path.join(projectDir, componentsDir);
try {
final componentFiles = _findComponentFiles(fullComponentsDir);
LogService.info("Found ${componentFiles.length} component files");
if (verbose) {
for (final file in componentFiles) {
LogService.info(
"Component file: ${path.relative(file.path, from: projectDir)}",
);
}
}
// Generate the component registration code
_generateComponentRegistration(projectDir, componentFiles);
} catch (e, stackTrace) {
LogService.error(
"Error running component scanner",
error: e,
stackTrace: stackTrace,
);
}
}