diff --git a/.changeset/tiny-melons-bow.md b/.changeset/tiny-melons-bow.md new file mode 100644 index 000000000..0668b8018 --- /dev/null +++ b/.changeset/tiny-melons-bow.md @@ -0,0 +1,5 @@ +--- +"@vercel/next": patch +--- + +[next] Ensure app functions are detected/separated properly diff --git a/packages/next/src/server-build.ts b/packages/next/src/server-build.ts index 5a19fba60..6fdc69918 100644 --- a/packages/next/src/server-build.ts +++ b/packages/next/src/server-build.ts @@ -407,14 +407,10 @@ export async function serverBuild({ dynamicPages.push(normalizedPathname); } - if (pageMatchesApi(page)) { - apiPages.push(page); - } else if ( - (appPathRoutesManifest?.[`${normalizedPathname}/page`] || - appPathRoutesManifest?.[`${normalizedPathname}/route`]) && - lambdaAppPaths[page] - ) { + if (lambdaAppPaths[page]) { appRouterPages.push(page); + } else if (pageMatchesApi(page)) { + apiPages.push(page); } else { nonApiPages.push(page); } diff --git a/packages/next/test/fixtures/00-app-dir/app/(rootonly)/dashboard/hello/page.js b/packages/next/test/fixtures/00-app-dir/app/(rootonly)/dashboard/hello/page.js index 187e82e8d..63022cfda 100644 --- a/packages/next/test/fixtures/00-app-dir/app/(rootonly)/dashboard/hello/page.js +++ b/packages/next/test/fixtures/00-app-dir/app/(rootonly)/dashboard/hello/page.js @@ -1,3 +1,5 @@ +export const dynamic = 'force-dynamic' + export default function HelloPage(props) { return ( <> diff --git a/packages/next/test/fixtures/00-app-dir/app/page.js b/packages/next/test/fixtures/00-app-dir/app/page.js index 011a70d4d..d687cffae 100644 --- a/packages/next/test/fixtures/00-app-dir/app/page.js +++ b/packages/next/test/fixtures/00-app-dir/app/page.js @@ -1,3 +1,5 @@ +export const dynamic = 'force-dynamic' + export default function Page() { - return
index app page
; + returnindex app page {Date.now()}
; } diff --git a/packages/next/test/fixtures/00-app-dir/vercel.json b/packages/next/test/fixtures/00-app-dir/vercel.json index 97abbab86..4c094d5d4 100644 --- a/packages/next/test/fixtures/00-app-dir/vercel.json +++ b/packages/next/test/fixtures/00-app-dir/vercel.json @@ -18,6 +18,11 @@ } ], "probes": [ + { + "path": "/dashboard/hello", + "status": 200, + "mustContain": "hello from app/dashboard/rootonly/hello" + }, { "path": "/dashboard/another-edge", "status": 200,