Closes #514. The build was prerendering protected routes via crawl from /hilfe/transkription. Their load functions throw redirect('/login') during the build (no auth cookie), so SvelteKit captured the redirect as static HTML and shipped /app/build/prerendered/{index,documents, persons,geschichten,stammbaum}.html with a `location.href=/login` script. In production these files are served BEFORE hooks.server.ts runs, so an authenticated user with a valid cookie is still served the baked bounce-back page. Setting `crawl: false` keeps the explicit /hilfe/transkription entry prerendered (needed for the public help page) without dragging the nav targets along with it. Verified locally: build now emits only `hilfe/transkription.html` under build/prerendered/, no index.html or documents.html etc. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
26 lines
888 B
JavaScript
26 lines
888 B
JavaScript
import adapter from '@sveltejs/adapter-node';
|
|
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
|
|
|
|
/** @type {import('@sveltejs/kit').Config} */
|
|
const config = {
|
|
// Consult https://svelte.dev/docs/kit/integrations
|
|
// for more information about preprocessors
|
|
preprocess: vitePreprocess(),
|
|
kit: {
|
|
adapter: adapter(),
|
|
prerender: {
|
|
entries: ['/hilfe/transkription'],
|
|
// Disable crawl: by default SvelteKit follows nav links from
|
|
// prerendered pages and prerenders the targets too. The targets
|
|
// (/, /documents, /persons, …) throw redirect('/login') during
|
|
// the build (no auth cookie), so SvelteKit bakes a
|
|
// `<script>location.href='/login'</script>` HTML page and serves
|
|
// it before the runtime hooks ever run. Result: authenticated
|
|
// users with a valid cookie still get bounced. See #514.
|
|
crawl: false
|
|
}
|
|
}
|
|
};
|
|
|
|
export default config;
|