summaryrefslogtreecommitdiff
path: root/packages/integrations/vercel/src
diff options
context:
space:
mode:
authorGravatar Arsh <69170106+lilnasy@users.noreply.github.com> 2024-01-10 14:52:29 +0000
committerGravatar GitHub <noreply@github.com> 2024-01-10 14:52:29 +0000
commit9bd43625f85ae17731e51628e593b9f54007af80 (patch)
tree0fc0d02a4ce18a46db84b960b8061fa1e91b6824 /packages/integrations/vercel/src
parent26bfa78a65bc733cf37c696fef197f8037f8a835 (diff)
downloadastro-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.ts15
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
? {