The Fastest Directory Crawler & Globber for NodeJS
โก The Fastest: Nothing similar (in the NodeJS world) beats fdir
in speed. It can easily crawl a directory containing 1 million files in < 1 second.
๐ก Stupidly Easy: fdir
uses expressive Builder pattern to build the crawler increasing code readability.
๐ค Zero Dependencies*: fdir
only uses NodeJS fs
& path
modules.
๐บ Astonishingly Small: < 2KB in size gzipped & minified.
๐ฎ Hackable: Extending fdir
is extremely simple now that the new Builder API is here. Feel free to experiment around.
* picomatch
must be installed manually by the user to support globbing.
Support
Do you like this project? Support me by donating, creating an issue, becoming a stargazer, or opening a pull request. Thanks.
๐ Quickstart
Installation
You can install using npm
:
$ npm i fdir
or Yarn:
$ yarn add fdir
Usage
import { fdir } from "fdir";
// create the builder
const api = new fdir().withFullPaths().crawl("path/to/dir");
// get all files in a directory synchronously
const files = api.sync();
// or asynchronously
api.withPromise().then((files) => {
// do something with the result here.
});
Documentation:
Documentation for all methods is available here.
๐ Benchmarks:
Please check the benchmark against the latest version here.
๐Used by:
fdir
is downloaded over 100k+ times a week by projects around the world. Here's a list of some notable projects using fdir
in production:
Note: if you think your project should be here, feel free to open an issue. Notable is anything with a considerable amount of GitHub stars.
- mdn/yari
- streetwriters/notesnook
- zhangdaren/miniprogram-to-uniapp
- imba/imba
- moroshko/react-scanner
- netlify/build
- FredKSchott/snowpack*
- yassinedoghri/astro-i18next
- immich-app/CLI
- selfrefactor/rambda
snowpack
has since been discontinued.
๐ฆฎ LICENSE
Copyright ยฉ 2023 Abdullah Atta under MIT. Read full text here.