From f31d44e4eb96b5b1b9561b539af5cfb69f1f3506 Mon Sep 17 00:00:00 2001 From: Nattaphoom Ch Date: Wed, 5 Mar 2014 02:06:03 +0700 Subject: [PATCH] Added GeneratorUtilities.prototype.isBaseDirExists function. Prevent compound to not create base directory when it already exists. --- lib/server/generators/app_generator.js | 4 +++- lib/server/generators/generator_utils.js | 10 +++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/server/generators/app_generator.js b/lib/server/generators/app_generator.js index c720059..e74c96a 100644 --- a/lib/server/generators/app_generator.js +++ b/lib/server/generators/app_generator.js @@ -47,7 +47,9 @@ AppGenerator.prototype.perform = function (args) { if (this.options.appName) { this.baseDir = path.join(this.baseDir, this.options.appName); } - + if (this.isBaseDirExists()) { + return; + } this.createDirectoryStructure(); this.copyFiles(); }; diff --git a/lib/server/generators/generator_utils.js b/lib/server/generators/generator_utils.js index 8fc472b..3ca0f8a 100644 --- a/lib/server/generators/generator_utils.js +++ b/lib/server/generators/generator_utils.js @@ -425,7 +425,7 @@ GeneratorUtilities.prototype.getDatabaseDependency = function() { } }; -GeneratorUtilities.prototype.isEvalAllowed = function () { +GeneratorUtilities.prototype.isEvalAllowed = function() { return !('noeval' in this.options); }; @@ -436,4 +436,12 @@ GeneratorUtilities.prototype.generateSecret = function() { .digest('hex'); }; +GeneratorUtilities.prototype.isBaseDirExists = function() { + var exists = fs.existsSync(this.baseDir); + if (exists) { + this.log($('"' + this.baseDir + '" exists', this.baseDir).bold.red); + } + return exists; +}; + module.exports = GeneratorUtilities;