operation method
Implementation
Future operation() async {
try {
final templateRootPath = await Commands.getTemplateDirectoryPath();
_templateRootDirectory = Directory(templateRootPath!);
await getModuleName();
await getDestinationDirectory();
await getTemplateDirectory();
await getDefaultModuleName();
ColoredLog.magenta(templateDirectory, name: 'Source Directory');
ColoredLog.magenta(
_destinationDirectoryPath,
name: 'Destination Directory',
);
ColoredLog.magenta(defaultName, name: 'Default Module Name');
final destinationDirectory = Directory(
'$_destinationDirectoryPath$platformPathSaperator${moduleName.toCamelCase}');
if (!await destinationDirectory.exists()) {
await destinationDirectory.create(recursive: true);
ColoredLog.green('Directory created: ${destinationDirectory.path}');
} else {
ColoredLog.cyan('Directory already exists.');
}
ColoredLog.magenta(destinationDirectory, name: 'Destination Directory');
await copyDirectory(
source: templateDirectory,
destination: destinationDirectory,
isMainDest: true,
);
printDirectoryTree(destinationDirectory, '', true);
print('\n\n');
ColoredLog.green('Successfully Created', name: '✅');
await printInstructions(
templateDirectory: templateDirectory,
defaultName: defaultName,
moduleName: moduleName,
);
} catch (e) {
ColoredLog.red(e, name: 'Error creating template');
}
}