vite-template-mantine
Version:
Custom Vite React TypeScript template
39 lines (37 loc) • 1.17 kB
text/typescript
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import tsconfigPaths from "vite-tsconfig-paths";
import { visualizer } from "rollup-plugin-visualizer";
import path from "node:path";
import svgr from "vite-plugin-svgr";
export default defineConfig({
plugins: [
react(),
tsconfigPaths(),
visualizer({ open: true, template: "treemap" }),
svgr(),
].filter(Boolean),
resolve: {
alias: [{ find: "@", replacement: path.resolve(__dirname, "src") }],
},
build: {
rollupOptions: {
treeshake: true,
output: {
manualChunks: {
react: ["react", "react-dom", "react-router-dom"],
mantine: ["@mantine/core", "@mantine/hooks", "@mantine/form"],
redux: ["@reduxjs/toolkit", "react-redux"],
maps: ["react-yandex-maps"],
carousel: ["embla-carousel-react", "embla-carousel-autoplay"],
fontawesome: [
"@fortawesome/fontawesome-svg-core",
"@fortawesome/free-solid-svg-icons",
"@fortawesome/free-brands-svg-icons",
"@fortawesome/react-fontawesome",
],
},
},
},
},
});