import { readdirSync } from "fs"; import { readdir } from "fs/promises"; import { join } from "path"; export async function requireDirectory(directory: string): Promise { const requireFiles = (await readdir(directory)).filter(file => file.endsWith(".js")); return requireFiles.map(file => require(join(directory, file)).default as T); } export function requireDirectorySync(directory: string): T[] { const requireFiles = readdirSync(directory).filter(file => file.endsWith(".js")); return requireFiles.map(file => require(join(directory, file)).default as T).filter(x=>x); }