import { defineConfig } from "vite"; import vue from "@vitejs/plugin-vue"; import path from "path"; import prerender from "vite-plugin-prerender"; export default defineConfig(({ mode }) => { console.log(`🔨 Vite build mode: ${mode}`); return { plugins: [ vue(), prerender({ // REQUIRED: The path to the built app to prerender. staticDir: path.join(__dirname, 'dist'), // The routes to render. routes: [ '/', '/en/', '/me/', '/ru/', '/ua/', '/en/portfolio', '/me/portfolio', '/ru/portfolio', '/ua/portfolio', '/en/about', '/me/about', '/ru/about', '/ua/about', '/en/contact', '/me/contact', '/ru/contact', '/ua/contact' ], renderer: new prerender.PuppeteerRenderer({ renderAfterDocumentEvent: 'render-event', injectProperty: '__PRERENDER_INJECTED', inject: { foo: 'bar' }, renderAfterTime: 2000, headless: true, args: ['--no-sandbox', '--disable-setuid-sandbox'] }) }) ], resolve: { alias: { "@": path.resolve(__dirname, "./src"), }, }, build: { outDir: 'dist', chunkSizeWarningLimit: 1000, cssMinify: true, minify: 'esbuild', rollupOptions: { output: { manualChunks: { 'three-vendor': ['three'], 'ui-vendor': ['lucide-vue-next', '@vueuse/core'], } } } }, esbuild: { legalComments: 'none', target: 'esnext', }, test: { globals: true, environment: "jsdom", }, });