Files
student-web-if-development-kit/groups/ACAAB/vite.config.ts

42 lines
1.1 KiB
TypeScript

import tailwindcss from '@tailwindcss/vite';
import react from '@vitejs/plugin-react';
import path from 'path';
import { defineConfig } from 'vite';
export default defineConfig(({ command }) => ({
plugins: [react(), tailwindcss()],
// Relative base so asset URLs resolve correctly from any subdirectory
base: './',
// Dev: root = src/ so HMR works against src/index.html
// Build: root = . so rollup can resolve src/index.html as input
root: command === 'serve' ? './src' : '.',
resolve: {
alias: { '@': path.resolve(__dirname, '.') },
},
server: {
port: 3000,
host: true,
},
build: {
outDir: path.resolve(__dirname, 'assets'),
emptyOutDir: true,
rollupOptions: {
input: path.resolve(__dirname, 'src/index.html'),
output: {
entryFileNames: 'acaab.js',
chunkFileNames: 'acaab-[name].js',
assetFileNames: (assetInfo) => {
const name = assetInfo.names?.[0] ?? '';
if (name.endsWith('.css')) return 'acaab.css';
return 'acaab-[name][extname]';
},
},
},
},
}));