release: bump version to 0.57.0
This commit is contained in:
113
frontend/vite.config.mts
Normal file
113
frontend/vite.config.mts
Normal file
@@ -0,0 +1,113 @@
|
||||
import { defineConfig } from 'vite'
|
||||
import react from '@vitejs/plugin-react'
|
||||
import path from 'path'
|
||||
import fs from 'fs'
|
||||
import { fileURLToPath } from 'url'
|
||||
|
||||
const backendPort = process.env.PLANET_BACKEND_PORT || '8000'
|
||||
const backendHttpTarget = `http://localhost:${backendPort}`
|
||||
const backendWsTarget = `ws://localhost:${backendPort}`
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url))
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [
|
||||
react(),
|
||||
{
|
||||
name: 'legacy-earth',
|
||||
configureServer(server) {
|
||||
server.middlewares.use('/legacy/earth', (req, res, next) => {
|
||||
let url = req.url || '/'
|
||||
|
||||
if (url === '' || url === '/') {
|
||||
url = '/3dearthmult.html'
|
||||
}
|
||||
|
||||
const filePath = path.resolve(__dirname, 'legacy/3dearthmult' + url)
|
||||
|
||||
if (fs.existsSync(filePath) && fs.statSync(filePath).isFile()) {
|
||||
const ext = path.extname(filePath).toLowerCase()
|
||||
const contentTypes = {
|
||||
'.html': 'text/html',
|
||||
'.json': 'application/json',
|
||||
'.jpg': 'image/jpeg',
|
||||
'.jpeg': 'image/jpeg',
|
||||
'.png': 'image/png',
|
||||
'.js': 'application/javascript',
|
||||
'.css': 'text/css'
|
||||
}
|
||||
res.setHeader('Content-Type', contentTypes[ext] || 'text/plain')
|
||||
fs.createReadStream(filePath).pipe(res)
|
||||
} else {
|
||||
next()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
],
|
||||
server: {
|
||||
port: 3000,
|
||||
proxy: {
|
||||
'/api': {
|
||||
target: backendHttpTarget,
|
||||
changeOrigin: true,
|
||||
secure: false,
|
||||
},
|
||||
'/ws': {
|
||||
target: backendWsTarget,
|
||||
ws: true,
|
||||
changeOrigin: true,
|
||||
secure: false,
|
||||
},
|
||||
'/health': {
|
||||
target: backendHttpTarget,
|
||||
changeOrigin: true,
|
||||
secure: false,
|
||||
},
|
||||
},
|
||||
fs: {
|
||||
allow: ['..'],
|
||||
},
|
||||
},
|
||||
publicDir: 'public',
|
||||
resolve: {
|
||||
alias: {
|
||||
'@': path.resolve(__dirname, './src'),
|
||||
},
|
||||
},
|
||||
optimizeDeps: {
|
||||
entries: ['src/main.tsx'],
|
||||
exclude: ['satellite.js'],
|
||||
},
|
||||
build: {
|
||||
rollupOptions: {
|
||||
output: {
|
||||
manualChunks(id) {
|
||||
if (!id.includes('node_modules')) {
|
||||
return
|
||||
}
|
||||
|
||||
if (id.includes('/@ant-design/icons/')) {
|
||||
return 'icons-vendor'
|
||||
}
|
||||
|
||||
if (
|
||||
id.includes('/react/') ||
|
||||
id.includes('/react-dom/') ||
|
||||
id.includes('/react-router-dom/') ||
|
||||
id.includes('/scheduler/')
|
||||
) {
|
||||
return 'react-vendor'
|
||||
}
|
||||
|
||||
if (id.includes('/axios/')) {
|
||||
return 'network-vendor'
|
||||
}
|
||||
|
||||
if (id.includes('/three/') || id.includes('/simplex-noise/') || id.includes('/satellite.js/')) {
|
||||
return 'earth-vendor'
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user