Files

40 lines
1.1 KiB
JavaScript
Raw Permalink Normal View History

import adapter from '@sveltejs/adapter-node';
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
/**
* Architecture de rendu : « transitional app » en rendu serveur sur
* adapter-node, avec prérendu ciblé des seules pages figées.
*
* Le rendu serveur est le défaut partout : les fiches doivent être fraîches dès
* que le pipeline écrit dans SQLite, et les facettes de recherche vivent dans
* `url.searchParams`, ce que le prérendu interdit.
*
* `precompress` génère les variantes .gz et .br au build ; la négociation est
* faite par le reverse proxy.
*/
const config = {
preprocess: vitePreprocess(),
kit: {
adapter: adapter({ precompress: true }),
alias: {
$composants: 'src/lib/composants',
$serveur: 'src/lib/server'
},
csp: {
// Aucune ressource tierce : ni police, ni script, ni image externe.
directives: {
'default-src': ['self'],
'img-src': ['self', 'data:'],
'style-src': ['self', 'unsafe-inline'],
'font-src': ['self'],
'connect-src': ['self'],
'frame-ancestors': ['none'],
'base-uri': ['self'],
'form-action': ['self']
}
}
}
};
export default config;