import { fileURLToPath } from 'node:url'; import { defineNuxtConfig } from 'nuxt/config'; export default defineNuxtConfig({ modules: ['@nuxt/eslint', '@nuxt/icon', '@nuxtjs/i18n'], imports: { dirs: ['composables/**'] }, eslint: { config: { // Use the generated ESLint config for lint root project as well rootDir: fileURLToPath(new URL('..', import.meta.url)) } }, components: { dirs: [ { path: './components', pathPrefix: true } ] }, icon: { customCollections: [ { prefix: 'custom', dir: fileURLToPath(new URL('./assets/icons/common', import.meta.url)) }, { prefix: 'categories', dir: fileURLToPath(new URL('./assets/icons/categories', import.meta.url)) }, { prefix: 'models', dir: fileURLToPath(new URL('./assets/icons/models', import.meta.url)) }, ], provider: 'none', clientBundle: { scan: true, }, }, // Пустые контейнеры-заглушки: код слоя (adv/sentry/fetch) читает эти ключи, поэтому // они должны существовать и в standalone-окружении слоя (иначе `undefined.X` крашит CI // и свежие форки). Значения живут в проекте — его runtimeConfig deep-merge'ится поверх. runtimeConfig: { public: { featureFlags: {}, adsConfig: {}, webcamsConfig: {}, locales: { codes: [], default: 'en' } } }, });