From 4be78ecf83a66a9795cb244ca32457c020c5693f Mon Sep 17 00:00:00 2001 From: Andre Hsu <4470828+andrehsu@users.noreply.github.com> Date: Tue, 19 Jan 2021 22:28:23 +0800 Subject: [PATCH 1/6] Change type of GetServerSidePropsContext.req.cookies the be the same as NextApiRequest.cookies --- packages/next/types/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/next/types/index.d.ts b/packages/next/types/index.d.ts index 5e3fddbd1a3c6c1..b947b1960a905ec 100644 --- a/packages/next/types/index.d.ts +++ b/packages/next/types/index.d.ts @@ -129,7 +129,7 @@ export type GetServerSidePropsContext< Q extends ParsedUrlQuery = ParsedUrlQuery > = { req: IncomingMessage & { - cookies?: { [key: string]: any } + cookies: { [key: string]: string } } res: ServerResponse params?: Q From fdd9b466e8e8f63fa6f2439a4bf036e8fc6ded42 Mon Sep 17 00:00:00 2001 From: Andre Hsu <4470828+andrehsu@users.noreply.github.com> Date: Mon, 25 Jan 2021 23:44:30 +0800 Subject: [PATCH 2/6] Add type casting --- packages/next/next-server/server/render.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/next/next-server/server/render.tsx b/packages/next/next-server/server/render.tsx index 0b3d1defd97bfa6..7f6b03499407651 100644 --- a/packages/next/next-server/server/render.tsx +++ b/packages/next/next-server/server/render.tsx @@ -793,7 +793,9 @@ export async function renderToHTML( try { data = await getServerSideProps({ - req, + req: req as IncomingMessage & { + cookies: { [key: string]: string } + }, res, query, resolvedUrl: renderOpts.resolvedUrl as string, From bc7a11099245dd9586728fc4c2c847daee56ce24 Mon Sep 17 00:00:00 2001 From: Tim Neutkens Date: Tue, 26 Jan 2021 14:16:15 +0100 Subject: [PATCH 3/6] Use existing return type from cookie parser --- packages/next/types/index.d.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/next/types/index.d.ts b/packages/next/types/index.d.ts index 2fb4a17e0cd8449..8c70d3ecfc0a4b1 100644 --- a/packages/next/types/index.d.ts +++ b/packages/next/types/index.d.ts @@ -15,6 +15,11 @@ import { // @ts-ignore This path is generated at build time and conflicts otherwise } from '../dist/next-server/lib/utils' +import { + NextApiRequestCookies, + // @ts-ignore This path is generated at build time and conflicts otherwise +} from '../dist/next-server/server/api-utils' + // @ts-ignore This path is generated at build time and conflicts otherwise import next from '../dist/server/next' @@ -130,7 +135,7 @@ export type GetServerSidePropsContext< Q extends ParsedUrlQuery = ParsedUrlQuery > = { req: IncomingMessage & { - cookies: { [key: string]: string } + cookies: NextApiRequestCookies } res: ServerResponse params?: Q From 97d9288c3127831102c40b28c9d6aefd90e4183f Mon Sep 17 00:00:00 2001 From: Tim Neutkens Date: Tue, 26 Jan 2021 14:17:31 +0100 Subject: [PATCH 4/6] Remove change that does not affect typing --- packages/next/next-server/server/render.tsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/next/next-server/server/render.tsx b/packages/next/next-server/server/render.tsx index 4f5f883e031707a..5cda0722c6553ce 100644 --- a/packages/next/next-server/server/render.tsx +++ b/packages/next/next-server/server/render.tsx @@ -796,9 +796,7 @@ export async function renderToHTML( try { data = await getServerSideProps({ - req: req as IncomingMessage & { - cookies: { [key: string]: string } - }, + req, res, query, resolvedUrl: renderOpts.resolvedUrl as string, From d13ca03aca8f81c07b261d5f91fea87d1d82e1f7 Mon Sep 17 00:00:00 2001 From: Tim Neutkens Date: Tue, 26 Jan 2021 14:23:09 +0100 Subject: [PATCH 5/6] Revert "Remove change that does not affect typing" This reverts commit 97d9288c3127831102c40b28c9d6aefd90e4183f. --- packages/next/next-server/server/render.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/next/next-server/server/render.tsx b/packages/next/next-server/server/render.tsx index 5cda0722c6553ce..4f5f883e031707a 100644 --- a/packages/next/next-server/server/render.tsx +++ b/packages/next/next-server/server/render.tsx @@ -796,7 +796,9 @@ export async function renderToHTML( try { data = await getServerSideProps({ - req, + req: req as IncomingMessage & { + cookies: { [key: string]: string } + }, res, query, resolvedUrl: renderOpts.resolvedUrl as string, From 60f2e1b8bbf504b7f6894e2070372f5e5436514f Mon Sep 17 00:00:00 2001 From: Tim Neutkens Date: Tue, 26 Jan 2021 14:48:15 +0100 Subject: [PATCH 6/6] Use correct type in the same place --- packages/next/next-server/server/render.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/next/next-server/server/render.tsx b/packages/next/next-server/server/render.tsx index 4f5f883e031707a..2044373d6a44774 100644 --- a/packages/next/next-server/server/render.tsx +++ b/packages/next/next-server/server/render.tsx @@ -44,7 +44,11 @@ import { NextComponentType, RenderPage, } from '../lib/utils' -import { tryGetPreviewData, __ApiPreviewProps } from './api-utils' +import { + tryGetPreviewData, + NextApiRequestCookies, + __ApiPreviewProps, +} from './api-utils' import { denormalizePagePath } from './denormalize-page-path' import { FontManifest, getFontDefinitionFromManifest } from './font-utils' import { LoadComponentsReturnType, ManifestItem } from './load-components' @@ -797,7 +801,7 @@ export async function renderToHTML( try { data = await getServerSideProps({ req: req as IncomingMessage & { - cookies: { [key: string]: string } + cookies: NextApiRequestCookies }, res, query,