Files
2026-07-16 12:42:31 +08:00

62 lines
1.6 KiB
JavaScript

import vue from "@vitejs/plugin-vue";
import { defineConfig } from "vite";
import visualizer from "rollup-plugin-visualizer";
import viteCompression from "vite-plugin-compression";
import postCssScss from "postcss-scss";
import postcssRTLCSS from "postcss-rtlcss";
const viteCompressionFilter = /\.(js|mjs|json|css|html|svg)$/i;
// https://vitejs.dev/config/
export default defineConfig({
server: {
port: 3000,
},
define: {
FRONTEND_VERSION: JSON.stringify(process.env.npm_package_version),
"process.env": {},
},
plugins: [
vue(),
visualizer({
filename: "tmp/dist-stats.html",
}),
viteCompression({
algorithm: "gzip",
filter: viteCompressionFilter,
}),
viteCompression({
algorithm: "brotliCompress",
filter: viteCompressionFilter,
}),
],
css: {
postcss: {
parser: postCssScss,
map: false,
plugins: [postcssRTLCSS],
},
preprocessorOptions: {
scss: {
loadPaths: [process.cwd()],
quietDeps: true,
// Most of them are coming from boostrap unfortunately
silenceDeprecations: [
"import",
"global-builtin",
"if-function",
"color-functions",
"abs-percent",
"function-units",
],
},
},
},
build: {
commonjsOptions: {
include: [/.js$/],
},
},
});