// @ts-check import { defineConfig } from "astro/config"; import react from "@astrojs/react"; import node from "@astrojs/node"; import tailwindcss from "@tailwindcss/vite"; /** * Astro 6 — landing publique + blog rubis.pro. * * Stratégie de rendu (cf. /docs/tech/architecture.md §3) : * - `output: "server"` → SSR par défaut, on opt-out par page avec * `export const prerender = true;` pour les pages statiques. * - Landing + pages légales : `prerender = true` (HTML figé au build, ultra-rapide). * - Blog (/blog, /blog/:slug) : SSR pur, fetch Adonis API à la requête, cache * HTTP côté Traefik / nginx pour absorber les pics — publish admin = immédiat. * * Adapter Node standalone : produit un serveur autonome dans `dist/server/`, * démarré par `node ./dist/server/entry.mjs` dans le container K3s. */ export default defineConfig({ site: "https://rubis.pro", output: "server", adapter: node({ mode: "standalone", }), integrations: [ react(), ], vite: { plugins: [tailwindcss()], }, server: { host: "0.0.0.0", port: 5174, }, });