Files
jackboxpartypack-gamepicker/frontend/vite.config.js
2025-10-30 19:27:23 -04:00

56 lines
1.7 KiB
JavaScript

import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import { branding } from './src/config/branding.js';
export default defineConfig({
plugins: [
react(),
{
name: 'html-transform',
transformIndexHtml(html) {
return html
.replace(/<title>.*?<\/title>/, `<title>${branding.app.name}</title>`)
.replace(
/<meta name="description" content=".*?"\/>/,
`<meta name="description" content="${branding.app.description}"/>`
)
.replace(
/<meta name="keywords" content=".*?"\/>/,
`<meta name="keywords" content="${branding.meta.keywords}"/>`
)
.replace(
/<meta name="author" content=".*?"\/>/,
`<meta name="author" content="${branding.meta.author}"/>`
)
.replace(
/<meta name="theme-color" content=".*?"\/>/,
`<meta name="theme-color" content="${branding.meta.themeColor}"/>`
)
.replace(
/<meta name="apple-mobile-web-app-title" content=".*?"\/>/,
`<meta name="apple-mobile-web-app-title" content="${branding.app.shortName}"/>`
)
.replace(
/<meta property="og:title" content=".*?"\/>/,
`<meta property="og:title" content="${branding.app.name}"/>`
)
.replace(
/<meta property="og:description" content=".*?"\/>/,
`<meta property="og:description" content="${branding.app.description}"/>`
);
},
},
],
server: {
host: '0.0.0.0',
port: 3000,
proxy: {
'/api': {
target: 'http://backend:5000',
changeOrigin: true,
},
},
},
});