import fs from 'node:fs'; import { execSync } from 'node:child_process'; function recursiveScanDir(path, f) { let dirs = []; for (let dirent of fs.readdirSync(path, { withFileTypes: true })) { if (dirent.isDirectory()) dirs.push(`${path}/${dirent.name}`); else f(`${path}/${dirent.name}`); } for (let dir of dirs) { recursiveScanDir(dir, f); } } recursiveScanDir('.', fname => { if (fname.endsWith('.test.js')) { console.log(`======== ${fname} ========`); execSync(`node ${fname}`, { stdio: 'inherit' }); console.log(''); } });