From cb3570627ca96019abb59310401928b6ec2e5b72 Mon Sep 17 00:00:00 2001 From: Flupsi Date: Sun, 3 Aug 2025 16:13:00 +0200 Subject: [PATCH] fix(dx): enable quicker rebuilds in development by skipping unnecessary compatibility options --- front/postcss.config.js | 4 +++- front/vite.config.ts | 20 +++++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/front/postcss.config.js b/front/postcss.config.js index 4e98956fe..c88c5b619 100644 --- a/front/postcss.config.js +++ b/front/postcss.config.js @@ -1,5 +1,7 @@ export default { - plugins: { + plugins: process.env.NODE_ENV === 'development' ? { + // Skip autoprefixer in development - modern dev browsers don't need prefixes + } : { autoprefixer: { overrideBrowserslist: [ '> 1%', diff --git a/front/vite.config.ts b/front/vite.config.ts index ad8ee4f00..e915dd38a 100644 --- a/front/vite.config.ts +++ b/front/vite.config.ts @@ -73,7 +73,14 @@ export default defineConfig(({ mode }) => ({ watch: { usePolling: true }, - allowedHosts: [".funkwhale.test"] + allowedHosts: [".funkwhale.test"], + hmr: { + overlay: false + } + }, + optimizeDeps: { + include: ['vue', 'vue-router', 'pinia', 'axios', 'lodash-es'], + exclude: ['@sentry/vue', '@sentry/tracing'] }, resolve: { alias: [ @@ -95,17 +102,20 @@ export default defineConfig(({ mode }) => ({ } }, esbuild: { - target: 'es2020', + target: mode === 'development' ? 'esnext' : 'es2020', supported: { 'top-level-await': true } }, build: { - target: ['es2020', 'chrome87', 'firefox78', 'safari14', 'edge88'], + target: mode === 'development' + ? 'esnext' + : ['es2020', 'chrome87', 'firefox78', 'safari14', 'edge88'], sourcemap: true, + minify: mode === 'development' ? false : 'esbuild', // https://rollupjs.org/configuration-options/ rollupOptions: { - output: { + output: mode === 'production' ? { manualChunks: { axios: ['axios', 'axios-auth-refresh'], dompurify: ['dompurify'], @@ -116,7 +126,7 @@ export default defineConfig(({ mode }) => ({ 'standardized-audio-context': ['standardized-audio-context'], 'vue-router': ['vue-router'] } - } + } : {} } }, test: {