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);