import { readdir } from 'node:fs/promises' import logger from './logger.js' export default async function importDirectory(folder: string): Promise { const files = await readdir(folder, { recursive: true }) for (const filename of files) { if (!filename.endsWith('.js')) continue // Using `file://` and `process.cwd()` to avoid weird issues with relative paths and/or Windows await import(`file://${process.cwd()}/${folder}/${filename}`).catch((x) => logger.fatal(`Cannot import file (${folder}/${filename}) for reason:`, x), ) } }