1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-11-01 19:07:38 +01:00
unleash.unleash/frontend/vite.config.ts
Fredrik Strand Oseberg e1ee2f6c71
fix: set css preload to false (#4524)
After dependabot upgraded us to the new version of Vite, we started
having failures on the preloading of CSS modules on certain lazy loaded
modules. After investigation, it seems like Vite was adding another
stylesheet into the head element when the lazy loaded modules were
requested. These stylesheets had the wrong relative path when the assets
were loaded from our CDN. We are not sure why this fails, but for now we
are turning off cssPreloading.

The impact is small, because we have few lazy loaded modules that
preload the CSS.
2023-08-17 15:04:41 +02:00

78 lines
2.3 KiB
TypeScript

import { defineConfig, mergeConfig } from 'vite';
import {
configDefaults,
defineConfig as vitestDefineConfig,
} from 'vitest/config';
import tsconfigPaths from 'vite-tsconfig-paths';
import react from '@vitejs/plugin-react';
import svgr from 'vite-plugin-svgr';
import envCompatible from 'vite-plugin-env-compatible';
const UNLEASH_API = process.env.UNLEASH_API || 'http://localhost:4242';
const UNLEASH_BASE_PATH = process.env.UNLEASH_BASE_PATH || '/';
if (!UNLEASH_BASE_PATH.startsWith('/') || !UNLEASH_BASE_PATH.endsWith('/')) {
console.error('UNLEASH_BASE_PATH must both start and end with /');
process.exit(1);
}
const vitestConfig = vitestDefineConfig({
test: {
globals: true,
setupFiles: 'src/setupTests.ts',
environment: 'jsdom',
exclude: [...configDefaults.exclude, '**/cypress/**'],
},
});
export default mergeConfig(
defineConfig({
base: UNLEASH_BASE_PATH,
build: {
outDir: 'build',
assetsDir: 'static',
modulePreload: false,
cssCodeSplit: false,
},
server: {
open: true,
host: true,
port: 3000,
proxy: {
[`${UNLEASH_BASE_PATH}api`]: {
target: UNLEASH_API,
changeOrigin: true,
},
[`${UNLEASH_BASE_PATH}auth`]: {
target: UNLEASH_API,
changeOrigin: true,
},
[`${UNLEASH_BASE_PATH}logout`]: {
target: UNLEASH_API,
changeOrigin: true,
},
[`${UNLEASH_BASE_PATH}health`]: {
target: UNLEASH_API,
changeOrigin: true,
},
[`${UNLEASH_BASE_PATH}invite`]: {
target: UNLEASH_API,
changeOrigin: true,
},
[`${UNLEASH_BASE_PATH}edge`]: {
target: UNLEASH_API,
changeOrigin: true,
},
},
fs: {
allow: ['..'],
},
},
plugins: [react(), tsconfigPaths(), svgr(), envCompatible()],
esbuild: {
logOverride: { 'this-is-undefined-in-esm': 'silent' },
},
}),
vitestConfig
);