mymusics

retro MySpace-style music player
Log | Files | Refs | README

vite.config.ts (874B)


      1 import react from "@vitejs/plugin-react";
      2 import { defineConfig, loadEnv } from "vite";
      3 
      4 import { resolveApiPort, resolveDevWebPort } from "./config/ports.js";
      5 
      6 // https://vite.dev/config/
      7 export default defineConfig(({ mode }) => {
      8   const env = loadEnv(mode, process.cwd(), "");
      9   const merged: NodeJS.ProcessEnv = { ...process.env, ...env };
     10   const apiPort = resolveApiPort(merged);
     11   const webPort = resolveDevWebPort(merged);
     12 
     13   return {
     14     plugins: [react()],
     15     server: {
     16       port: webPort,
     17       strictPort: true,
     18       proxy: {
     19         "/api": {
     20           target: `http://127.0.0.1:${apiPort}`,
     21           changeOrigin: true,
     22         },
     23       },
     24     },
     25     preview: {
     26       port: webPort,
     27       strictPort: true,
     28       proxy: {
     29         "/api": {
     30           target: `http://127.0.0.1:${apiPort}`,
     31           changeOrigin: true,
     32         },
     33       },
     34     },
     35   };
     36 });