import svgLoader from 'vite-svg-loader' import vuetify from 'vite-plugin-vuetify' import { fileURLToPath } from 'node:url' // https://nuxt.com/docs/api/configuration/nuxt-config export default defineNuxtConfig({ app: { head: { titleTemplate: '%s - NuxtJS Admin Template', title: 'Sneat', link: [{ rel: 'icon', type: 'image/x-icon', href: process.env.NUXT_APP_BASE_URL+'/favicon.ico', }], }, }, devtools: { enabled: true, }, css: [ '@core/scss/template/index.scss', '@styles/styles.scss', '@/plugins/iconify/icons.css', '@layouts/styles/index.scss', ], components: { dirs: [{ path: '@/@core/components', pathPrefix: false, }, { path: '~/components/global', global: true, }, { path: '~/components', pathPrefix: false, }], }, plugins: ['@/plugins/vuetify/index.js', '@/plugins/iconify/index.js'], imports: { dirs: ['./@core/utils', './@core/composable/', './plugins/*/composables/*'], }, hooks: {}, experimental: { typedPages: true, }, typescript: { tsConfig: { compilerOptions: { paths: { '@/*': ['../*'], '@layouts/*': ['../@layouts/*'], '@layouts': ['../@layouts'], '@core/*': ['../@core/*'], '@core': ['../@core'], '@images/*': ['../assets/images/*'], '@styles/*': ['../assets/styles/*'], }, }, }, }, // ℹ️ Disable source maps until this is resolved: https://github.com/vuetifyjs/vuetify-loader/issues/290 sourcemap: { server: false, client: false, }, vue: { compilerOptions: { isCustomElement: tag => tag === 'swiper-container' || tag === 'swiper-slide', }, }, vite: { define: { 'process.env': {} }, resolve: { alias: { '@': fileURLToPath(new URL('.', import.meta.url)), '@core': fileURLToPath(new URL('./@core', import.meta.url)), '@layouts': fileURLToPath(new URL('./@layouts', import.meta.url)), '@images': fileURLToPath(new URL('./assets/images/', import.meta.url)), '@styles': fileURLToPath(new URL('./assets/styles/', import.meta.url)), '@configured-variables': fileURLToPath(new URL('./assets/styles/variables/_template.scss', import.meta.url)), }, }, build: { chunkSizeWarningLimit: 5000, }, optimizeDeps: { exclude: ['vuetify'], entries: [ './**/*.vue', ], }, plugins: [ svgLoader(), vuetify({ styles: { configFile: 'assets/styles/variables/_vuetify.scss', }, }), ], }, build: { transpile: ['vuetify'], }, modules: ['@vueuse/nuxt', '@nuxtjs/i18n', '@nuxtjs/device', '@pinia/nuxt'], })