36 lines
1.2 KiB
JavaScript
36 lines
1.2 KiB
JavaScript
import { defineConfig } from "astro/config";
|
|
import { loadEnv } from "vite";
|
|
import svelte from "@astrojs/svelte";
|
|
import tailwind from "@astrojs/tailwind";
|
|
|
|
const env = loadEnv(process.env.NODE_ENV ?? 'development', process.cwd(), '');
|
|
// PUBLIC_EDIT_URL: non-empty → bincio edit URL; empty → proxy to bincio serve.
|
|
// VITE_API_PORT lets `bincio dev` override the serve port without touching .env.
|
|
const apiPort = process.env.VITE_API_PORT || '4041';
|
|
const serveTarget = env.PUBLIC_EDIT_URL || `http://localhost:${apiPort}`;
|
|
|
|
export default defineConfig({
|
|
integrations: [svelte(), tailwind()],
|
|
devToolbar: { enabled: false },
|
|
output: "static",
|
|
// When hosting at a subdirectory (e.g. GitHub Pages project site), set:
|
|
// base: "/repo-name",
|
|
vite: {
|
|
optimizeDeps: {
|
|
include: ['maplibre-gl'],
|
|
esbuildOptions: { target: 'es2022' },
|
|
},
|
|
build: { target: 'es2022' },
|
|
// Proxy /api/* to bincio serve/edit so cookies work same-origin in dev.
|
|
// In production nginx handles this — same pattern, no code change needed.
|
|
server: {
|
|
proxy: {
|
|
'/api': {
|
|
target: serveTarget,
|
|
changeOrigin: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
});
|