// https://nuxt.com/docs/api/configuration/nuxt-config export default defineNuxtConfig({ compatibilityDate: "2026-01-01", // Disabled so the exact same static bundle can be served from the browser // and embedded verbatim into the Tauri desktop shell. ssr: false, devtools: { enabled: true }, modules: ["@nuxtjs/supabase", "@pinia/nuxt"], supabase: { redirect: true, redirectOptions: { login: "/login", callback: "/confirm", exclude: ["/login"], }, }, runtimeConfig: { public: { // 3000, which is what continuum-backend listens on when PORT is unset // (src/index.ts, and its .env.example). These defaulted to 3001, so a // developer who started both with no configuration got a console that // could not reach its own backend - every request refused by a port // with nothing behind it, which reads like a broken API rather than a // wrong address. Keep these in step with that default. apiBase: process.env.NUXT_PUBLIC_API_BASE || "http://localhost:3000", wsBase: process.env.NUXT_PUBLIC_WS_BASE || "ws://localhost:3000", // There is deliberately no go2rtcStreamBase here any more. A camera // stream lives on a gateway inside a particular farm's network, each // farm has its own, and the gateway tells the backend its address when // it connects - so a build-time constant could only ever be right for a // single-farm install, and its localhost:1984 default meant the UI // quietly pointed every player at the operator's own machine. Asked for // per printer instead: see `usePrinterStream`. }, }, // apps/desktop's src-tauri config points at this static output directory. nitro: { output: { publicDir: "../desktop/dist", }, }, vite: { // Tauri needs a fixed, predictable dev server port. server: { strictPort: true, }, }, typescript: { strict: true, }, });