selectShouldOverwrite method
Prompt user if they want to overwrite existing files
Implementation
bool selectShouldOverwrite(String projectDir, String projectName) {
final yes = 'Yes';
final no = 'No *';
final fullPath = p.join(projectDir, projectName);
final directoryExists = Directory(fullPath).existsSync();
final text =
'Directory `$projectName` already exists. Overwrite?'.cDarkOrange;
final formattedPrompt = '\r${text.prefix('⚠️ ')}'.replaceAll('\n', '');
if (directoryExists) {
final result = selectOne(
formattedPrompt,
choices: [yes, no],
display: (p0) => p0,
defaultValue: no,
);
if (result == yes) {
final String confirmation = confirmOverwrite(projectName);
final isValid = confirmation == projectName;
if (!isValid) {
throw OverwriteConfirmationFailedException();
}
return isValid;
}
}
return false;
}