From 7ab587251717af9a36c5660e83fbe5d5dda20177 Mon Sep 17 00:00:00 2001 From: Pranav Date: Sat, 20 Oct 2018 22:29:32 -0400 Subject: [PATCH 1/3] Add yarn.lock to .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 79ce88915d7..b3195405aaf 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ npm-debug.log* yarn-debug.log* yarn-error.log* /.changelog +yarn.lock From 9e9451abd7963bf036439b4d515e86c62dc10daa Mon Sep 17 00:00:00 2001 From: Pranav Date: Sat, 20 Oct 2018 23:00:00 -0400 Subject: [PATCH 2/3] Change node version check in package.json and packages/create-react-app/index.js --- packages/create-react-app/index.js | 14 +++++++++++++- packages/create-react-app/package.json | 2 +- .../react-scripts/config/webpack.config.prod.js | 3 ++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/packages/create-react-app/index.js b/packages/create-react-app/index.js index 808ebcfe69c..ed60f0da3fd 100755 --- a/packages/create-react-app/index.js +++ b/packages/create-react-app/index.js @@ -41,6 +41,7 @@ var chalk = require('chalk'); var currentNodeVersion = process.versions.node; var semver = currentNodeVersion.split('.'); var major = semver[0]; +var minor = semver[1]; if (major < 8) { console.error( @@ -48,7 +49,18 @@ if (major < 8) { 'You are running Node ' + currentNodeVersion + '.\n' + - 'Create React App requires Node 8 or higher. \n' + + 'Create React App requires Node 8.9.0 or higher. \n' + + 'Please update your version of Node.' + ) + ); + process.exit(1); +} else if (major == 8 && minor < 9) { + console.error( + chalk.red( + 'You are running Node ' + + currentNodeVersion + + '.\n' + + 'Create React App requires Node 8.9.0 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 c5ecf050462..55c4b032158 100644 --- a/packages/create-react-app/package.json +++ b/packages/create-react-app/package.json @@ -8,7 +8,7 @@ "repository": "facebook/create-react-app", "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8.9.0" }, "bugs": { "url": "https://github.com/facebook/create-react-app/issues" diff --git a/packages/react-scripts/config/webpack.config.prod.js b/packages/react-scripts/config/webpack.config.prod.js index ec3c19c36c1..9438dcd3f27 100644 --- a/packages/react-scripts/config/webpack.config.prod.js +++ b/packages/react-scripts/config/webpack.config.prod.js @@ -476,7 +476,8 @@ module.exports = { }), // Inlines the webpack runtime script. This script is too small to warrant // a network request. - shouldInlineRuntimeChunk && new InlineChunkHtmlPlugin(HtmlWebpackPlugin, [/runtime~.+[.]js/]), + shouldInlineRuntimeChunk && + new InlineChunkHtmlPlugin(HtmlWebpackPlugin, [/runtime~.+[.]js/]), // Makes some environment variables available in index.html. // The public URL is available as %PUBLIC_URL% in index.html, e.g.: // From 257ff03417fe6389c84f0716e30a615ecdcfe2c8 Mon Sep 17 00:00:00 2001 From: Pranav Date: Sun, 21 Oct 2018 15:04:36 -0400 Subject: [PATCH 3/3] Remove redundant check and use semver to check node version --- packages/create-react-app/createReactApp.js | 13 --------- packages/create-react-app/index.js | 29 +++++---------------- 2 files changed, 6 insertions(+), 36 deletions(-) diff --git a/packages/create-react-app/createReactApp.js b/packages/create-react-app/createReactApp.js index a62f88589f0..db68164e111 100755 --- a/packages/create-react-app/createReactApp.js +++ b/packages/create-react-app/createReactApp.js @@ -213,19 +213,6 @@ function createApp(name, verbose, version, useNpm, usePnp, template) { process.exit(1); } - if (!semver.satisfies(process.version, '>=6.0.0')) { - console.log( - chalk.yellow( - `You are using Node ${ - process.version - } so the project will be bootstrapped with an old unsupported version of tools.\n\n` + - `Please update to Node 6 or higher for a better, fully supported experience.\n` - ) - ); - // Fall back to latest supported react-scripts on Node 4 - version = 'react-scripts@0.9.x'; - } - if (!useYarn) { const npmInfo = checkNpmVersion(); if (!npmInfo.hasMinNpm) { diff --git a/packages/create-react-app/index.js b/packages/create-react-app/index.js index ed60f0da3fd..cfba78eb634 100755 --- a/packages/create-react-app/index.js +++ b/packages/create-react-app/index.js @@ -36,35 +36,18 @@ 'use strict'; -var chalk = require('chalk'); +const chalk = require('chalk'); +const semver = require('semver'); -var currentNodeVersion = process.versions.node; -var semver = currentNodeVersion.split('.'); -var major = semver[0]; -var minor = semver[1]; - -if (major < 8) { - console.error( - chalk.red( - 'You are running Node ' + - currentNodeVersion + - '.\n' + - 'Create React App requires Node 8.9.0 or higher. \n' + - 'Please update your version of Node.' - ) - ); - process.exit(1); -} else if (major == 8 && minor < 9) { - console.error( +if (!semver.satisfies(process.version, '>=8.9.0')) { + console.log( chalk.red( - 'You are running Node ' + - currentNodeVersion + - '.\n' + + 'You are using Node ' + + process.version + 'Create React App requires Node 8.9.0 or higher. \n' + 'Please update your version of Node.' ) ); - process.exit(1); } require('./createReactApp');