diff --git a/packages/next/build/webpack-config.ts b/packages/next/build/webpack-config.ts index 28c04a0265d77..102de1c6c249e 100644 --- a/packages/next/build/webpack-config.ts +++ b/packages/next/build/webpack-config.ts @@ -1000,6 +1000,7 @@ export default async function getBaseWebpackConfig( if (layer === WEBPACK_LAYERS.server) { if ( request === 'react' || + request === 'react/jsx-runtime' || request === 'next/dist/compiled/react-server-dom-webpack/writer.browser.server' ) { @@ -1504,7 +1505,7 @@ export default async function getBaseWebpackConfig( issuerLayer: WEBPACK_LAYERS.server, test: (req: string) => { if ( - !/\.m?js/.test(req) || + !codeCondition.test.test(req) || config.experimental.optoutServerComponentsBundle?.some( (mod) => { return req.includes('/node_modules/' + mod + '/') diff --git a/test/e2e/app-dir/app-alias/app/button/page.tsx b/test/e2e/app-dir/app-alias/app/button/page.tsx index 3625572213c5a..54c20b4f881f0 100644 --- a/test/e2e/app-dir/app-alias/app/button/page.tsx +++ b/test/e2e/app-dir/app-alias/app/button/page.tsx @@ -1,5 +1,10 @@ import Button from '@/ui/button' +import React from 'react' export default function page() { + if ('useState' in React) { + throw new Error('React is not resolved correctly.') + } + return }