From de8b5ebd4b537fe95d25be4f7018756b8e606585 Mon Sep 17 00:00:00 2001 From: Shu Ding Date: Sat, 16 Apr 2022 09:40:59 +0200 Subject: [PATCH 1/2] use renderToStaticMarkup to render html --- packages/next/server/node-web-streams-helper.ts | 4 +++- packages/next/server/render.tsx | 12 +----------- .../app/pages/index.server.js | 1 + .../test/basic.js | 5 +++++ 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/packages/next/server/node-web-streams-helper.ts b/packages/next/server/node-web-streams-helper.ts index 9512d9cbffa658c..692c80f0b9e6e27 100644 --- a/packages/next/server/node-web-streams-helper.ts +++ b/packages/next/server/node-web-streams-helper.ts @@ -1,3 +1,5 @@ +import { nonNullable } from '../lib/non-nullable' + export function readableStreamTee( readable: ReadableStream ): [ReadableStream, ReadableStream] { @@ -172,7 +174,7 @@ export async function continueFromInitialStream({ suffixUnclosed != null ? createPrefixStream(suffixUnclosed) : null, dataStream ? createInlineDataStream(dataStream) : null, suffixUnclosed != null ? createSuffixStream(closeTag) : null, - ].filter(Boolean) as any + ].filter(nonNullable) return transforms.reduce( (readable, transform) => readable.pipeThrough(transform), diff --git a/packages/next/server/render.tsx b/packages/next/server/render.tsx index b83440b2ca16661..a40e6f76cfe1979 100644 --- a/packages/next/server/render.tsx +++ b/packages/next/server/render.tsx @@ -1630,17 +1630,7 @@ export async function renderToHTML( ) - let documentHTML: string - if (hasConcurrentFeatures) { - const documentStream = await renderToStream({ - ReactDOMServer, - element: document, - generateStaticHTML: true, - }) - documentHTML = await streamToString(documentStream) - } else { - documentHTML = ReactDOMServer.renderToStaticMarkup(document) - } + const documentHTML = ReactDOMServer.renderToStaticMarkup(document) if (process.env.NODE_ENV !== 'production') { const nonRenderedComponents = [] 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 89723996bfd083f..d7eb0906e41d0c0 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 @@ -10,6 +10,7 @@ export default function Index({ header }) {
+ hello, {envVar}

{`component:index.server`}

{'env:' + envVar}
diff --git a/test/integration/react-streaming-and-server-components/test/basic.js b/test/integration/react-streaming-and-server-components/test/basic.js index 43c18775269fe6e..852a870ea0c06c2 100644 --- a/test/integration/react-streaming-and-server-components/test/basic.js +++ b/test/integration/react-streaming-and-server-components/test/basic.js @@ -10,6 +10,11 @@ export default async function basic(context, { env }) { expect(pathNotFoundHTML).toContain('custom-404-page') }) + it('should render title correctly', async () => { + const res = await renderViaHTTP(context.appPort, '/') + expect(res).toContain('hello, env_var_test') + }) + it('should support api routes', async () => { const res = await renderViaHTTP(context.appPort, '/api/ping') expect(res).toContain('pong') From 3d2dba0600dc666a786d1ba31a882c07ec0cd670 Mon Sep 17 00:00:00 2001 From: JJ Kasper Date: Tue, 19 Apr 2022 11:56:39 -0500 Subject: [PATCH 2/2] lint-fix --- packages/next/server/render.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/next/server/render.tsx b/packages/next/server/render.tsx index a40e6f76cfe1979..6d58f10145cbd12 100644 --- a/packages/next/server/render.tsx +++ b/packages/next/server/render.tsx @@ -72,7 +72,6 @@ import { streamToString, chainStreams, createBufferedTransformStream, - renderToStream, renderToInitialStream, continueFromInitialStream, } from './node-web-streams-helper'