diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index 7019bdff..3165ca19 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -5,6 +5,15 @@ import vuetify, { transformAssetUrls } from 'vite-plugin-vuetify' // Utilities import { defineConfig } from 'vite' import { fileURLToPath, URL } from 'node:url' +import { randomBytes } from 'crypto'; + +function getUniqueFileName(template) { + if (template.includes('.js') || template.includes('.css')) { + const hash = randomBytes(8).toString('hex'); + return template.replace('[name]', hash); + } + return template; +} export default defineConfig({ base: '', @@ -26,8 +35,12 @@ export default defineConfig({ rollupOptions: { output: { inlineDynamicImports: true, - entryFileNames: 'assets/[name].js', - assetFileNames: 'assets/[name].[ext]', + entryFileNames: getUniqueFileName('assets/[name].js'), + chunkFileNames: getUniqueFileName('assets/[name].js'), + assetFileNames: (assetInfo) => { + if (assetInfo.name == "index.css") return getUniqueFileName('assets/[name].css'); + return 'assets/' + assetInfo.name; + }, }, } },