mirror of
https://github.com/Unleash/unleash.git
synced 2024-12-22 19:07:54 +01:00
e1ee2f6c71
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.
78 lines
2.3 KiB
TypeScript
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
|
|
);
|