mirror of
https://github.com/zhigang1992/create-react-app.git
synced 2026-03-29 08:58:15 +08:00
gh-1269: Enabling nested folder paths for project name (#1270)
* gh-1269: Enabling nested folder paths for project name * gh-1269: Added "fs-extra" and removed "path-exists" * gh-1269: Added e2e test cases to verify nested folder names
This commit is contained in:
committed by
Ville Immonen
parent
7408e36478
commit
5fa34ddba1
@@ -52,12 +52,11 @@ if (currentNodeVersion.split('.')[0] < 4) {
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
var fs = require('fs');
|
||||
var fs = require('fs-extra');
|
||||
var path = require('path');
|
||||
var execSync = require('child_process').execSync;
|
||||
var spawn = require('cross-spawn');
|
||||
var semver = require('semver');
|
||||
var pathExists = require('path-exists');
|
||||
|
||||
var projectName;
|
||||
|
||||
@@ -103,10 +102,8 @@ function createApp(name, verbose, version) {
|
||||
var appName = path.basename(root);
|
||||
|
||||
checkAppName(appName);
|
||||
|
||||
if (!pathExists.sync(name)) {
|
||||
fs.mkdirSync(root);
|
||||
} else if (!isSafeToCreateProjectIn(root)) {
|
||||
fs.ensureDirSync(name);
|
||||
if (!isSafeToCreateProjectIn(root)) {
|
||||
console.log('The directory ' + chalk.green(name) + ' contains files that could conflict.');
|
||||
console.log('Try using a new directory name.');
|
||||
process.exit(1);
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
"chalk": "^1.1.1",
|
||||
"commander": "^2.9.0",
|
||||
"cross-spawn": "^4.0.0",
|
||||
"path-exists": "^2.1.0",
|
||||
"fs-extra": "^1.0.0",
|
||||
"semver": "^5.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
26
tasks/e2e.sh
26
tasks/e2e.sh
@@ -230,5 +230,31 @@ cd test-app-fork
|
||||
# Check corresponding scripts version is installed.
|
||||
test -e node_modules/react-scripts-fork
|
||||
|
||||
# ******************************************************************************
|
||||
# Test nested folder path as the project name
|
||||
# ******************************************************************************
|
||||
|
||||
#Testing a path that exists
|
||||
cd $temp_app_path
|
||||
mkdir test-app-nested-paths-t1
|
||||
cd test-app-nested-paths-t1
|
||||
mkdir -p test-app-nested-paths-t1/aa/bb/cc/dd
|
||||
create_react_app test-app-nested-paths-t1/aa/bb/cc/dd
|
||||
cd test-app-nested-paths-t1/aa/bb/cc/dd
|
||||
npm start -- --smoke-test
|
||||
|
||||
#Testing a path that does not exist
|
||||
cd $temp_app_path
|
||||
create_react_app test-app-nested-paths-t2/aa/bb/cc/dd
|
||||
cd test-app-nested-paths-t2/aa/bb/cc/dd
|
||||
npm start -- --smoke-test
|
||||
|
||||
#Testing a path that is half exists
|
||||
cd $temp_app_path
|
||||
mkdir -p test-app-nested-paths-t3/aa
|
||||
create_react_app test-app-nested-paths-t3/aa/bb/cc/dd
|
||||
cd test-app-nested-paths-t3/aa/bb/cc/dd
|
||||
npm start -- --smoke-test
|
||||
|
||||
# Cleanup
|
||||
cleanup
|
||||
|
||||
Reference in New Issue
Block a user