Files
L2keka/web/e2e/global-teardown.ts

25 lines
797 B
TypeScript

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);
}
}