educt-client/vite.config.ts

39 lines
996 B
TypeScript

import { defineConfig } from 'vite';
import path from 'path';
import react from '@vitejs/plugin-react';
import { visualizer } from 'rollup-plugin-visualizer';
import { dependencies } from './package.json';
function renderChunks(deps: Record<string, string>) {
let chunks = {};
Object.keys(deps).forEach(key => {
if (['@chakra-ui/react', '@chakra-ui/icons', 'framer-motion'].includes(key)) chunks[key] = [key];
return;
});
return chunks;
}
// https://vitejs.dev/config/
export default defineConfig({
root: './',
publicDir: 'public',
plugins: [react()],
resolve: {
alias: [{ find: '@educt', replacement: path.resolve(__dirname, 'src') }],
},
build: {
rollupOptions: {
output: {
entryFileNames: 'assets/[name]-[hash].js',
chunkFileNames: 'assets/[name].[hash].js',
manualChunks: {
...renderChunks(dependencies),
},
},
plugins: [visualizer()],
},
outDir: 'dist',
sourcemap: false,
},
});