import { fileURLToPath, URL } from 'node:url' import { defineConfig, loadEnv } from 'vite' import vue from '@vitejs/plugin-vue' import { fmmfVitePresent } from "@feedmepos/mf-common/vite-preset"; // https://vitejs.dev/config/ export default defineConfig((env) => { process.env = { ...process.env, ...loadEnv(env.mode, process.cwd(), "") } const config = { plugins: [vue()], resolve: { preserveSymlinks: true, alias: { '@': fileURLToPath(new URL('./src', import.meta.url)), '@entity': fileURLToPath(new URL('./../../package/entity', import.meta.url)), '@common': fileURLToPath(new URL('./../../common', import.meta.url)) } }, define: { devInfo: JSON.stringify({ }), appApi: JSON.stringify({ googleMap: process.env.VITE_GOOGLE_MAP_API_KEY, firebase: { apiKey: process.env.FIREBASE_API_KEY, authDomain: process.env.FIREBASE_AUTH_DOMAIN, databaseURL: process.env.FIREBASE_DATABASE_URL, projectId: process.env.FIREBASE_PROJECT_ID, storageBucket: process.env.FIREBASE_STORAGE_BUCKET, messagingSenderId: process.env.FIREBASE_MESSAGING_SENDER_ID, appId: process.env.FIREBASE_APP_ID, measurementId: process.env.FIREBASE_MEASUREMENT_ID, }, assetBucketUrl: process.env.ASSET_STORAGE_BUCKET, feedMeClientId: process.env.FEEDME_CLIENT_ID, imageBucketUrl: process.env.IMAGE_STORAGE_BUCKET, gtm: { id: process.env.GTM_ID, serverUrl: process.env.GTM_SERVER_URL, env: process.env.GTM_ENV, serverMeasurementId: process.env.GTM_SERVER_MEASUREMENT_ID, debug: process.env.GTM_DEBUG === 'true', }, r2: process.env.R2_ENDPOINT ? { endPoint: process.env.R2_ENDPOINT, bucketName: process.env.R2_BUCKET_NAME, accessKeyId: process.env.R2_ACCESS_KEY || '', secretAccessKey: process.env.R2_ACCESS_SECRET || '', } : null, }), appEndpoint: JSON.stringify({ customerV3App: process.env.CUSTOMER_V3_APP_URL, }), 'process.env': JSON.stringify(process.env), }, } // return config return fmmfVitePresent(config, env) })