Ctrl K
ComunidadGuías…

nuxt.config.ts

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
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-*/**',
        ],
      },
    },
  },
})