export default defineNuxtConfig({ srcDir: 'app/', devtools: { enabled: true }, modules: [ '@nuxtjs/tailwindcss', '@vite-pwa/nuxt', '@vueuse/nuxt' ], css: ['~/assets/css/main.css'], tailwindcss: { cssPath: '~/assets/css/main.css' }, pwa: { registerType: 'autoUpdate', workbox: { globPatterns: ['**/*.{js,css,html,png,svg,ico}'], }, client: { installPrompt: true, }, manifest: { name: 'XFlow', short_name: 'XFlow', description: 'XFlow Obsidian Canvas PWA', theme_color: '#0f172a', background_color: '#0f172a', display: 'standalone', orientation: 'portrait', scope: '/', start_url: '/', icons: [ { src: 'pwa-192x192.svg', sizes: '192x192', type: 'image/svg+xml' }, { src: 'pwa-512x512.svg', sizes: '512x512', type: 'image/svg+xml', purpose: 'any' }, { src: 'maskable-icon-512x512.svg', sizes: '512x512', type: 'image/svg+xml', purpose: 'maskable' } ] }, devOptions: { enabled: false } }, nitro: { experimental: { wasm: true }, externals: { external: ['@prisma/client', '@prisma/adapter-pg', 'pg'] } }, runtimeConfig: { jwtSecret: process.env.NUXT_JWT_SECRET || 'your-super-secret-jwt-key', firebaseApiKey: process.env.NUXT_FIREBASE_API_KEY || process.env.FIREBASE_API_KEY || '', giteaUrl: process.env.GITEA_URL || '', giteaToken: process.env.GITEA_TOKEN || '', giteaOrg: process.env.GITEA_ORG || '', giteaMindmapRepo: process.env.GITEA_MINDMAP_REPO || '', giteaProjectRepo: process.env.GITEA_PROJECT_REPO || '', public: { apiBase: process.env.NUXT_PUBLIC_API_BASE || '/api', firebaseApiKey: process.env.NUXT_PUBLIC_FIREBASE_API_KEY || process.env.FIREBASE_API_KEY || '', firebaseAuthDomain: process.env.NUXT_PUBLIC_FIREBASE_AUTH_DOMAIN || process.env.FIREBASE_AUTH_DOMAIN || '', firebaseProjectId: process.env.NUXT_PUBLIC_FIREBASE_PROJECT_ID || process.env.FIREBASE_PROJECT_ID || '', firebaseAppId: process.env.NUXT_PUBLIC_FIREBASE_APP_ID || process.env.FIREBASE_APP_ID || '', firebaseMessagingSenderId: process.env.NUXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID || process.env.FIREBASE_MESSAGING_SENDER_ID || '' } }, compatibilityDate: '2025-04-23' })