#!/usr/bin/env bun import { $ } from "bun"; import { spawn } from "child_process"; import path from "path"; console.log("🚀 Запуск серверов avtourist086...\n"); // Запуск PocketBase const backend = spawn("pocketbase.exe", ["serve"], { cwd: path.join(process.cwd(), "backend"), stdio: "inherit", shell: true, }); // Запуск Astro const frontend = spawn("bun", ["dev"], { cwd: "frontend", stdio: "inherit", shell: true, }); // Обработка завершения const cleanup = () => { console.log("\n🛑 Остановка серверов..."); backend.kill(); frontend.kill(); process.exit(0); }; process.on("SIGINT", cleanup); process.on("SIGTERM", cleanup); // Ожидание завершения процессов backend.on("exit", (code) => { console.log(`Backend остановлен с кодом ${code}`); cleanup(); }); frontend.on("exit", (code) => { console.log(`Frontend остановлен с кодом ${code}`); cleanup(); }); console.log("✅ Серверы запущены:\n"); console.log(" Backend (PocketBase): http://localhost:8090"); console.log(" Frontend (Astro): http://localhost:4321\n"); console.log("Нажмите Ctrl+C для остановки\n");