From 4ced68e5213c35cf49930a7157e54ff9bcbbd2a6 Mon Sep 17 00:00:00 2001 From: Rotimi Best Date: Sun, 11 Aug 2024 09:10:40 +0100 Subject: [PATCH] chore: improve local dev DX --- apps/dashboard/vite.config.ts | 60 +++++++++++++++++++---------------- 1 file changed, 32 insertions(+), 28 deletions(-) diff --git a/apps/dashboard/vite.config.ts b/apps/dashboard/vite.config.ts index e74dd677..7f642214 100644 --- a/apps/dashboard/vite.config.ts +++ b/apps/dashboard/vite.config.ts @@ -5,38 +5,42 @@ import fs from 'fs'; export default ({ mode }) => { process.env = { ...process.env, ...loadEnv(mode, process.cwd()) }; - const { - VITE_SENTRY_AUTH_TOKEN, - VITE_SENTRY_ORG_NAME, - VITE_SENTRY_PROJECT_NAME, - VITE_USE_HTTPS_ON_LOCALHOST - } = process.env; return defineConfig({ - plugins: [ - sveltekit(), - sentryVitePlugin( - VITE_SENTRY_AUTH_TOKEN - ? { - url: 'https://sentry.io', - authToken: VITE_SENTRY_AUTH_TOKEN, - org: VITE_SENTRY_ORG_NAME, - project: VITE_SENTRY_PROJECT_NAME - } - : {} - ) - ], - server: - VITE_USE_HTTPS_ON_LOCALHOST === 'true' - ? { - https: { - key: fs.readFileSync(`${__dirname}/cert/key.pem`), - cert: fs.readFileSync(`${__dirname}/cert/cert.pem`) - } - } - : undefined, + plugins: [sveltekit(), sentryVitePlugin(getSentryConfig(process.env))], + server: getServer(process.env), build: { sourcemap: true + }, + optimizeDeps: { + entries: ['src/routes/**/+*.{js,ts,svelte}'] } }); }; + +function getServer({ VITE_USE_HTTPS_ON_LOCALHOST }) { + 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({ + VITE_SENTRY_AUTH_TOKEN, + VITE_SENTRY_ORG_NAME, + VITE_SENTRY_PROJECT_NAME +}) { + 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 + }; + } + return {}; +}