Permalink
Browse files

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
1 parent 7408e36 commit 5fa34ddba17d89deccb616eb03503e10b9468b75 @dinukadesilva dinukadesilva committed with fson Dec 18, 2016
Showing with 30 additions and 7 deletions.
  1. +3 −6 packages/create-react-app/index.js
  2. +1 −1 packages/create-react-app/package.json
  3. +26 −0 tasks/e2e.sh
@@ -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"
}
}
View
@@ -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

0 comments on commit 5fa34dd

Please sign in to comment.