Files
ant-black 70132417ad publish: 1.2.0 snapshot (f3d7ec5)
channel: master

version: 1.2.0

source-ref: D:\code\open_source\ant-chrome master

source-commit: f3d7ec5

merged-public-base: 3d264eb
2026-05-05 18:08:10 +08:00

60 lines
1.4 KiB
TypeScript

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react-swc'
const defaultDevPort = 5218
function resolveBoolean(rawValue: string | undefined, fallbackValue: boolean) {
const raw = String(rawValue ?? '').trim().toLowerCase()
if (!raw) {
return fallbackValue
}
if (raw === '1' || raw === 'true' || raw === 'yes' || raw === 'on') {
return true
}
if (raw === '0' || raw === 'false' || raw === 'no' || raw === 'off') {
return false
}
return fallbackValue
}
function resolveDevPort() {
const raw = Number.parseInt(process.env.FRONTEND_PORT || '', 10)
if (Number.isInteger(raw) && raw > 0 && raw <= 65535) {
return raw
}
return defaultDevPort
}
const devPort = resolveDevPort()
const disableHmr = resolveBoolean(process.env.FRONTEND_DISABLE_HMR, false)
const cleanDist = resolveBoolean(process.env.FRONTEND_CLEAN_DIST, false)
export default defineConfig({
plugins: [react()],
server: {
port: devPort,
strictPort: true,
host: '127.0.0.1',
cors: true,
hmr: disableHmr
? false
: {
host: '127.0.0.1',
protocol: 'ws',
},
},
build: {
outDir: 'dist',
assetsDir: 'assets',
emptyOutDir: cleanDist,
rollupOptions: {
output: {
manualChunks: {
'react-vendor': ['react', 'react-dom', 'react-router-dom'],
},
},
},
},
})