import { readdirSync } from "node:fs"; import { spawnSync } from "node:child_process"; import path from "node:path"; // tests/*.test.ts plus die Sicherheits-Baseline unter tests/security/. const testDirectories = ["tests", path.join("tests", "security")]; const testFiles = testDirectories .flatMap((directory) => readdirSync(path.resolve(directory), { withFileTypes: true }) .filter((entry) => entry.isFile() && entry.name.endsWith(".test.ts")) .map((entry) => path.join(directory, entry.name)) ) .sort(); if (testFiles.length === 0) { throw new Error("No TypeScript test files found."); } const watch = process.argv.includes("--watch"); const result = spawnSync( process.execPath, [ "--import", "tsx", "--test", "--test-concurrency=1", ...(watch ? ["--watch"] : []), ...testFiles, ], { stdio: "inherit" } ); process.exit(result.status ?? 1);