From 6f84c9b4419ddd33c774e1765460b5aa59ade7c0 Mon Sep 17 00:00:00 2001 From: Dunqing Date: Wed, 20 Sep 2023 15:35:08 +0800 Subject: [PATCH] feat(cli): add overwrite confirmation for existing components --- packages/cli/src/commands/add.ts | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/packages/cli/src/commands/add.ts b/packages/cli/src/commands/add.ts index dcbb39fc..a9096d1d 100644 --- a/packages/cli/src/commands/add.ts +++ b/packages/cli/src/commands/add.ts @@ -128,19 +128,28 @@ export const add = new Command() if (existingComponent.length && !options.overwrite) { if (selectedComponents.includes(item.name)) { - logger.warn( - `\nComponent ${ - item.name - } already exists. Use ${chalk.green( - '--overwrite', - )} to overwrite.`, - ) spinner.stop() - process.exitCode = 1 - return - } + const { overwrite } = await prompts({ + type: 'confirm', + name: 'overwrite', + message: `Component ${item.name} already exists. Would you like to overwrite?`, + initial: false, + }) - continue + if (!overwrite) { + logger.info( + `Skipped ${item.name}. To overwrite, run with the ${chalk.green( + '--overwrite', + )} flag.`, + ) + continue + } + + spinner.start(`Installing ${item.name}...`) + } + else { + continue + } } for (const file of item.files) {