From 610e0013e8fc6c16ff882ff3e93670c6c172ab85 Mon Sep 17 00:00:00 2001 From: JJ Kasper Date: Wed, 13 Apr 2022 13:56:25 -0500 Subject: [PATCH] Fix only generated case in minimal mode --- packages/next/server/base-server.ts | 7 ++++++- test/production/required-server-files.test.ts | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/packages/next/server/base-server.ts b/packages/next/server/base-server.ts index 94d7ae19d9f5177..2e1f835e2706da7 100644 --- a/packages/next/server/base-server.ts +++ b/packages/next/server/base-server.ts @@ -1449,7 +1449,12 @@ export default abstract class Server { // skip manual revalidate if cache is not present and // revalidate-if-generated is set - if (isManualRevalidate && revalidateOnlyGenerated && !hadCache) { + if ( + isManualRevalidate && + revalidateOnlyGenerated && + !hadCache && + !this.minimalMode + ) { await this.render404(req, res) return null } diff --git a/test/production/required-server-files.test.ts b/test/production/required-server-files.test.ts index 4f04c70cd7e8374..dfbb46f0b0f69e3 100644 --- a/test/production/required-server-files.test.ts +++ b/test/production/required-server-files.test.ts @@ -235,6 +235,25 @@ describe('should set-up next', () => { expect(props2.gspCalls).not.toBe(props.gspCalls) }) + it('should not 404 for onlyGenerated manual revalidate in minimal mode', async () => { + const previewProps = JSON.parse( + await next.readFile('standalone/.next/prerender-manifest.json') + ).preview + + const res = await fetchViaHTTP( + appPort, + '/optional-ssg/only-generated-1', + undefined, + { + headers: { + 'x-prerender-revalidate': previewProps.previewModeId, + 'x-prerender-revalidate-if-generated': '1', + }, + } + ) + expect(res.status).toBe(200) + }) + it('should set correct SWR headers with notFound gsp', async () => { await waitFor(2000) await next.patchFile('standalone/data.txt', 'show')