mirror of
https://github.com/zhigang1992/create-react-app.git
synced 2026-04-23 20:51:12 +08:00
This commit is contained in:
38
packages/react-scripts/scripts/eject.js
vendored
38
packages/react-scripts/scripts/eject.js
vendored
@@ -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));
|
||||
|
||||
Reference in New Issue
Block a user