Newer
Older
import { optimizeLodashImports } from '@optimize-lodash/rollup-plugin'
import vue from '@vitejs/plugin-vue'
import { fileURLToPath, URL } from 'node:url'
import { visualizer } from 'rollup-plugin-visualizer'
import IconsResolver from 'unplugin-icons/resolver'
import Icons from 'unplugin-icons/vite'
import Components from 'unplugin-vue-components/vite'
import { defineConfig } from 'vite'
export default defineConfig(({ mode }) => {
return {
base: mode === 'development' ? '/' : '/-/static/parcours/bundled/',
clearScreen: false,
publicDir: './src/public',
plugins: [
Components({
resolvers: [IconsResolver({ prefix: 'icon' })],
}),
Icons({ compiler: 'vue3' }),
visualizer({
emitFile: true,
filename: 'stats.html',
}),
webfontDownload([
'https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap',
]),
'~': fileURLToPath(new URL('./src', import.meta.url)),
},
},
build: {
manifest: true,
rollupOptions: {
input: [
'./src/main.ts',
'./src/style.css',
],
assetFileNames: 'assets/[name].hash-[hash][extname]',
chunkFileNames: '[name].hash-[hash].js',
entryFileNames: '[name].hash-[hash].js',
dir: './parcours/static/parcours/bundled/',
},
},
},
}
})