Commit 7ce4b6e0 authored by Alice Rose's avatar Alice Rose Committed by Dan Abramov
Browse files

Check for presence of folders before continuing eject. Closes #939. (#951)

parent 8a5c50d9
No related merge requests found
Showing with 24 additions and 14 deletions
+24 -14
......@@ -30,6 +30,25 @@ prompt(
var ownPath = path.join(__dirname, '..');
var appPath = path.join(ownPath, '..', '..');
function verifyAbsent(file) {
if (fs.existsSync(path.join(appPath, file))) {
console.error(
'`' + file + '` already exists in your app folder. We cannot ' +
'continue as you would lose all the changes in that file or directory. ' +
'Please move or delete it (maybe make a copy for backup) and run this ' +
'command again.'
);
process.exit(1);
}
}
var folders = [
'config',
path.join('config', 'jest'),
'scripts'
];
var files = [
path.join('config', 'env.js'),
path.join('config', 'paths.js'),
......@@ -44,22 +63,13 @@ prompt(
];
// Ensure that the app folder is clean and we won't override any files
files.forEach(function(file) {
if (fs.existsSync(path.join(appPath, file))) {
console.error(
'`' + file + '` already exists in your app folder. We cannot ' +
'continue as you would lose all the changes in that file or directory. ' +
'Please delete it (maybe make a copy for backup) and run this ' +
'command again.'
);
process.exit(1);
}
});
folders.forEach(verifyAbsent);
files.forEach(verifyAbsent);
// Copy the files over
fs.mkdirSync(path.join(appPath, 'config'));
fs.mkdirSync(path.join(appPath, 'config', 'jest'));
fs.mkdirSync(path.join(appPath, 'scripts'));
folders.forEach(function(folder) {
fs.mkdirSync(path.join(appPath, folder))
});
console.log();
console.log(cyan('Copying files into ' + appPath));
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment