2025-01-27 12:52:25 +00:00
|
|
|
import { defineConfig, loadEnv } from "vite";
|
2023-06-07 19:44:16 +00:00
|
|
|
import laravel from "laravel-vite-plugin";
|
2023-03-17 14:33:48 +00:00
|
|
|
|
2025-01-27 12:52:25 +00:00
|
|
|
export default defineConfig(({ mode }) => {
|
2026-07-18 18:56:01 +00:00
|
|
|
const env = loadEnv(mode, process.cwd(), "");
|
|
|
|
|
// Prefer process.env so Docker Compose can override without writing .env.
|
|
|
|
|
// Set VITE_HOST to a browser-reachable hostname/IP when accessing the app
|
|
|
|
|
// from another device (LAN / Tailscale), e.g. VITE_HOST=100.75.155.70
|
|
|
|
|
const viteHost = (process.env.VITE_HOST || env.VITE_HOST || "localhost").trim();
|
|
|
|
|
const vitePort = Number(process.env.VITE_PORT || env.VITE_PORT || 5173);
|
2025-01-27 12:52:25 +00:00
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
server: {
|
|
|
|
|
watch: {
|
2026-07-18 18:56:01 +00:00
|
|
|
ignored: ["**/dev_*_data/**", "**/storage/**"],
|
2025-01-27 12:52:25 +00:00
|
|
|
},
|
2026-07-18 18:56:01 +00:00
|
|
|
// Listen on all interfaces so Docker / remote clients can reach the dev server
|
2025-01-27 12:52:25 +00:00
|
|
|
host: "0.0.0.0",
|
2026-07-18 18:56:01 +00:00
|
|
|
port: vitePort,
|
|
|
|
|
strictPort: true,
|
2026-04-28 20:06:20 +00:00
|
|
|
allowedHosts: true,
|
2026-07-18 18:56:01 +00:00
|
|
|
// App (:8000) and Vite (:5173) are different origins; allow any host in dev
|
|
|
|
|
cors: true,
|
|
|
|
|
origin: `http://${viteHost}:${vitePort}`,
|
|
|
|
|
hmr: {
|
|
|
|
|
host: viteHost,
|
|
|
|
|
clientPort: vitePort,
|
2026-04-30 16:23:07 +00:00
|
|
|
},
|
2024-11-11 11:13:15 +00:00
|
|
|
},
|
2025-01-27 12:52:25 +00:00
|
|
|
plugins: [
|
|
|
|
|
laravel({
|
|
|
|
|
input: ["resources/css/app.css", "resources/js/app.js"],
|
|
|
|
|
refresh: true,
|
|
|
|
|
}),
|
|
|
|
|
],
|
2026-07-18 18:56:01 +00:00
|
|
|
};
|
2023-03-17 14:33:48 +00:00
|
|
|
});
|