From 100c9327d0d5190fb92a17fb75e1c6f203276653 Mon Sep 17 00:00:00 2001 From: Tim Neutkens Date: Wed, 3 Jan 2024 11:32:38 +0100 Subject: [PATCH] Always write FunctionsConfigManifest --- packages/next/src/build/index.ts | 39 +++++++++++++++++++------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/packages/next/src/build/index.ts b/packages/next/src/build/index.ts index 6bd39a9c06688..536f07c514650 100644 --- a/packages/next/src/build/index.ts +++ b/packages/next/src/build/index.ts @@ -422,6 +422,21 @@ async function writeClientSsgManifest( ) } +interface FunctionsConfigManifest { + version: number + functions: Record> +} + +async function writeFunctionsConfigManifest( + distDir: string, + manifest: FunctionsConfigManifest +): Promise { + await writeManifest( + path.join(distDir, SERVER_DIRECTORY, FUNCTIONS_CONFIG_MANIFEST), + manifest + ) +} + interface RequiredServerFilesManifest { version: number config: NextConfigComplete @@ -1521,7 +1536,11 @@ export default async function build( const analysisBegin = process.hrtime() const staticCheckSpan = nextBuildSpan.traceChild('static-check') - const functionsConfigManifest = {} as Record> + const functionsConfigManifest: FunctionsConfigManifest = { + version: 1, + functions: {}, + } + const { customAppGetInitialProps, namedExports, @@ -1724,7 +1743,8 @@ export default async function build( : undefined if (staticInfo?.extraConfig) { - functionsConfigManifest[page] = staticInfo.extraConfig + functionsConfigManifest.functions[page] = + staticInfo.extraConfig } const pageRuntime = middlewareManifest.functions[ @@ -2067,20 +2087,7 @@ export default async function build( ) } - if (Object.keys(functionsConfigManifest).length > 0) { - const manifest: { - version: number - functions: Record> - } = { - version: 1, - functions: functionsConfigManifest, - } - - await writeManifest( - path.join(distDir, SERVER_DIRECTORY, FUNCTIONS_CONFIG_MANIFEST), - manifest - ) - } + await writeFunctionsConfigManifest(distDir, functionsConfigManifest) if (!isGenerateMode && config.outputFileTracing && !buildTracesPromise) { buildTracesPromise = collectBuildTraces({