Files
Dungeons-Ground/apps/web/nuxt.config.ts
pavel444-byte 8ce9314887
Some checks failed
CI / validate (push) Failing after 8m18s
CI / validate (pull_request) Successful in 29m51s
fix(web): serve Nitro assets reliably
Co-authored-by: multica-agent <github@multica.ai>
2026-08-20 13:38:32 +05:00

48 lines
2.3 KiB
TypeScript

export default defineNuxtConfig({
compatibilityDate: '2025-07-15',
devtools: { enabled: false },
css: ['~/assets/css/main.css'],
modules: [],
nitro: {
// Nitro 2.10 resolves file-backed assets relative to its split runtime
// chunk, which makes every /_nuxt request fail outside the Docker-only
// symlink workaround. Embedding them keeps every production launcher
// (preview, Docker, and managed hosts) on the same reliable code path.
serveStatic: 'inline',
},
runtimeConfig: {
aiProvider: process.env.AI_PROVIDER ?? 'openrouter',
openrouterApiKey: process.env.OPENROUTER_API_KEY,
openrouterModel: process.env.OPENROUTER_MODEL ?? 'deepseek/deepseek-v4-flash',
openrouterApiEndpoint: process.env.OPENROUTER_API_ENDPOINT ?? 'https://openrouter.ai/api/v1/chat/completions',
deepseekApiKey: process.env.DEEPSEEK_API_KEY,
deepseekModel: process.env.DEEPSEEK_MODEL ?? 'deepseek-v4-flash',
deepseekApiEndpoint: process.env.DEEPSEEK_API_ENDPOINT ?? 'https://api.deepseek.com/chat/completions',
redisUrl: process.env.REDIS_URL,
supabaseUrl: process.env.SUPABASE_URL,
supabaseServiceRoleKey: process.env.SUPABASE_SERVICE_ROLE_KEY,
public: {
supabaseUrl: process.env.NUXT_PUBLIC_SUPABASE_URL,
supabaseAnonKey: process.env.NUXT_PUBLIC_SUPABASE_ANON_KEY,
appUrl: process.env.NUXT_PUBLIC_APP_URL ?? 'http://localhost:3000',
},
},
// Run `nuxt typecheck` separately. Keeping build-time checking off also avoids
// shell quoting issues when the repository path contains an ampersand.
typescript: { strict: true, typeCheck: false },
app: {
head: {
title: 'Dungeons & Ground — Stories that wait for no one',
meta: [
{ name: 'description', content: 'Create a private universe, gather your party, and let an AI Game Master keep the adventure moving.' },
{ name: 'theme-color', content: '#0a0a0a' },
],
link: [
{ rel: 'preconnect', href: 'https://fonts.googleapis.com' },
{ rel: 'preconnect', href: 'https://fonts.gstatic.com', crossorigin: '' },
{ rel: 'stylesheet', href: 'https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Unbounded:wght@500;600;700&display=swap' },
],
},
},
})