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;