# readdirp - 대규모 디렉터리를 효율적으로 읽기 위한 Node.js용 리더

> Clean Markdown view of GeekNews topic #25542. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=25542](https://news.hada.io/topic?id=25542)
- GeekNews Markdown: [https://news.hada.io/topic/25542.md](https://news.hada.io/topic/25542.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2026-01-04T09:31:02+09:00
- Updated: 2026-01-04T09:31:02+09:00
- Original source: [github.com/paulmillr](https://github.com/paulmillr/readdirp)
- Points: 8
- Comments: 0

## Summary

대규모 디렉터리를 효율적으로 순회하기 위한 Node.js용 리더 **readdirp**는 `fs.readdir`의 한계를 보완하며 **Stream API** 중심으로 설계되었습니다. for-await 패턴과 이벤트 스트림을 모두 지원해 수천 개 파일을 다루는 상황에서도 메모리 사용량을 최소화합니다. 또한 fileFilter·directoryFilter로 탐색 대상을 세밀하게 제어하고, depth 옵션으로 재귀 깊이를 제한할 수 있어 대형 프로젝트의 파일 관리 자동화에 유용합니다.

## Topic Body

- 중첩된 디렉터리 전체를 **재귀적으로 읽기 위해 설계된 도구**로, fs.readdir 기반의 한계를 보완  
- **Stream API**를 중심으로 설계되어, 대규모 파일 트리에서도 **낮은 RAM·CPU 사용량** 유지  
  - for-await 패턴과 이벤트 기반 스트림 모두 지원  
- 필요에 따라 **Promise API**도 제공하지만, 스트림 방식 대비 메모리·CPU 사용량 증가  
- 파일과 디렉터리를 세밀하게 제어하기 위한 **fileFilter / directoryFilter** 제공  
  - 특정 확장자만 포함하거나, .git 같은 디렉터리 제외 가능  
- depth 옵션을 통해 **재귀 탐색 깊이 제한** 가능  
- 기본적으로 Dirent 기반 정보를 반환해 성능을 최적화하며, 필요 시 **alwaysStat 옵션**으로 fs.Stats 정보 제공  
  - 파일 크기·mtime 등이 필요한 경우에만 활성화 권장  
- 심볼릭 링크 처리, 파일 타입 제어 등 실무 환경을 고려한 옵션 제공  
- [chokidar](https://news.hada.io/topic?id=25522) 와 함께 사용 시, **파일 탐색과 변경 감지 역할을 명확히 분리**한 워크플로 구성에 적합

## Comments



_No public comments on this page._
