From f36d25fa1116b71d1c587ddafc0da70350b142a2 Mon Sep 17 00:00:00 2001 From: Ian Schmitz Date: Sun, 26 Mar 2017 21:32:16 -0700 Subject: [PATCH 1/6] Bump minimal Node version to 4.7.0 --- README.md | 2 +- packages/create-react-app/package.json | 2 +- packages/react-dev-utils/package.json | 2 +- packages/react-scripts/package.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ec24d939774..b885ea24e7e 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ Install it once globally: npm install -g create-react-app ``` -**You’ll need to have Node >= 4 on your machine**. +**You’ll need to have Node >= 4.7 on your machine**. **We strongly recommend to use Node >= 6 and npm >= 3 for faster installation speed and better disk usage.** You can use [nvm](https://github.com/creationix/nvm#usage) to easily switch Node versions between different projects. diff --git a/packages/create-react-app/package.json b/packages/create-react-app/package.json index 918fcbefa56..d00bff3eb57 100644 --- a/packages/create-react-app/package.json +++ b/packages/create-react-app/package.json @@ -8,7 +8,7 @@ "repository": "facebookincubator/create-react-app", "license": "BSD-3-Clause", "engines": { - "node": ">=4" + "node": ">=4.7.0" }, "bugs": { "url": "https://github.com/facebookincubator/create-react-app/issues" diff --git a/packages/react-dev-utils/package.json b/packages/react-dev-utils/package.json index 64037886a0e..a6f6167809d 100644 --- a/packages/react-dev-utils/package.json +++ b/packages/react-dev-utils/package.json @@ -8,7 +8,7 @@ "url": "https://github.com/facebookincubator/create-react-app/issues" }, "engines": { - "node": ">=4" + "node": ">=4.7.0" }, "files": [ "ansiHTML.js", diff --git a/packages/react-scripts/package.json b/packages/react-scripts/package.json index 3e951ab9ad3..df20e4c689e 100644 --- a/packages/react-scripts/package.json +++ b/packages/react-scripts/package.json @@ -5,7 +5,7 @@ "repository": "facebookincubator/create-react-app", "license": "BSD-3-Clause", "engines": { - "node": ">=4" + "node": ">=4.7.0" }, "bugs": { "url": "https://github.com/facebookincubator/create-react-app/issues" From 15db7b26c73627f7d673a36171a8001bd15d5d8a Mon Sep 17 00:00:00 2001 From: Ian Schmitz Date: Wed, 29 Mar 2017 20:38:48 -0700 Subject: [PATCH 2/6] Bump minimal Node version to 4.7.0 Modified additional files that needed a bump to 4.7.0 minimum node version --- packages/create-react-app/createReactApp.js | 2 +- packages/create-react-app/index.js | 10 +++++++--- tasks/e2e-simple.sh | 7 +++++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/packages/create-react-app/createReactApp.js b/packages/create-react-app/createReactApp.js index 72a82317245..e93563f780e 100755 --- a/packages/create-react-app/createReactApp.js +++ b/packages/create-react-app/createReactApp.js @@ -28,7 +28,7 @@ // tell people to update their global version of create-react-app. // // Also be careful with new language features. -// This file must work on Node 4+. +// This file must work on Node 4.7+. // // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // /!\ DO NOT MODIFY THIS FILE /!\ diff --git a/packages/create-react-app/index.js b/packages/create-react-app/index.js index 19a3ff09fd4..0efc5a121ee 100755 --- a/packages/create-react-app/index.js +++ b/packages/create-react-app/index.js @@ -30,7 +30,7 @@ // tell people to update their global version of create-react-app. // // Also be careful with new language features. -// This file must work on Node 0.10+. +// This file must work on Node 4.7+. // // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // /!\ DO NOT MODIFY THIS FILE /!\ @@ -41,13 +41,17 @@ var chalk = require('chalk'); var currentNodeVersion = process.versions.node; -if (currentNodeVersion.split('.')[0] < 4) { +var semver = currentNodeVersion.split('.'); +var major = semver[0]; +var minor = semver[1]; + +if (major < 4 || (major === 4 && minor < 7)) { console.error( chalk.red( 'You are running Node ' + currentNodeVersion + '.\n' + - 'Create React App requires Node 4 or higher. \n' + + 'Create React App requires Node 4.7 or higher. \n' + 'Please update your version of Node.' ) ); diff --git a/tasks/e2e-simple.sh b/tasks/e2e-simple.sh index d733656d866..a77f40a719f 100755 --- a/tasks/e2e-simple.sh +++ b/tasks/e2e-simple.sh @@ -76,8 +76,11 @@ cd "$root_path"/packages/create-react-app npm install cd "$root_path" -# If the node version is < 4, the script should just give an error. -if [[ `node --version | sed -e 's/^v//' -e 's/\..*//g'` -lt 4 ]] +# If the node version is < 4.7, the script should just give an error. +nodeVersion=`node --version | cut -d v -f2` +nodeMajor=`echo $nodeVersion | cut -d. -f1` +nodeMinor=`echo $nodeVersion | cut -d. -f2` +if [[ nodeMajor -lt 4 ]] || [[ nodeMajor -eq 4 && nodeMinor -lt 7 ]] then cd $temp_app_path err_output=`node "$root_path"/packages/create-react-app/index.js test-node-version 2>&1 > /dev/null || echo ''` From 709d3c2e98ec42161d2c0004b246bb064cbed5fd Mon Sep 17 00:00:00 2001 From: Ian Schmitz Date: Wed, 29 Mar 2017 20:51:40 -0700 Subject: [PATCH 3/6] Bump minimal Node version to 4.7.0 Reverse changes to packages/create-react-app/index.js as this file needs to continue to work on Node 0.10+ --- packages/create-react-app/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create-react-app/index.js b/packages/create-react-app/index.js index 0efc5a121ee..c6a6880f7a6 100755 --- a/packages/create-react-app/index.js +++ b/packages/create-react-app/index.js @@ -30,7 +30,7 @@ // tell people to update their global version of create-react-app. // // Also be careful with new language features. -// This file must work on Node 4.7+. +// This file must work on Node 0.10+. // // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // /!\ DO NOT MODIFY THIS FILE /!\ From b1d894133c7aca1f8a8b682a3601262255c823dc Mon Sep 17 00:00:00 2001 From: Ian Schmitz Date: Mon, 8 May 2017 11:16:42 -0700 Subject: [PATCH 4/6] Bump minimal node version to 6 --- README.md | 4 +--- packages/create-react-app/createReactApp.js | 2 +- packages/create-react-app/index.js | 6 +++--- packages/create-react-app/package.json | 2 +- packages/react-dev-utils/package.json | 2 +- packages/react-scripts/package.json | 2 +- tasks/e2e-simple.sh | 2 +- 7 files changed, 9 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 37ea2ed9d95..4a0eeab567a 100644 --- a/README.md +++ b/README.md @@ -40,9 +40,7 @@ Install it once globally: npm install -g create-react-app ``` -**You’ll need to have Node >= 4.7 on your machine**. - -**We strongly recommend to use Node >= 6 and npm >= 3 for faster installation speed and better disk usage.** You can use [nvm](https://github.com/creationix/nvm#usage) to easily switch Node versions between different projects. +**You’ll need to have Node >= 6 on your machine**. You can use [nvm](https://github.com/creationix/nvm#usage) to easily switch Node versions between different projects. **This tool doesn’t assume a Node backend**. The Node installation is only required for Create React App itself. diff --git a/packages/create-react-app/createReactApp.js b/packages/create-react-app/createReactApp.js index e93563f780e..ccbd7e6cf69 100755 --- a/packages/create-react-app/createReactApp.js +++ b/packages/create-react-app/createReactApp.js @@ -28,7 +28,7 @@ // tell people to update their global version of create-react-app. // // Also be careful with new language features. -// This file must work on Node 4.7+. +// This file must work on Node 6+. // // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // /!\ DO NOT MODIFY THIS FILE /!\ diff --git a/packages/create-react-app/index.js b/packages/create-react-app/index.js index c6a6880f7a6..1728236a5c1 100755 --- a/packages/create-react-app/index.js +++ b/packages/create-react-app/index.js @@ -43,15 +43,15 @@ var chalk = require('chalk'); var currentNodeVersion = process.versions.node; var semver = currentNodeVersion.split('.'); var major = semver[0]; -var minor = semver[1]; +// var minor = semver[1]; -if (major < 4 || (major === 4 && minor < 7)) { +if (major < 6) { console.error( chalk.red( 'You are running Node ' + currentNodeVersion + '.\n' + - 'Create React App requires Node 4.7 or higher. \n' + + 'Create React App requires Node 6 or higher. \n' + 'Please update your version of Node.' ) ); diff --git a/packages/create-react-app/package.json b/packages/create-react-app/package.json index d00bff3eb57..70077ddd705 100644 --- a/packages/create-react-app/package.json +++ b/packages/create-react-app/package.json @@ -8,7 +8,7 @@ "repository": "facebookincubator/create-react-app", "license": "BSD-3-Clause", "engines": { - "node": ">=4.7.0" + "node": ">=6" }, "bugs": { "url": "https://github.com/facebookincubator/create-react-app/issues" diff --git a/packages/react-dev-utils/package.json b/packages/react-dev-utils/package.json index f55fba3c9bb..8fe7f53b37c 100644 --- a/packages/react-dev-utils/package.json +++ b/packages/react-dev-utils/package.json @@ -8,7 +8,7 @@ "url": "https://github.com/facebookincubator/create-react-app/issues" }, "engines": { - "node": ">=4.7.0" + "node": ">=6" }, "files": [ "ansiHTML.js", diff --git a/packages/react-scripts/package.json b/packages/react-scripts/package.json index eaf0671747b..4efdad0881c 100644 --- a/packages/react-scripts/package.json +++ b/packages/react-scripts/package.json @@ -5,7 +5,7 @@ "repository": "facebookincubator/create-react-app", "license": "BSD-3-Clause", "engines": { - "node": ">=4.7.0" + "node": ">=6" }, "bugs": { "url": "https://github.com/facebookincubator/create-react-app/issues" diff --git a/tasks/e2e-simple.sh b/tasks/e2e-simple.sh index 4f273df83d9..86144b16c9f 100755 --- a/tasks/e2e-simple.sh +++ b/tasks/e2e-simple.sh @@ -80,7 +80,7 @@ cd "$root_path" nodeVersion=`node --version | cut -d v -f2` nodeMajor=`echo $nodeVersion | cut -d. -f1` nodeMinor=`echo $nodeVersion | cut -d. -f2` -if [[ nodeMajor -lt 4 ]] || [[ nodeMajor -eq 4 && nodeMinor -lt 7 ]] +if [[ nodeMajor -lt 6 ]] then cd $temp_app_path err_output=`node "$root_path"/packages/create-react-app/index.js test-node-version 2>&1 > /dev/null || echo ''` From 53c90adfb7b309d42bfba42c2384818ebec0ad77 Mon Sep 17 00:00:00 2001 From: Ian Schmitz Date: Mon, 8 May 2017 12:14:22 -0700 Subject: [PATCH 5/6] Bump minimal node version to 6 --- .travis.yml | 1 - appveyor.yml | 6 ------ packages/create-react-app/createReactApp.js | 23 ++++++++++----------- packages/create-react-app/index.js | 1 - 4 files changed, 11 insertions(+), 20 deletions(-) diff --git a/.travis.yml b/.travis.yml index fa2c7d8b364..99edd919888 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,6 @@ --- language: node_js node_js: - - 4 - 6 - 7 cache: diff --git a/appveyor.yml b/appveyor.yml index 8b2b688fc66..e00da39436c 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -14,12 +14,6 @@ environment: test_suite: "installs" - nodejs_version: 6 test_suite: "kitchensink" - - nodejs_version: 4 - test_suite: "simple" - - nodejs_version: 4 - test_suite: "installs" - - nodejs_version: 4 - test_suite: "kitchensink" cache: - node_modules -> appveyor.cleanup-cache.txt diff --git a/packages/create-react-app/createReactApp.js b/packages/create-react-app/createReactApp.js index ccbd7e6cf69..e8d1b57182d 100755 --- a/packages/create-react-app/createReactApp.js +++ b/packages/create-react-app/createReactApp.js @@ -398,24 +398,23 @@ function getPackageName(installPackage) { } function checkNpmVersion() { - let isNpm2 = false; + let hasMinNpm = false; try { const npmVersion = execSync('npm --version').toString(); - isNpm2 = semver.lt(npmVersion, '3.0.0'); + hasMinNpm = semver.gte(npmVersion, '3.0.0'); } catch (err) { return; } - if (!isNpm2) { - return; + + if (!hasMinNpm) { + console.error( + chalk.red( + 'Create React App requires npm 3 or higher. \n' + + 'Please update your version of npm.' + ) + ); + process.exit(1); } - console.log(chalk.yellow('It looks like you are using npm 2.')); - console.log( - chalk.yellow( - 'We suggest using npm 3 or Yarn for faster install times ' + - 'and less disk space usage.' - ) - ); - console.log(); } function checkNodeVersion(packageName) { diff --git a/packages/create-react-app/index.js b/packages/create-react-app/index.js index 1728236a5c1..d8cb016297d 100755 --- a/packages/create-react-app/index.js +++ b/packages/create-react-app/index.js @@ -43,7 +43,6 @@ var chalk = require('chalk'); var currentNodeVersion = process.versions.node; var semver = currentNodeVersion.split('.'); var major = semver[0]; -// var minor = semver[1]; if (major < 6) { console.error( From 1c6bbf2851d55fb40c72095ba429bed6bdc08b07 Mon Sep 17 00:00:00 2001 From: Ian Schmitz Date: Mon, 8 May 2017 12:32:35 -0700 Subject: [PATCH 6/6] Bump minimal node version to 6 --- tasks/e2e-simple.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/e2e-simple.sh b/tasks/e2e-simple.sh index 86144b16c9f..14282e1ae09 100755 --- a/tasks/e2e-simple.sh +++ b/tasks/e2e-simple.sh @@ -76,7 +76,7 @@ cd "$root_path"/packages/create-react-app npm install cd "$root_path" -# If the node version is < 4.7, the script should just give an error. +# If the node version is < 6, the script should just give an error. nodeVersion=`node --version | cut -d v -f2` nodeMajor=`echo $nodeVersion | cut -d. -f1` nodeMinor=`echo $nodeVersion | cut -d. -f2`