import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' import { cp, mkdir } from 'node:fs/promises' import { resolve } from 'node:path' function includeCaseTimeline() { return { name: 'include-case-timeline', apply: 'build', async closeBundle() { const projectRoot = process.cwd() const workspaceRoot = resolve(projectRoot, '..') const caseTarget = resolve(projectRoot, 'dist/slow-alpha/saigon-leverage') const brandTarget = resolve(projectRoot, 'dist/slow-alpha/brand') await mkdir(caseTarget, { recursive: true }) await mkdir(brandTarget, { recursive: true }) await cp(resolve(workspaceRoot, 'case-timeline'), caseTarget, { recursive: true }) for (const logo of [ 'logo-chinese.svg', 'logo-chinese-light.svg', 'logo-mark.svg', 'logo-mark-light.svg', 'logo-chinese-slogan.svg', 'logo-chinese-slogan-light.svg', 'logo-chinese-slogan-dark.svg', 'logo-chinese-slogan-light-bg.svg', ]) { await cp(resolve(workspaceRoot, 'brand', logo), resolve(brandTarget, logo)) } }, } } // https://vite.dev/config/ export default defineConfig({ plugins: [react(), includeCaseTimeline()], })