Files
mcphub/web/vite.config.ts
airano-ir 43fd2201a0 feat(v3.13.0): settings live DB reads, remove Directus/Appwrite, admin stats
Settings fixes:
- MAX_SITES_PER_USER, USER_RATE_LIMIT_PER_MIN/HR now read from DB settings
  table (DB > ENV > default), so dashboard/settings changes apply without
  restart. Sync cache refreshed on every save or delete.
- /api/me reports the live DB value for max_sites_per_user.

Admin improvements:
- Admin users bypass per-user rate limiting entirely (role=admin or ADMIN_EMAILS).
- Admin Overview now shows platform stats: registered users, new users (7d),
  total user sites, available tools.

Plugin cleanup:
- Appwrite and Directus plugins removed from the active registry (8 plugins
  now: WordPress, WooCommerce, WordPress Specialist, Gitea, n8n, Supabase,
  OpenPanel, Coolify). Plugin code is retained for future re-enabling.
- Settings page plugin visibility list updated to match.

Mobile onboarding:
- Stepper steps on narrow viewports stack vertically with correct full border
  and rounded corners on each step.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 23:33:20 +02:00

39 lines
994 B
TypeScript

import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import path from "node:path";
// SPA build → core/templates/static/dist for Starlette to serve.
// In dev, proxy /api, /auth, /dashboard, /static to the running Python server.
export default defineConfig({
plugins: [react()],
base: "/static/dist/",
resolve: {
alias: {
"@": path.resolve(__dirname, "src"),
},
},
build: {
outDir: path.resolve(__dirname, "../core/templates/static/dist"),
emptyOutDir: true,
sourcemap: true,
assetsDir: "assets",
},
server: {
port: 5173,
proxy: {
"/api": "http://localhost:8000",
"/auth": "http://localhost:8000",
"/dashboard": "http://localhost:8000",
"/static": "http://localhost:8000",
"/health": "http://localhost:8000",
"/oauth": "http://localhost:8000",
},
},
test: {
environment: "jsdom",
globals: true,
setupFiles: ["./src/test/setup.ts"],
css: false,
},
});