UNPKG

@21jumpclick/service-messenger

Version:

Amqp lib to send and receive messages from different applications

29 lines 1.08 kB
import { resolve } from "path"; import * as fs from "node:fs"; export class FileImporter { static async import(path) { const current = resolve(path); const files = await FileImporter.treeResolver(current); if (!files) { throw 'No files found'; } await Promise.all(files.map((e) => import(e))); } static async treeResolver(path) { const files = fs.readdirSync(path); const result = []; for (const file of files.filter((e) => !e.includes('node_modules'))) { const filePath = resolve(path, file); const isDirectory = fs.statSync(filePath).isDirectory(); if (isDirectory) { const child = await FileImporter.treeResolver(filePath); result.push(...(child || [])); } else if (file.endsWith('.js') || file.endsWith('.ts') || file.endsWith('.cjs') || file.endsWith('.mjs')) { result.push(filePath); } } return result; } } //# sourceMappingURL=file-importer.js.map