import path from 'node:path' import { defineConfig, type UserConfigExport } from '@tarojs/cli' import devConfig from './dev' import prodConfig from './prod' const appEnv = process.env.NODE_ENV || 'development' const apiBaseUrl = process.env.TARO_APP_API_BASE_URL || 'https://api-mini-dev.laosankeji.com/api/mini/v1' const useMock = String(process.env.TARO_APP_USE_MOCK || 'true') === 'true' const requestTimeout = Number(process.env.TARO_APP_REQUEST_TIMEOUT || 10000) const tenantCode = process.env.TARO_APP_TENANT_CODE || 't1770086772899' export default defineConfig<'vite'>(async (merge) => { const baseConfig: UserConfigExport<'vite'> = { projectName: 'TakeoutSaaS.C-Side-Mini-Program-V1', date: '2026-3-9', designWidth: 375, deviceRatio: { 640: 2.34 / 2, 750: 1, 375: 2, 828: 1.81 / 2 }, sourceRoot: 'src', outputRoot: 'dist', alias: { '@': path.resolve(__dirname, '..', 'src') }, plugins: ['@tarojs/plugin-html'], defineConstants: { __APP_ENV__: JSON.stringify(appEnv), __API_BASE_URL__: JSON.stringify(apiBaseUrl), __USE_MOCK__: JSON.stringify(useMock), __REQUEST_TIMEOUT__: JSON.stringify(requestTimeout), __TENANT_CODE__: JSON.stringify(tenantCode) }, copy: { patterns: [], options: {} }, framework: 'vue3', compiler: 'vite', mini: { postcss: { pxtransform: { enable: true, config: {} }, cssModules: { enable: false, config: { namingPattern: 'module', generateScopedName: '[name]__[local]___[hash:base64:5]' } } } } } if (process.env.NODE_ENV === 'development') { return merge({}, baseConfig, devConfig) } return merge({}, baseConfig, prodConfig) })