import { existsSync, readdirSync, statSync } from 'node:fs'; import { join } from 'node:path'; import { execFileSync } from 'node:child_process'; const modulesDirectory = join(process.cwd(), 'Modules'); if (!existsSync(modulesDirectory)) { process.exit(0); } for (const moduleName of readdirSync(modulesDirectory).sort()) { const moduleDirectory = join(modulesDirectory, moduleName); if (!statSync(moduleDirectory).isDirectory()) { continue; } const lockFile = join(moduleDirectory, 'package-lock.json'); const packageFile = join(moduleDirectory, 'package.json'); if (!existsSync(lockFile) || !existsSync(packageFile)) { continue; } console.log(`[modules] Installing ${moduleName} dependencies`); execFileSync('npm', ['ci', '--no-audit', '--no-fund'], { cwd: moduleDirectory, stdio: 'inherit', }); }