diff --git a/bin/vue-init b/bin/vue-init index d9b85c17cc..296e2ffd97 100755 --- a/bin/vue-init +++ b/bin/vue-init @@ -140,14 +140,21 @@ function run () { function downloadAndGenerate (template) { var spinner = ora('downloading template') + + function logError (err) { + if (err) logger.fatal(err) + console.log() + logger.success('Generated "%s".', name) + } + + if (exists(tmp)) { + return generate(name, tmp, to, logError) + } + spinner.start() download(template, tmp, { clone: clone }, function (err) { spinner.stop() if (err) logger.fatal('Failed to download repo ' + template + ': ' + err.message.trim()) - generate(name, tmp, to, function (err) { - if (err) logger.fatal(err) - console.log() - logger.success('Generated "%s".', name) - }) + generate(name, tmp, to, logError) }) }