import { fileURLToPath, URL } from 'node:url' import { defineConfig } from 'vite' import { createSvgIconsPlugin } from 'vite-plugin-svg-icons' import vue from '@vitejs/plugin-vue' const path = require('path') function resolve(dir) { return path.join(__dirname, dir); } // https://vitejs.dev/config/ export default defineConfig({ plugins: [ vue(), createSvgIconsPlugin({ iconDirs: [resolve('src/icons')], symbolId: 'icon-[name]' }), ], resolve: { root: resolve('src'), alias: { '@': fileURLToPath(new URL('./src', import.meta.url)), '~bootstrap': resolve('node_modules/bootstrap'), '~quill': resolve('node_modules/quill'), } }, css: { preprocessorOptions: { scss: { additionalData: `@import "@/assets/styles/main.scss";` }, styl: { additionalData: ` @import '~quill/dist/quill.core.css';'~quill/dist/quill.bubble.css';'~quill/dist/quill.snow.css';` } } }, server: { proxy: { '^/api/': { target: 'https://localhost:8001/', ws: true, changeOrigin: true } } }, optimizeDeps: { esbuildOptions: { supported: { "top-level-await": true }, }, }, esbuild: { supported: { 'top-level-await': true //browsers can handle top-level-await features }, } })