Files
ftb-project-management/apps/web/scripts/run-node-tests.mjs
2026-06-25 15:21:32 +08:00

26 lines
768 B
JavaScript

import { readdirSync, statSync } from 'node:fs';
import { join } from 'node:path';
import { spawnSync } from 'node:child_process';
function collectTestFiles(dir) {
const out = [];
for (const entry of readdirSync(dir)) {
const full = join(dir, entry);
const stat = statSync(full);
if (stat.isDirectory()) out.push(...collectTestFiles(full));
if (stat.isFile() && full.endsWith('.test.js')) out.push(full);
}
return out;
}
const root = process.argv[2] || '.tmp-test';
const files = collectTestFiles(root);
if (files.length === 0) {
console.error(`No compiled .test.js files found under ${root}`);
process.exit(1);
}
const result = spawnSync(process.execPath, ['--test', ...files], { stdio: 'inherit' });
process.exit(result.status ?? 1);