42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
import { defineConfig } from 'vite';
|
|
import react from '@vitejs/plugin-react';
|
|
import path from 'path';
|
|
|
|
export default defineConfig({
|
|
plugins: [react()],
|
|
define: {
|
|
__BUILD_TIME__: JSON.stringify(new Date().toISOString()),
|
|
},
|
|
build: {
|
|
rollupOptions: {
|
|
output: {
|
|
// 큰 라이브러리를 별도 청크로 분리 (변수 충돌 방지 + 로딩 최적화)
|
|
// Vite 8(rolldown)은 manualChunks를 함수 형식으로만 허용
|
|
manualChunks(id) {
|
|
if (id.includes('node_modules/react-dom') || id.includes('node_modules/react/')) {
|
|
return 'vendor-react';
|
|
}
|
|
if (id.includes('node_modules/video.js')) return 'vendor-videojs';
|
|
if (id.includes('node_modules/hls.js')) return 'vendor-hls';
|
|
},
|
|
},
|
|
},
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
'@abcvideo/shared': path.resolve(__dirname, '../shared/src/index.ts'),
|
|
},
|
|
},
|
|
server: {
|
|
port: 5173,
|
|
host: '0.0.0.0',
|
|
allowedHosts: true,
|
|
proxy: {
|
|
'/api': {
|
|
target: 'http://localhost:3030',
|
|
changeOrigin: true,
|
|
},
|
|
},
|
|
},
|
|
});
|