import fs from 'fs'; import path from 'path'; import { fileURLToPath } from 'url'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); const PID_FILE = path.join(__dirname, '.server-pids.json'); export default async function globalTeardown() { try { if (fs.existsSync(PID_FILE)) { const { serverPid, frontendPid } = JSON.parse(fs.readFileSync(PID_FILE, 'utf-8')); console.log(`[teardown] Killing server(pid=${serverPid}) frontend(pid=${frontendPid})`); try { process.kill(serverPid, 'SIGTERM'); } catch {} try { process.kill(frontendPid, 'SIGTERM'); } catch {} fs.unlinkSync(PID_FILE); console.log('[teardown] Done'); } } catch (e) { console.error('[teardown] Error:', (e as Error).message); } }