diff options
author | 2024-02-01 18:46:55 +0100 | |
---|---|---|
committer | 2024-02-01 18:46:55 +0100 | |
commit | 33e482f2d0a3db25cf38f9918d3e0ad1a138be63 (patch) | |
tree | 9f145e13fc97182faf7741514b3985d49c335599 /packages/integrations/netlify/src/index.ts | |
parent | 63dea241d0d9df370a1a1fe7fddcdce58c86c715 (diff) | |
download | astro-33e482f2d0a3db25cf38f9918d3e0ad1a138be63.tar.gz astro-33e482f2d0a3db25cf38f9918d3e0ad1a138be63.tar.zst astro-33e482f2d0a3db25cf38f9918d3e0ad1a138be63.zip |
fix(netlify): pre-rendered 404 pages aren't shown (#143)
Diffstat (limited to 'packages/integrations/netlify/src/index.ts')
-rw-r--r-- | packages/integrations/netlify/src/index.ts | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/packages/integrations/netlify/src/index.ts b/packages/integrations/netlify/src/index.ts index d6dcc353f..e634c4ecc 100644 --- a/packages/integrations/netlify/src/index.ts +++ b/packages/integrations/netlify/src/index.ts @@ -105,13 +105,14 @@ export default function netlifyIntegration( } } - async function writeSSRFunction() { + async function writeSSRFunction(notFoundContent?: string) { await writeFile( new URL('./ssr.mjs', ssrOutputDir()), ` import createSSRHandler from './entry.mjs'; export default createSSRHandler(${JSON.stringify({ cacheOnDemandPages: Boolean(integrationConfig?.cacheOnDemandPages), + notFoundContent, })}); export const config = { name: "Astro SSR", generator: "@astrojs/netlify@${packageVersion}", path: "/*", preferStatic: true }; ` @@ -300,7 +301,11 @@ export default function netlifyIntegration( logger.info('Emitted _redirects'); if (_config.output !== 'static') { - await writeSSRFunction(); + let notFoundContent = undefined; + try { + notFoundContent = await readFile(new URL('./404.html', dir), 'utf8'); + } catch {} + await writeSSRFunction(notFoundContent); logger.info('Generated SSR Function'); } |