From da21e1a6f76deaeb477203b04263bd170863825b Mon Sep 17 00:00:00 2001 From: PalmDevs Date: Tue, 2 Apr 2024 19:30:57 +0700 Subject: [PATCH] feat(bots/discord/utils/fs): use `recursive` option for listing files --- bots/discord/src/utils/fs.ts | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/bots/discord/src/utils/fs.ts b/bots/discord/src/utils/fs.ts index 07ea43c..b5fc051 100644 --- a/bots/discord/src/utils/fs.ts +++ b/bots/discord/src/utils/fs.ts @@ -1,21 +1,11 @@ -import { readdirSync, statSync } from 'fs' +import { readdirSync } from 'fs' import { dirname, join } from 'path' import { fileURLToPath } from 'bun' -export const listAllFilesRecursive = (dir: string): string[] => { - const files = readdirSync(dir) - const result: string[] = [] - for (const file of files) { - const filePath = join(dir, file) - const fileStat = statSync(filePath) - if (fileStat.isDirectory()) { - result.push(...listAllFilesRecursive(filePath)) - } else { - result.push(filePath) - } - } - return result -} +export const listAllFilesRecursive = (dir: string): string[] => + readdirSync(dir, { recursive: true, withFileTypes: true }) + .filter(x => x.isFile()) + .map(x => join(dir, x.name)) export const pathJoinCurrentDir = (importMetaUrl: string, ...objects: [string, ...string[]]) => join(dirname(fileURLToPath(importMetaUrl)), ...objects)