summaryrefslogtreecommitdiffstats
path: root/config/vite.config.js
diff options
context:
space:
mode:
Diffstat (limited to 'config/vite.config.js')
-rw-r--r--config/vite.config.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/config/vite.config.js b/config/vite.config.js
new file mode 100644
index 0000000..7f2dfb6
--- /dev/null
+++ b/config/vite.config.js
@@ -0,0 +1,55 @@
+import vue from "@vitejs/plugin-vue";
+import { defineConfig } from "vite";
+import visualizer from "rollup-plugin-visualizer";
+import viteCompression from "vite-plugin-compression";
+import VueDevTools from "vite-plugin-vue-devtools";
+
+const postCssScss = require("postcss-scss");
+const postcssRTLCSS = require("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,
+ }),
+ VueDevTools(),
+ ],
+ css: {
+ postcss: {
+ "parser": postCssScss,
+ "map": false,
+ "plugins": [ postcssRTLCSS ]
+ }
+ },
+ build: {
+ commonjsOptions: {
+ include: [ /.js$/ ],
+ },
+ rollupOptions: {
+ output: {
+ manualChunks(id, { getModuleInfo, getModuleIds }) {
+
+ }
+ }
+ },
+ }
+});