From 1e2b30dd5163acaf746bb7e3574f2072a3459698 Mon Sep 17 00:00:00 2001 From: Tim Neutkens Date: Wed, 13 Jul 2022 11:40:09 +0200 Subject: [PATCH] Pass server context to Flight render (#38582) Ensures you can use server context when navigating. ## Bug - [ ] Related issues linked using `fixes #number` - [ ] Integration tests added - [ ] Errors have helpful link attached, see `contributing.md` ## Feature - [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. - [ ] Related issues linked using `fixes #number` - [ ] Integration tests added - [ ] Documentation added - [ ] Telemetry added. In case of a feature if it's used or not. - [ ] Errors have helpful link attached, see `contributing.md` ## Documentation / Examples - [ ] Make sure the linting passes by running `pnpm lint` - [ ] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples) --- .vscode/launch.json | 2 +- package.json | 1 + packages/next/server/app-render.tsx | 4 +++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 7ed86556bfc0..16184462f33f 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -10,7 +10,7 @@ "request": "launch", "cwd": "${workspaceFolder}", "runtimeExecutable": "yarn", - "runtimeArgs": ["run", "debug", "dev", "test/e2e/app-dir/app"], + "runtimeArgs": ["run", "debug-react-exp", "dev", "test/e2e/app-dir/app"], "skipFiles": ["/**"], "outFiles": ["${workspaceFolder}/packages/next/dist/**/*"], "port": 9229, diff --git a/package.json b/package.json index 8f945e3c39f5..5b1d20379682 100644 --- a/package.json +++ b/package.json @@ -43,6 +43,7 @@ "next-no-sourcemaps": "node --trace-deprecation packages/next/dist/bin/next", "clean-trace-jaeger": "rm -rf test/integration/basic/.next && TRACE_TARGET=JAEGER node --trace-deprecation --enable-source-maps packages/next/dist/bin/next build test/integration/basic", "debug": "node --inspect packages/next/dist/bin/next", + "debug-react-exp": "__NEXT_REACT_CHANNEL=exp node --inspect --trace-deprecation --enable-source-maps -r ./test/lib/react-channel-require-hook.js packages/next/dist/bin/next", "postinstall": "git config feature.manyFiles true && node scripts/install-native.mjs", "version": "pnpm install && git add pnpm-lock.yaml", "prepare": "husky install" diff --git a/packages/next/server/app-render.tsx b/packages/next/server/app-render.tsx index 31ca747f3b75..99acf92e0387 100644 --- a/packages/next/server/app-render.tsx +++ b/packages/next/server/app-render.tsx @@ -812,7 +812,9 @@ export async function renderToHTML( ] return new RenderResult( - renderToReadableStream(flightData, serverComponentManifest) + renderToReadableStream(flightData, serverComponentManifest, { + context: serverContexts, + }) .pipeThrough(createPrefixStream(cssFlightData)) .pipeThrough(createBufferedTransformStream()) )