From 531885e0ff6e05b5b7c5222ae8a051df02d0edc7 Mon Sep 17 00:00:00 2001 From: Gerald Monaco Date: Mon, 2 Aug 2021 12:14:31 -0700 Subject: [PATCH] More React 17 clean up (#26775) Remove unnecessary `React.Suspense` checks, as the minimum supported version is `react@>=17.0.1`. Also removes some files from the `react-18` integration test that are no longer necessary as of #26664. --- packages/next/bin/next.ts | 10 ---------- packages/next/server/dev/next-dev-server.ts | 6 ------ test/unit/handles-incorrect-react.unit.test.js | 17 ----------------- 3 files changed, 33 deletions(-) delete mode 100644 test/unit/handles-incorrect-react.unit.test.js diff --git a/packages/next/bin/next.ts b/packages/next/bin/next.ts index f74c79a158563..595b66db20ab3 100755 --- a/packages/next/bin/next.ts +++ b/packages/next/bin/next.ts @@ -93,16 +93,6 @@ if (process.env.NODE_ENV && !standardEnv.includes(process.env.NODE_ENV)) { ;(process.env as any).NODE_ENV = process.env.NODE_ENV || defaultEnv -// this needs to come after we set the correct NODE_ENV or -// else it might cause SSR to break -const React = require('react') - -if (typeof React.Suspense === 'undefined') { - throw new Error( - `The version of React you are using is lower than the minimum required version needed for Next.js. Please upgrade "react" and "react-dom": "npm install react react-dom" https://nextjs.org/docs/messages/invalid-react-version` - ) -} - // Make sure commands gracefully respect termination signals (e.g. from Docker) process.on('SIGTERM', () => process.exit(0)) process.on('SIGINT', () => process.exit(0)) diff --git a/packages/next/server/dev/next-dev-server.ts b/packages/next/server/dev/next-dev-server.ts index 665e5e3f8c65e..95d6245727f9a 100644 --- a/packages/next/server/dev/next-dev-server.ts +++ b/packages/next/server/dev/next-dev-server.ts @@ -48,12 +48,6 @@ import { } from '../load-components' import { DecodeError } from '../../shared/lib/utils' -if (typeof React.Suspense === 'undefined') { - throw new Error( - `The version of React you are using is lower than the minimum required version needed for Next.js. Please upgrade "react" and "react-dom": "npm install react react-dom" https://nextjs.org/docs/messages/invalid-react-version` - ) -} - // Load ReactDevOverlay only when needed let ReactDevOverlayImpl: React.FunctionComponent const ReactDevOverlay = (props: any) => { diff --git a/test/unit/handles-incorrect-react.unit.test.js b/test/unit/handles-incorrect-react.unit.test.js deleted file mode 100644 index 777eb59181440..0000000000000 --- a/test/unit/handles-incorrect-react.unit.test.js +++ /dev/null @@ -1,17 +0,0 @@ -/* eslint-env jest */ -import path from 'path' - -jest.mock('react', () => ({ - Suspense: undefined, -})) - -const nextDir = path.dirname(require.resolve('next/package')) -const nextBin = path.join(nextDir, 'dist/bin/next') - -describe('Handles Incorrect React Version', () => { - it('should throw an error when building with next', async () => { - expect(() => require(nextBin)).toThrow( - /The version of React you are using is lower than the minimum required version needed for Next\.js\. Please upgrade "react" and "react-dom": "npm install react react-dom" https:\/\// - ) - }) -})