mirror of
https://github.com/Unleash/unleash.git
synced 2025-05-22 01:16:07 +02:00
Configured SCSS preprocessor options to use the `modern-compiler` API, aligning with the new Sass API standards and preparing for Dart Sass 2.0.0. This change prevents deprecation warnings and ensures future compatibility by transitioning away from the legacy JS API. https://sass-lang.com/documentation/breaking-changes/legacy-js-api/ Got rid of 
86 lines
2.5 KiB
TypeScript
86 lines
2.5 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/**'],
|
|
},
|
|
css: {
|
|
preprocessorOptions: {
|
|
scss: {
|
|
api: 'modern-compiler'
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
export default mergeConfig(
|
|
defineConfig({
|
|
base: UNLEASH_BASE_PATH,
|
|
build: {
|
|
outDir: 'build',
|
|
assetsDir: 'static',
|
|
assetsInlineLimit: 0,
|
|
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,
|
|
);
|