VirtualPR/frontend/vite.config.js

50 lines
1.2 KiB
JavaScript

import { readFileSync } from 'node:fs';
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import { resolve } from 'node:path';
const legalPages = {
'/privacy': resolve(__dirname, 'public/privacy/index.html'),
'/terms': resolve(__dirname, 'public/terms/index.html'),
};
function serveLegalPages() {
return {
name: 'serve-legal-pages',
configureServer(server) {
server.middlewares.use((req, res, next) => {
const path = req.url?.split('?')[0];
const file = legalPages[path];
if (!file) return next();
res.statusCode = 200;
res.setHeader('Content-Type', 'text/html; charset=utf-8');
res.end(readFileSync(file));
});
},
};
}
// https://vite.dev/config/
export default defineConfig({
plugins: [serveLegalPages(), react()],
resolve: {
alias: {
"@": resolve(__dirname, "src")
}
},
server: {
port: 5176,
strictPort: true,
watch: {
usePolling: true,
interval: 1000,
},
proxy: {
'/api': {
target: 'http://127.0.0.1:4000',
changeOrigin: true,
cookieDomainRewrite: 'localhost',
},
},
},
});