next.js/packages/next/src/lib/get-files-in-dir.ts
get-files-in-dir.ts23 lines531 B
import { join } from 'path'
import fs from 'fs/promises'
import type { Dirent, StatsBase } from 'fs'

export async function getFilesInDir(path: string): Promise<Set<string>> {
  const dir = await fs.opendir(path)
  const results = new Set<string>()

  for await (const file of dir) {
    let resolvedFile: Dirent | StatsBase<number> = file

    if (file.isSymbolicLink()) {
      resolvedFile = await fs.stat(join(path, file.name))
    }

    if (resolvedFile.isFile()) {
      results.add(file.name)
    }
  }

  return results
}
Quest for Codev2.0.0
/
SIGN IN