import { defineNuxtConfig } from 'nuxt/config' import vuetify, { transformAssetUrls } from 'vite-plugin-vuetify' export default defineNuxtConfig({ build: { transpile: ['vuetify', 'date-fns'], }, devServer: { port: 3001, }, devtools: { enabled: true }, i18n: { detectBrowserLanguage: { useCookie: true, cookieKey: 'nuxt_i18n_redirected', redirectOn: 'root', // recommended alwaysRedirect: true, fallbackLocale: 'sv', }, langDir: 'translations', lazy: true, locales: [ { code: 'sv', name: 'Svenska', file: 'sv.ts' }, { code: 'en', name: 'English', file: 'en.ts' }, ], defaultLocale: 'sv', vueI18n: './i18n.config.ts', // if you are using custom path, default }, modules: [ (_options, nuxt) => { nuxt.hooks.hook('vite:extendConfig', (config) => { // @ts-expect-error config.plugins.push( vuetify({ autoImport: true, // styles: { configFile: "assets/settings.scss" }, }), ) }) }, '@nuxt/eslint', '@pinia/nuxt', 'pinia-plugin-persistedstate/nuxt', '@nuxtjs/i18n', '@nuxt/devtools', ], piniaPersistedstate: { cookieOptions: { sameSite: 'strict', }, storage: 'localStorage', }, ssr: false, vite: { css: { preprocessorOptions: { scss: { api: 'modern', }, }, }, optimizeDeps: { include: [ '@vue/devtools-core', '@vue/devtools-kit', '@auth0/auth0-vue', '@apollo/client/core', '@apollo/client/link/context', '@apollo/client/link/ws', '@apollo/client/utilities', '@opentelemetry/api', '@vue/apollo-composable', '@grafana/faro-web-sdk', '@grafana/faro-web-tracing', '@opentelemetry/instrumentation-fetch', ], }, resolve: { dedupe: ['pinia'], }, vue: { template: { transformAssetUrls, }, }, }, compatibilityDate: '2024-11-03', })