From d4a62b9fa9fa3a8860a1192d0fb4bbb9bbd8b97d Mon Sep 17 00:00:00 2001 From: Ian Sutherland Date: Mon, 13 Dec 2021 14:30:33 -0700 Subject: [PATCH 1/2] Drop support for Node 14 --- .github/workflows/build.yml | 2 +- .github/workflows/integration.yml | 3 +-- .github/workflows/lint.yml | 2 +- azure-pipelines-test-job.yml | 1 - packages/cra-template-typescript/package.json | 2 +- packages/cra-template/package.json | 2 +- packages/create-react-app/createReactApp.js | 6 +++--- packages/create-react-app/index.js | 4 ++-- packages/create-react-app/package.json | 2 +- packages/eslint-config-react-app/package.json | 6 +++--- packages/react-app-polyfill/package.json | 2 +- packages/react-dev-utils/package.json | 2 +- packages/react-scripts/package.json | 2 +- 13 files changed, 17 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3ebb67c48e9..f4e03126fea 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,7 +9,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: '14' + node-version: '16' cache: 'npm' - name: Install npm@8 run: npm i -g npm@8 diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 88699dfa278..12e0693c8e0 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -14,13 +14,12 @@ jobs: strategy: matrix: os: ['ubuntu-latest', 'macos-latest', 'windows-latest'] - node: ['14', '16'] steps: - uses: actions/checkout@v2 - name: Setup node uses: actions/setup-node@v2 with: - node-version: ${{ matrix.node }} + node-version: '16' cache: 'npm' - name: Install npm@8 run: npm i -g npm@8 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index d9835010a9c..94870387f86 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -9,7 +9,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: '14' + node-version: '16' cache: 'npm' - name: Install npm@8 run: npm i -g npm@8 diff --git a/azure-pipelines-test-job.yml b/azure-pipelines-test-job.yml index cdf3f4dacfd..fa2ddbd9c98 100644 --- a/azure-pipelines-test-job.yml +++ b/azure-pipelines-test-job.yml @@ -6,7 +6,6 @@ parameters: name: '' testScript: '' configurations: - LinuxNode14: { vmImage: 'ubuntu-latest', nodeVersion: 14.x } LinuxNode16: { vmImage: 'ubuntu-latest', nodeVersion: 16.x } jobs: diff --git a/packages/cra-template-typescript/package.json b/packages/cra-template-typescript/package.json index 06e3ae9a14e..2d278797936 100644 --- a/packages/cra-template-typescript/package.json +++ b/packages/cra-template-typescript/package.json @@ -15,7 +15,7 @@ }, "license": "MIT", "engines": { - "node": ">=14" + "node": ">=16.0.0" }, "bugs": { "url": "https://github.com/facebook/create-react-app/issues" diff --git a/packages/cra-template/package.json b/packages/cra-template/package.json index eb655002a58..3476f1bf8d6 100644 --- a/packages/cra-template/package.json +++ b/packages/cra-template/package.json @@ -14,7 +14,7 @@ }, "license": "MIT", "engines": { - "node": ">=14" + "node": ">=16.0.0" }, "bugs": { "url": "https://github.com/facebook/create-react-app/issues" diff --git a/packages/create-react-app/createReactApp.js b/packages/create-react-app/createReactApp.js index 6a2bb06b76e..5a099de7cb3 100755 --- a/packages/create-react-app/createReactApp.js +++ b/packages/create-react-app/createReactApp.js @@ -243,14 +243,14 @@ function createApp(name, verbose, version, template, useYarn, usePnp) { const unsupportedNodeVersion = !semver.satisfies( // Coerce strings with metadata (i.e. `15.0.0-nightly`). semver.coerce(process.version), - '>=14' + '>=16' ); if (unsupportedNodeVersion) { 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 14 or higher for a better, fully supported experience.\n` + `Please update to Node 16 or higher for a better, fully supported experience.\n` ) ); // Fall back to latest supported react-scripts on Node 4 @@ -504,7 +504,7 @@ function run( console.log( chalk.yellow( `\nNote: the project was bootstrapped with an old unsupported version of tools.\n` + - `Please update to Node >=14 and npm >=6 to get supported tools in new projects.\n` + `Please update to Node >=16 and npm >=7 to get supported tools in new projects.\n` ) ); } diff --git a/packages/create-react-app/index.js b/packages/create-react-app/index.js index 415c02009ef..32629eacda8 100755 --- a/packages/create-react-app/index.js +++ b/packages/create-react-app/index.js @@ -40,12 +40,12 @@ const currentNodeVersion = process.versions.node; const semver = currentNodeVersion.split('.'); const major = semver[0]; -if (major < 14) { +if (major < 6) { console.error( 'You are running Node ' + currentNodeVersion + '.\n' + - 'Create React App requires Node 14 or higher. \n' + + 'Create React App requires Node 16 or higher. \n' + 'Please update your version of Node.' ); process.exit(1); diff --git a/packages/create-react-app/package.json b/packages/create-react-app/package.json index 6c0a6b86b5e..a99645d366d 100644 --- a/packages/create-react-app/package.json +++ b/packages/create-react-app/package.json @@ -12,7 +12,7 @@ }, "license": "MIT", "engines": { - "node": ">=14" + "node": ">=16.0.0" }, "bugs": { "url": "https://github.com/facebook/create-react-app/issues" diff --git a/packages/eslint-config-react-app/package.json b/packages/eslint-config-react-app/package.json index 5cfc0f92433..4a6abbcb16d 100644 --- a/packages/eslint-config-react-app/package.json +++ b/packages/eslint-config-react-app/package.json @@ -16,6 +16,9 @@ "index.js", "jest.js" ], + "engines": { + "node": ">=16.0.0" + }, "peerDependencies": { "eslint": "^8.0.0" }, @@ -34,8 +37,5 @@ "eslint-plugin-react": "^7.27.1", "eslint-plugin-react-hooks": "^4.3.0", "eslint-plugin-testing-library": "^5.0.1" - }, - "engines": { - "node": ">=14.0.0" } } diff --git a/packages/react-app-polyfill/package.json b/packages/react-app-polyfill/package.json index 921fb3c5267..113e6e30415 100644 --- a/packages/react-app-polyfill/package.json +++ b/packages/react-app-polyfill/package.json @@ -12,7 +12,7 @@ "url": "https://github.com/facebook/create-react-app/issues" }, "engines": { - "node": ">=14" + "node": ">=16.0.0" }, "files": [ "ie9.js", diff --git a/packages/react-dev-utils/package.json b/packages/react-dev-utils/package.json index e0177daca1f..c3a66f28d61 100644 --- a/packages/react-dev-utils/package.json +++ b/packages/react-dev-utils/package.json @@ -12,7 +12,7 @@ "url": "https://github.com/facebook/create-react-app/issues" }, "engines": { - "node": ">=14" + "node": ">=16.0.0" }, "files": [ "browsersHelper.js", diff --git a/packages/react-scripts/package.json b/packages/react-scripts/package.json index 30d070e21e7..045870482a0 100644 --- a/packages/react-scripts/package.json +++ b/packages/react-scripts/package.json @@ -9,7 +9,7 @@ }, "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" }, "bugs": { "url": "https://github.com/facebook/create-react-app/issues" From 18f511e02e24e5f8353972e4425f0cda0be1189a Mon Sep 17 00:00:00 2001 From: Ian Sutherland Date: Mon, 13 Dec 2021 20:10:35 -0700 Subject: [PATCH 2/2] Fix old node test --- azure-pipelines.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 8c51a73a8c2..93f38521f20 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -71,7 +71,7 @@ jobs: steps: - task: NodeTool@0 inputs: - versionSpec: 8.x - displayName: 'Install Node.js 8.x' + versionSpec: 10.x + displayName: 'Install Node.js 10.x' - bash: tasks/e2e-old-node.sh displayName: 'Run tests'