From bc574ddcec669723477af0e01c91419000d5c863 Mon Sep 17 00:00:00 2001 From: Yagiz Nizipli Date: Thu, 6 Jul 2023 13:05:05 -0400 Subject: [PATCH] perf: use fs.readdirSync with withFileTypes --- packages/next/src/server/lib/recursive-readdir-sync.ts | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/next/src/server/lib/recursive-readdir-sync.ts b/packages/next/src/server/lib/recursive-readdir-sync.ts index 9660cde7e40f2..b9b6ccae6c105 100644 --- a/packages/next/src/server/lib/recursive-readdir-sync.ts +++ b/packages/next/src/server/lib/recursive-readdir-sync.ts @@ -13,13 +13,12 @@ export function recursiveReadDirSync( /** Used to replace the initial path, only the relative path is left, it's faster than path.relative. */ rootDir = dir ): string[] { - const result = fs.readdirSync(dir) + const result: fs.Dirent[] = fs.readdirSync(dir, { withFileTypes: true }) - result.forEach((part: string) => { - const absolutePath = join(dir, part) - const pathStat = fs.statSync(absolutePath) + result.forEach((part) => { + const absolutePath = join(dir, part.path) - if (pathStat.isDirectory()) { + if (part.isDirectory()) { recursiveReadDirSync(absolutePath, arr, rootDir) return }