From 69a867c74b7fb382af3a89affb9b94b8edd1fd0c Mon Sep 17 00:00:00 2001 From: sthzg Date: Sat, 6 Aug 2016 21:29:53 +0200 Subject: [PATCH] [wip] Added confirmatino prompt to deactivate #7 --- utils/tasks.js | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/utils/tasks.js b/utils/tasks.js index 5c8df27..4efa56d 100644 --- a/utils/tasks.js +++ b/utils/tasks.js @@ -162,8 +162,33 @@ function activateSubgen(generator) { */ function deactivateSubgen(generator) { if (fs.existsSync(generator.subgenDest)) { - fs.unlinkSync(generator.subgenDest); - generator.genData.deactivation = utils.buildSuccess({}); + var done = generator.async(); + + const run = (shouldProceed) => { + + if (!shouldProceed) { + generator.env.error('Operation cancelled by user.'); + done(); + } + + fs.unlinkSync(generator.subgenDest); + generator.genData.deactivation = utils.buildSuccess({}); + + done(); + }; + + if (utils.shouldAutoConfirmYesnos(generator.options.yes)) { + run(true); + } else { + generator.prompt({ + type: 'confirm', + name: 'proceed', + message: `I will remove this symlink\n=> ${generator.subgenDest}\nConfirm to proceed:` + }) + .then( + answers => run(answers.proceed) + ); + } } else { const err = `Subgen with name "${generator.subgenName}" doesn't seem to be activated. This is a NOOP.`; generator.genData.deactivation = utils.buildError(err);