Frontend: - migrate from Vite to Astro (astro.config.mjs, pages/, layouts/) - add admin panel, settings page, command palette, error boundary - refactor App.tsx, MascotChatbot, Sidebar, Header, DashboardLayout - update API client, WebSocket, auth, dashboard features Backend: - add admin module and config routes - refactor middlewares, Redis connection, WebSocket server/bridge - add runtime config loader Discord Gateway: - refactor AI moderation: circuit breaker, concurrency limiter, fallback processor - add media analysis client, Seaxng search, user profile learner - add new drizzle migration Shared: - extend database schema, add new config fields
46 lines
1.2 KiB
JavaScript
46 lines
1.2 KiB
JavaScript
import { defineConfig } from "astro/config";
|
||
import react from "@astrojs/react";
|
||
|
||
// ─────────────────────────────────────────────────────────────
|
||
// BETE – Astro Configuration
|
||
// Tailwind v4 ditangani via PostCSS (postcss.config.js)
|
||
// ─────────────────────────────────────────────────────────────
|
||
export default defineConfig({
|
||
integrations: [react()],
|
||
|
||
output: "static",
|
||
|
||
// Dev server
|
||
server: {
|
||
host: "0.0.0.0",
|
||
port: 3000,
|
||
},
|
||
|
||
// Preview
|
||
preview: {
|
||
host: true,
|
||
port: 3000,
|
||
allowedHosts: [
|
||
"imphnen.asepharyana.my.id",
|
||
"imphnen.asepharyana.tech",
|
||
"imphnen.asepharyana.web.id",
|
||
],
|
||
},
|
||
|
||
// Vite config
|
||
vite: {
|
||
server: {
|
||
allowedHosts: [
|
||
"imphnen.asepharyana.my.id",
|
||
"imphnen.asepharyana.tech",
|
||
"imphnen.asepharyana.web.id",
|
||
],
|
||
watch: {
|
||
// Penting: Astro punya public/ dir sendiri, jangan bentrok
|
||
ignored: ["!**/node_modules/**"],
|
||
},
|
||
},
|
||
// PostCSS otomatis terdeteksi dari root project
|
||
},
|
||
});
|