import { defineConfig, loadEnv } from 'vite'; import fs from 'fs'; import path from 'path'; import { sveltekit } from '@sveltejs/kit/vite'; export default ({ mode }) => { process.env = { ...process.env, ...loadEnv(mode, process.cwd()) }; return defineConfig({ css: { preprocessorOptions: { scss: { silenceDeprecations: ['legacy-js-api'] } } }, plugins: [sveltekit()], server: getServer(process.env), build: { sourcemap: false }, optimizeDeps: { entries: ['src/routes/**/+*.{js,ts,svelte}'], include: ['@cio/api/rpc-types'] }, resolve: { mainFields: ['browser'], alias: { '@cio/api': path.resolve(__dirname, '../api/dist') } } }); }; function getServer(params: any) { const { VITE_USE_HTTPS_ON_LOCALHOST } = params || {}; if (VITE_USE_HTTPS_ON_LOCALHOST === 'true') { return { https: { key: fs.readFileSync(`${__dirname}/cert/key.pem`), cert: fs.readFileSync(`${__dirname}/cert/cert.pem`) } }; } } // function getSentryConfig(params: any) { // const { VITE_SENTRY_AUTH_TOKEN, VITE_SENTRY_ORG_NAME, VITE_SENTRY_PROJECT_NAME } = params || {}; // if (VITE_SENTRY_AUTH_TOKEN) { // return { // url: 'https://sentry.io', // authToken: VITE_SENTRY_AUTH_TOKEN, // org: VITE_SENTRY_ORG_NAME, // project: VITE_SENTRY_PROJECT_NAME, // options: { // telemetry: false, // } // }; // } // return {}; // }