forked from Nearcyan/vibecraft
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvite.config.ts
More file actions
36 lines (34 loc) · 915 Bytes
/
vite.config.ts
File metadata and controls
36 lines (34 loc) · 915 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import { defineConfig } from 'vite'
import { resolve } from 'path'
import { DEFAULTS } from './shared/defaults'
const clientPort = parseInt(process.env.VIBECRAFT_CLIENT_PORT ?? String(DEFAULTS.CLIENT_PORT), 10)
const serverPort = parseInt(process.env.VIBECRAFT_PORT ?? String(DEFAULTS.SERVER_PORT), 10)
export default defineConfig({
resolve: {
alias: {
'@': resolve(__dirname, 'src'),
'@shared': resolve(__dirname, 'shared'),
},
},
define: {
// Inject default port into frontend at build time
__VIBECRAFT_DEFAULT_PORT__: serverPort,
},
server: {
port: clientPort,
proxy: {
'/ws': {
target: `ws://localhost:${serverPort}`,
ws: true,
},
'/api': {
target: `http://localhost:${serverPort}`,
rewrite: (path) => path.replace(/^\/api/, ''),
},
},
},
build: {
target: 'esnext',
sourcemap: true,
},
})