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 await Promise.all( requireFiles.map( async (file) => (await import(join(directory, file))).default as T, ), ); }