forked from izu/student-web-if-development-kit
42 lines
1.1 KiB
TypeScript
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]';
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}));
|