// https://nuxt.com/docs/api/configuration/nuxt-config import { fileURLToPath, URL } from 'node:url' export default defineNuxtConfig({ compatibilityDate: '2025-07-15', devtools: { enabled: false }, typescript: { strict: false, typeCheck: false }, app: { pageTransition: { name: 'page', mode: 'out-in' }, }, // Auto-import des composants du dossier app/ sans prefixe de chemin components: [ { path: '~/components', pathPrefix: false } ], // un chemin avec root pour aller chercher les fichiers qui ne sont pas dans app mais à la racine avec un @ vite: { resolve: { alias: { '@root': fileURLToPath(new URL('./', import.meta.url)) } } }, //une barre fine en haut de la page lors des chargements loadingIndicator: { color: '#dd1e1eff', background: '#fff', height: '20px' }, css: ['@/assets/scss/main.scss'], runtimeConfig: { // Server-side only (jamais exposé au client) strapiToken: process.env.STRAPI_API_TOKEN || '', // 🌍 Public (accessible dans le navigateur) public: { strapiUrl: process.env.NUXT_PUBLIC_STRAPI_URL || 'http://localhost:1337', }, }, //configuration du module @nuxt/image image: { // Domaine de tes images Strapi / OVH domains: [ 'media.orchestre-ile.com' // passe par le reverse proxy plus tard ], quality: 80, format: ['webp', 'avif', 'jpeg', 'jpg', 'png', 'gif' ], screens: { xs: 320, sm: 640, md: 768, lg: 1024, xl: 1280, xxl: 1536, '2xl': 1536 }, presets: { full: { modifiers: { fit: 'cover', } }, avatar: { modifiers: { fit: 'cover', format: 'jpg', width: 50, height: 50 } } }, densities: [1, 2], }, modules: ['@nuxt/image'], })