43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
|
|
import tailwindcss from '@tailwindcss/vite'
|
||
|
|
|
||
|
|
export default defineNuxtConfig({
|
||
|
|
compatibilityDate: '2025-07-15',
|
||
|
|
devtools: { enabled: true },
|
||
|
|
css: ['~/assets/css/main.css'],
|
||
|
|
typescript: { strict: true },
|
||
|
|
|
||
|
|
vite: {
|
||
|
|
plugins: [tailwindcss()],
|
||
|
|
optimizeDeps: {
|
||
|
|
// MapLibre rend les tuiles dans un Web Worker que l'optimiseur de Vite
|
||
|
|
// ne sait pas produire : sans cette exclusion, la carte reste vide en dev.
|
||
|
|
exclude: ['maplibre-gl'],
|
||
|
|
},
|
||
|
|
worker: {
|
||
|
|
// Le worker doit etre un module ES pour survivre au build de production.
|
||
|
|
// Sans cela le style se charge mais aucune tuile n'est jamais decodee.
|
||
|
|
format: 'es',
|
||
|
|
},
|
||
|
|
},
|
||
|
|
|
||
|
|
app: {
|
||
|
|
head: {
|
||
|
|
htmlAttrs: { lang: 'fr' },
|
||
|
|
title: 'Le Chemin Vert — comparateur d\'itinéraires bas carbone',
|
||
|
|
link: [{ rel: 'icon', type: 'image/png', href: '/favicon.png' }],
|
||
|
|
meta: [
|
||
|
|
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
|
||
|
|
{
|
||
|
|
name: 'description',
|
||
|
|
content: 'Comparez la durée, le coût et les émissions de CO₂ de votre trajet en voiture électrique, bus, train et vélo.',
|
||
|
|
},
|
||
|
|
],
|
||
|
|
},
|
||
|
|
},
|
||
|
|
|
||
|
|
// Les clefs declarees hors de `public` restent cote serveur.
|
||
|
|
// Nuxt remplit orsApiKey depuis la variable NUXT_ORS_API_KEY.
|
||
|
|
runtimeConfig: {
|
||
|
|
orsApiKey: '',
|
||
|
|
},
|
||
|
|
})
|