OneLauncher-Cracked/apps/frontend/vite.config.ts

61 lines
1.3 KiB
TypeScript

import type { UserConfig } from 'vite';
import process from 'node:process';
import { sentryVitePlugin as sentry } from '@sentry/vite-plugin';
import unocss from 'unocss/vite';
import { defineConfig, loadEnv } from 'vite';
import solid from 'vite-plugin-solid';
import solidSvg from 'vite-plugin-solid-svg';
import paths from 'vite-tsconfig-paths';
export default defineConfig(async ({ mode }) => {
process.env = { ...process.env, ...loadEnv(mode, process.cwd(), '') };
const config: UserConfig = {
plugins: [
unocss(),
solid(),
solidSvg({
defaultAsComponent: false,
}),
paths(),
],
envPrefix: ['VITE_', 'TAURI_'],
build: {
target: ['esnext', 'chrome110', 'safari13'],
minify: !process.env.TAURI_DEBUG ? 'esbuild' : false,
sourcemap: !!process.env.TAURI_DEBUG,
rollupOptions: {
treeshake: 'recommended',
},
emptyOutDir: false,
},
css: {
preprocessorOptions: {
scss: {
api: 'modern-compiler',
},
},
},
clearScreen: false,
server: {
port: 8001,
strictPort: true,
},
};
if (process.env.SENTRY_AUTH_TOKEN)
config.plugins.push(sentry({
authToken: process.env.SENTRY_AUTH_TOKEN,
org: 'polyfrost',
project: 'onelauncher_frontend',
url: 'https://sentry.polyfrost.org',
telemetry: false,
}));
return config;
});