Merge pull request #1293 from skv-headless/confirm-init-overwrite

Ask confirmation on init command
This commit is contained in:
Alexander Kotliarskyi 2015-05-18 10:24:19 -07:00
commit f2b76566f3
2 changed files with 33 additions and 0 deletions

View File

@ -7,6 +7,7 @@
var fs = require('fs');
var path = require('path');
var spawn = require('child_process').spawn;
var prompt = require("prompt");
var CLI_MODULE_PATH = function() {
return path.resolve(
@ -69,6 +70,35 @@ function validatePackageName(name) {
function init(name) {
validatePackageName(name);
if (fs.existsSync(name)) {
createAfterConfirmation(name)
} else {
createProject(name);
}
}
function createAfterConfirmation(name) {
prompt.start();
var property = {
name: 'yesno',
message: 'Directory ' + name + ' already exist. Continue?',
validator: /y[es]*|n[o]?/,
warning: 'Must respond yes or no',
default: 'no'
};
prompt.get(property, function (err, result) {
if (result.yesno[0] === 'y') {
createProject(name);
} else {
console.log('Project initialization canceled');
process.exit();
}
});
}
function createProject(name) {
var root = path.resolve(name);
var projectName = path.basename(root);

View File

@ -5,5 +5,8 @@
"main": "index.js",
"bin": {
"react-native": "index.js"
},
"dependencies": {
"prompt": "^0.2.14"
}
}