diff --git a/packages/next/src/build/index.ts b/packages/next/src/build/index.ts index 2bef4c14d6..e78ce69b5d 100644 --- a/packages/next/src/build/index.ts +++ b/packages/next/src/build/index.ts @@ -285,8 +285,6 @@ export default async function build( const isAppDirEnabled = !!config.experimental.appDir if (isAppDirEnabled) { - process.env.NEXT_PREBUNDLED_REACT = '1' - if (!process.env.__NEXT_TEST_MODE && ciEnvironment.hasNextSupport) { const requireHook = require.resolve('../server/require-hook') const contents = await promises.readFile(requireHook, 'utf8') diff --git a/packages/next/src/server/next.ts b/packages/next/src/server/next.ts index 867999a701..90e44144b3 100644 --- a/packages/next/src/server/next.ts +++ b/packages/next/src/server/next.ts @@ -178,9 +178,18 @@ export class NextServer { ) } } - if (conf.experimental.appDir) { - process.env.NEXT_PREBUNDLED_REACT = '1' + + if (this.options.customServer !== false) { + // When running as a custom server with app dir, we must set this env + // to correctly alias the React versions. + if (conf.experimental.appDir) { + process.env.__NEXT_PRIVATE_PREBUNDLED_REACT = conf.experimental + .serverActions + ? 'experimental' + : 'next' + } } + this.server = await this.createServer({ ...this.options, conf, diff --git a/test/e2e/app-dir/navigation/navigation.test.ts b/test/e2e/app-dir/navigation/navigation.test.ts index 3c5ddc320a..864c67632f 100644 --- a/test/e2e/app-dir/navigation/navigation.test.ts +++ b/test/e2e/app-dir/navigation/navigation.test.ts @@ -7,7 +7,7 @@ createNextDescribe( { files: __dirname, }, - ({ next, isNextDev, isNextDeploy }) => { + ({ next, isNextDeploy }) => { describe('query string', () => { it('should set query correctly', async () => { const browser = await webdriver(next.url, '/') @@ -184,9 +184,7 @@ createNextDescribe( } expect(stored).toEqual({ - // Not actually sure why this is '2' in dev. Possibly something - // related to an update triggered by ? - 'navigate-https://example.vercel.sh/': isNextDev ? '2' : '1', + 'navigate-https://example.vercel.sh/': '1', 'navigation-supported': 'true', }) })