diff options
author | 2024-01-10 14:52:29 +0000 | |
---|---|---|
committer | 2024-01-10 14:52:29 +0000 | |
commit | 9bd43625f85ae17731e51628e593b9f54007af80 (patch) | |
tree | 0fc0d02a4ce18a46db84b960b8061fa1e91b6824 /packages/integrations/vercel/src | |
parent | 26bfa78a65bc733cf37c696fef197f8037f8a835 (diff) | |
download | astro-9bd43625f85ae17731e51628e593b9f54007af80.tar.gz astro-9bd43625f85ae17731e51628e593b9f54007af80.tar.zst astro-9bd43625f85ae17731e51628e593b9f54007af80.zip |
fix(vercel): fallback to static 404.html (#9648)
Diffstat (limited to 'packages/integrations/vercel/src')
-rw-r--r-- | packages/integrations/vercel/src/serverless/adapter.ts | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/packages/integrations/vercel/src/serverless/adapter.ts b/packages/integrations/vercel/src/serverless/adapter.ts index dd07e723b..db7f42805 100644 --- a/packages/integrations/vercel/src/serverless/adapter.ts +++ b/packages/integrations/vercel/src/serverless/adapter.ts @@ -287,9 +287,15 @@ You can set functionPerRoute: false to prevent surpassing the limit.` excludeFiles, maxDuration, }); - routeDefinitions.push({ src: '/.*', dest: 'render' }); + for (const route of routes) { + if (route.prerender) continue + routeDefinitions.push({ + src: route.pattern.source, + dest: 'render', + }) + } } - + const fourOhFourRoute = routes.find((route) => route.pathname === '/404'); // Output configuration // https://vercel.com/docs/build-output-api/v3#build-output-configuration await writeJson(new URL(`./config.json`, _config.outDir), { @@ -303,6 +309,11 @@ You can set functionPerRoute: false to prevent surpassing the limit.` }, { handle: 'filesystem' }, ...routeDefinitions, + ...fourOhFourRoute ? [{ + src: '/.*', + dest: fourOhFourRoute.prerender ? '/404.html' : 'render', + status: 404, + }] : [], ], ...(imageService || imagesConfig ? { |