BugReport/webapp/vite.config.js
igor e870a62b89 pridani visualiser pre chunks,
oddeleny FontAwesome do samostatnych chunks,
optimalizovane pre mobil
2025-05-13 22:57:48 +02:00

52 lines
1.3 KiB
JavaScript

import { defineConfig } from "vite";
import { visualizer } from "rollup-plugin-visualizer";
import vue from "@vitejs/plugin-vue";
// import pkg from "./package.json";
import { createRequire } from "node:module";
const require = createRequire(import.meta.url);
const pkg = require("./package.json");
const subpath = "/bugreport/";
export const baseUrl = subpath + "webapp/dist/";
// https://vite.dev/config/
export default defineConfig(({ command, mode }) => {
const isBuild = command === "build";
const isDev = command === "serve";
return {
base: isBuild ? baseUrl : "/",
plugins: [vue()],
define: {
__APP_VERSION__: JSON.stringify(pkg.version),
__BUILD_DATE__: JSON.stringify(new Date().toISOString()),
__SUBPATH__: JSON.stringify(isBuild ? subpath : "/"),
__IS_BUILD__: JSON.stringify(isBuild),
__IS_DEV__: JSON.stringify(isDev),
},
build: {
outDir: "dist",
chunkSizeWarningLimit: 1000, // zvýšenie limitu na 1000 kB
rollupOptions: {
plugins: [
visualizer({
open: false, // otvorí report v prehliadači po builde
filename: "stats.html",
gzipSize: true,
brotliSize: true,
}),
],
output: {
manualChunks: {
fontawesome: [
"@fortawesome/free-solid-svg-icons",
"@fortawesome/fontawesome-svg-core",
],
},
},
},
},
};
});