diff --git a/packages/next/build/webpack-config.ts b/packages/next/build/webpack-config.ts index e01cb621e866705..f7ec56cf2a29a2b 100644 --- a/packages/next/build/webpack-config.ts +++ b/packages/next/build/webpack-config.ts @@ -1337,8 +1337,10 @@ export default async function getBaseWebpackConfig( // Makes sure `Buffer` and `process` are polyfilled in client and flight bundles (same behavior as webpack 4) targetWeb && new webpack.ProvidePlugin({ + // Buffer is used by getInlineScriptSource Buffer: [require.resolve('buffer'), 'Buffer'], - process: [require.resolve('process')], + // Avoid process being overridden when in web run time + ...(!isServer && { process: [require.resolve('process')] }), }), new webpack.DefinePlugin({ ...Object.keys(process.env).reduce( diff --git a/test/integration/react-streaming-and-server-components/app/.env b/test/integration/react-streaming-and-server-components/app/.env new file mode 100644 index 000000000000000..afb1f219ebcf73b --- /dev/null +++ b/test/integration/react-streaming-and-server-components/app/.env @@ -0,0 +1 @@ +ENV_VAR_TEST="env_var_test" \ No newline at end of file diff --git a/test/integration/react-streaming-and-server-components/app/pages/index.server.js b/test/integration/react-streaming-and-server-components/app/pages/index.server.js index 29688d808aa2569..4b61e6c76bad959 100644 --- a/test/integration/react-streaming-and-server-components/app/pages/index.server.js +++ b/test/integration/react-streaming-and-server-components/app/pages/index.server.js @@ -1,10 +1,15 @@ import Foo from '../components/foo.client' +const envVar = process.env.ENV_VAR_TEST + export default function Index() { return (

{`thisistheindexpage.server`}

- +
{envVar}
+
+ +
) } diff --git a/test/integration/react-streaming-and-server-components/test/index.test.js b/test/integration/react-streaming-and-server-components/test/index.test.js index 65736ca7e1b2a4a..05b7218ccc5d85d 100644 --- a/test/integration/react-streaming-and-server-components/test/index.test.js +++ b/test/integration/react-streaming-and-server-components/test/index.test.js @@ -224,6 +224,7 @@ async function runBasicTests(context) { ) expect(homeHTML).toContain('thisistheindexpage.server') + expect(homeHTML).toContain('env_var_test') expect(homeHTML).toContain('foo.client') expect(dynamicRouteHTML1).toContain('[pid]')