Skip to content

Commit fe6d63e

Browse files
committed
feat(svelte): add prerender error handling in config
1 parent c49ac6b commit fe6d63e

File tree

1 file changed

+27
-1
lines changed

1 file changed

+27
-1
lines changed

app/svelte.config.js

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,38 @@
11
import adapter from '@sveltejs/adapter-static';
22
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
33

4+
const toolsPathExpr = /\/tools\/.*/;
5+
const gamesPathExpr = /\/games\/.*/;
6+
47
/** @type {import('@sveltejs/kit').Config} */
58
const config = {
69
// Consult https://svelte.dev/docs/kit/integrations
710
// for more information about preprocessors
811
preprocess: vitePreprocess(),
9-
kit: { adapter: adapter() }
12+
kit: {
13+
prerender: {
14+
handleHttpError: ({ path, referrer, message }) => {
15+
if (toolsPathExpr.test(path) || gamesPathExpr.test(path)) {
16+
console.warn(`Pre-rendering error for ${path} (referrer: ${referrer}): ${message}`);
17+
return;
18+
}
19+
throw new Error(`Pre-rendering failed for ${path} (referrer: ${referrer}): ${message}`);
20+
},
21+
handleMissingId: ({ path, referrers, message }) => {
22+
if (toolsPathExpr.test(path) || gamesPathExpr.test(path)) {
23+
console.warn(
24+
`Missing ID during pre-rendering for ${path} (referrers: ${referrers.join(', ')}): ${message}`
25+
);
26+
return;
27+
}
28+
throw new Error(
29+
`Missing ID during pre-rendering for ${path} (referrers: ${referrers.join(', ')}): ${message}`
30+
);
31+
}
32+
},
33+
34+
adapter: adapter()
35+
}
1036
};
1137

1238
export default config;

0 commit comments

Comments
 (0)