import { defineConfig } from 'vite' import { resolve } from 'path' import vue from '@vitejs/plugin-vue' import servePreviewAssets from './dev/vite-plugins/serve-preview-assets' import precompileLodashTemplates from './dev/vite-plugins/precompile-lodash-templates' // https://vitejs.dev/config/ export default defineConfig(({ command, mode }) => { const viteConfig = { base: '/static/', build: { outDir: 'ietf/static/dist-neue', manifest: true, rollupOptions: { input: { main: 'client/main.js', embedded: 'client/embedded.js' } } }, cacheDir: '.vite', plugins: [ vue(), precompileLodashTemplates({ include: [ '**/shared/urls.js' ] }) ], publicDir: 'ietf/static/public', server: { host: true, port: 3000, strictPort: true }, preview: { host: true, port: 3000, strictPort: true } } if (mode === 'test') { viteConfig.base = '/' viteConfig.root = resolve(__dirname, 'client') viteConfig.build.outDir = 'dist' viteConfig.build.rollupOptions.input.main = resolve(__dirname, 'client/index.html') viteConfig.plugins.push(servePreviewAssets()) } return viteConfig })