import { readFileSync } from 'node:fs' import { resolve } from 'node:path' import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' const appVersion = JSON.parse(readFileSync(resolve(__dirname, 'mobile-app', 'package.json'), 'utf8')).version const isOEM = process.env.VITE_OEM_VERSION === 'true' export default defineConfig({ root: resolve(__dirname, 'mobile-app'), base: './', define: { __OEM_VERSION__: JSON.stringify(isOEM), __APP_VERSION__: JSON.stringify(appVersion) }, resolve: { alias: { '@renderer': resolve(__dirname, 'src/renderer/src'), '@printer': resolve(__dirname, 'src/renderer/printer'), '@shared': resolve(__dirname, 'src/shared') } }, build: { outDir: resolve(__dirname, 'mobile-app/www'), emptyOutDir: true, rollupOptions: { input: { main: resolve(__dirname, 'mobile-app/index.html'), printer: resolve(__dirname, 'mobile-app/printer.html') }, output: { entryFileNames: 'assets/mobile-capacitor-[hash].js', chunkFileNames: 'assets/[name]-[hash].js', assetFileNames: 'assets/[name]-[hash][extname]', manualChunks: { react: ['react', 'react-dom', 'react-router-dom'], antd: ['antd', '@ant-design/icons', '@ant-design/cssinjs', '@ant-design/pro-components'], charts: ['@antv/g2plot'], motion: ['framer-motion'] } } } }, plugins: [react()] })