import platformNuxtModule from '@eve-space/platform-module-nuxt' import { fileURLToPath } from 'node:url' import { installedNuxtModules } from './generated/platform/installed-nuxt-modules' import { installedNuxtContributions } from './generated/platform/installed-nuxt-contributions' const queryPersistenceFixtureEnabled = process.env.EVE_SPACE_E2E_PERSISTENCE_FIXTURE === '1' // https://nuxt.com/docs/api/configuration/nuxt-config export default defineNuxtConfig({ app: { head: { htmlAttrs: { lang: 'en' }, link: [ { rel: 'icon', type: 'image/svg+xml', href: '/favicon.svg' }, { rel: 'icon', type: 'image/png', sizes: '32x32', href: '/favicon-32x32.png' }, { rel: 'apple-touch-icon', sizes: '180x180', href: '/apple-touch-icon.png' }, ], meta: [ { name: 'theme-color', content: '#060b0f' }, { name: 'application-name', content: 'EVE Space' }, { name: 'apple-mobile-web-app-title', content: 'EVE Space' }, ], title: 'EVE Space // Capsuleer Operations', }, viewTransition: false, }, buildDir: queryPersistenceFixtureEnabled ? '.nuxt-e2e' : undefined, compatibilityDate: '2025-07-15', css: [ '~/assets/css/foundation.css', '~/assets/css/shell/public.css', '~/assets/css/shell/brand.css', '~/assets/css/shared/public-content.css', '~/assets/css/shared/async-state.css', '~/assets/css/shared/search-status.css', '~/assets/css/pages/dashboard-overview.css', '~/assets/css/responsive.css', '~/assets/css/responsive/reduced-motion.css', ], devtools: { enabled: true, timeline: { enabled: true, }, }, experimental: { viewTransition: true, }, hooks: queryPersistenceFixtureEnabled ? { 'pages:extend'(pages) { pages.push({ name: 'e2e-query-persistence', path: '/__e2e/query-persistence', file: fileURLToPath( new URL('./tests/e2e/fixtures/QueryPersistencePage.vue', import.meta.url), ), }) }, } : {}, modules: [ [platformNuxtModule, { contributions: installedNuxtContributions }], ...installedNuxtModules, ], nitro: { compressPublicAssets: { brotli: true, gzip: true, }, output: queryPersistenceFixtureEnabled ? { dir: '.output-e2e' } : undefined, }, runtimeConfig: { public: { apiBase: process.env.NUXT_PUBLIC_API_BASE || 'http://localhost:8788', eveImageBase: process.env.NUXT_PUBLIC_EVE_IMAGE_BASE || 'https://images.evetech.net', }, }, typescript: { typeCheck: queryPersistenceFixtureEnabled ? false : 'build', }, vite: { build: { rolldownOptions: { output: { codeSplitting: { groups: [ { name: 'reka-ui', test: /node_modules[\\/]reka-ui/, entriesAware: true, entriesAwareMergeThreshold: 4096, }, ], }, }, }, }, server: { watch: { ignored: [ '**/.nuxt-e2e/**', '**/.nuxt-test/**', '**/.output-e2e/**', '**/.quality-logs/**', '**/.scannerwork/**', '**/coverage/**', '**/coverage-*/**', ], }, }, }, })