| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- import tailwindcss from '@tailwindcss/vite'
- import svgLoader from 'vite-svg-loader'
- // https://nuxt.com/docs/api/configuration/nuxt-config
- export default defineNuxtConfig({
- modules: [
- '@nuxt/eslint',
- '@vant/nuxt',
- '@pinia/nuxt',
- '@nuxt/fonts',
- '@nuxt/image',
- '@nuxtjs/i18n',
- '@vueuse/nuxt',
- '@sentry/nuxt/module',
- ],
- devtools: { enabled: true },
- css: ['~/assets/css/main.css'],
- runtimeConfig: {
- public: {
- env: process.env.NUXT_PUBLIC_ENV,
- apiBase: process.env.NUXT_PUBLIC_API_BASE,
- apiIdentity: process.env.NUXT_PUBLIC_API_IDENTITY,
- googleClientId: process.env.NUXT_PUBLIC_GOOGLE_CLIENT_ID,
- imAppId: process.env.NUXT_PUBLIC_IM_APPID,
- },
- serverApiBase: process.env.NUXT_SERVER_API_BASE,
- },
- sourcemap: {
- client: 'hidden',
- },
- compatibilityDate: '2025-07-15',
- nitro: {
- routeRules: {
- '/.well-known/apple-app-site-association': {
- headers: {
- 'Content-Type': 'application/json',
- 'Cache-Control': 'no-cache',
- },
- },
- '/.well-known/assetlinks.json': {
- headers: {
- 'Content-Type': 'application/json',
- 'Cache-Control': 'no-cache',
- },
- },
- },
- },
- vite: {
- plugins: [
- tailwindcss(),
- svgLoader({
- svgoConfig: {
- multipass: true,
- plugins: [
- {
- name: 'preset-default',
- params: {
- overrides: {
- removeViewBox: false,
- },
- },
- },
- ],
- },
- }),
- ],
- css: {
- preprocessorOptions: {
- scss: {
- additionalData: `
- @use "~/assets/css/mixins.scss" as *;
- `,
- },
- },
- },
- },
- debug: false,
- eslint: {
- config: {
- stylistic: true,
- },
- },
- fonts: {
- defaults: {
- weights: ['400 600'],
- },
- },
- i18n: {
- defaultLocale: 'en',
- strategy: 'no_prefix',
- langDir: 'locales',
- locales: [
- { code: 'en', name: 'English', file: 'en.json' },
- { code: 'id', name: 'Bahasa Indonesia', file: 'id.json' },
- { code: 'zh', name: '简体中文', file: 'zh.json' },
- ],
- // Ensure locale can be determined during SSR:
- // - 1st priority: cookie (user preference)
- // - fallback: Accept-Language header
- detectBrowserLanguage: {
- useCookie: true,
- cookieKey: 'GAMI-cookie_app_locale',
- fallbackLocale: 'en',
- },
- },
- sentry: {
- enabled: process.env.NUXT_PUBLIC_ENV === 'production',
- org: 'gamivip',
- project: 'javascript-nuxt',
- autoInjectServerSentry: 'top-level-import',
- },
- })
|