diff --git a/packages/app/vite.config.js b/packages/app/vite.config.js index 1974d3ee..117f9319 100755 --- a/packages/app/vite.config.js +++ b/packages/app/vite.config.js @@ -1,12 +1,16 @@ -import path from "path" +import path from "node:path" +import fs from "node:fs" + import aliases from "./aliases" import { defineConfig } from "vite" import react from "@vitejs/plugin-react" +const backendUri = "https://0.0.0.0:9000" const oneYearInSeconds = 60 * 60 * 24 * 365 +const sslDirPath = path.join(__dirname, ".ssl") -export default defineConfig({ +const config = { plugins: [ react(), ], @@ -19,21 +23,17 @@ export default defineConfig({ fs: { allow: ["..", "../../"], }, - https: { - key: path.join(__dirname, ".ssl", "privkey.pem"), - cert: path.join(__dirname, ".ssl", "cert.pem"), - }, headers: { "Strict-Transport-Security": `max-age=${oneYearInSeconds}` }, proxy: { "/api": { - target: "https://0.0.0.0:9000", + target: backendUri, rewrite: (path) => path.replace(/^\/api/, ""), hostRewrite: true, changeOrigin: true, xfwd: true, - //ws: true, + ws: true, toProxy: true, secure: false, } @@ -56,8 +56,8 @@ export default defineConfig({ rollupOptions: { output: { manualChunks(id) { - if (id.includes('node_modules')) { - return id.toString().split('node_modules/')[1].split('/')[0].toString(); + if (id.includes("node_modules")) { + return id.toString().split("node_modules/")[1].split("/")[0].toString() } } } @@ -65,7 +65,16 @@ export default defineConfig({ }, esbuild: { supported: { - "top-level-await": true //browsers can handle top-level-await features + "top-level-await": true }, } -}) \ No newline at end of file +} + +if (fs.existsSync(sslDirPath)) { + config.server.https = { + key: path.join(__dirname, ".ssl", "privkey.pem"), + cert: path.join(__dirname, ".ssl", "cert.pem"), + } +} + +export default defineConfig(config) \ No newline at end of file