import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' import path from 'path' import { execSync } from 'child_process' /** Short git SHA + build date, injected as __EDITOR_BUILD__ so an issue * report identifies exactly which bundle produced it. package.json's * version is hand-maintained and never changes between builds. */ const editorBuild = (() => { let sha = 'nogit' try { sha = execSync('git rev-parse --short HEAD', { cwd: __dirname }).toString().trim() } catch { // Building outside a git checkout (release tarball) -- keep 'nogit'. } return `${sha}-${new Date().toISOString().slice(0, 10)}` })() export default defineConfig({ plugins: [react()], base: './', resolve: { alias: { '@': path.resolve(__dirname, './src'), }, }, define: { __EDITOR_BUILD__: JSON.stringify(editorBuild), }, build: { outDir: 'dist', rollupOptions: { output: { entryFileNames: 'js/editor.js', chunkFileNames: 'js/[name].js', assetFileNames: (info) => info.name?.endsWith('.css') ? 'css/editor.css' : 'assets/[name][extname]', }, }, }, server: { port: 5173, proxy: { '/api': 'http://192.168.1.148:8080', }, }, })