import { sveltekit } from '@sveltejs/kit/vite'; import { defineConfig } from 'vite'; import { fileURLToPath } from 'node:url'; import { dirname, resolve as resolvePath } from 'node:path'; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); const repoRoot = resolvePath(__dirname, '..', '..'); export default defineConfig(({ mode }) => { const isDev = mode === 'development'; return { plugins: [sveltekit()], resolve: { // En desarrollo, alias para usar better-sqlite3 (Vite/HMR no entiende 'bun:sqlite') alias: isDev ? [{ find: 'bun:sqlite', replacement: 'better-sqlite3' }] : [] }, ssr: { // En dev, externalizar better-sqlite3 (CJS nativo) para que se cargue vía require; // en producción, externalizar 'bun:sqlite' y que lo resuelva Bun en runtime. external: isDev ? ['better-sqlite3'] : ['bun:sqlite'] }, optimizeDeps: { // Evitar prebundling de drivers nativos exclude: ['bun:sqlite', 'better-sqlite3'] }, // Permitir host remoto en desarrollo y permitir importar fuera del root (reexport desde core) server: isDev ? { allowedHosts: ['server.brobert.net'], fs: { allow: [repoRoot] } } : undefined }; });