fast-glob
3.3.3 · 5 Jan 2025MIT203.4M / weekRepositoryHomepagenpmAtom feed
2.2.7 is the newest release of 2.x.
In short
3 breaking1 new1 faster10 changed
- breaking
Now we only work with array of strings in the
ignoreoption. See more details here: options#ignore. - breaking
The
onlyDirsoption has been renamed toonlyDirectories. See more details here: options#onlyDirectories. - breaking
The
onlyFilesoption is now enabled by default. See more details here: options#onlyFiles.
Release note
Faster. Stable. Flexible. Modern.
:bomb: Breaking Changes
The new version has some fundamental differences.
Drop bashNative mode
In the previous version we used the bash-glob package that provided a wrapper for the ls command to Node.js world. Unfortunately, this package had a lot of problems with shell customizations and macOS. So, in the new version of the fast-glob package we refused to use this package.
Other
- breaking
Now we only work with array of strings in the
ignoreoption. See more details here: options#ignore. - breaking
The
onlyDirsoption has been renamed toonlyDirectories. See more details here: options#onlyDirectories. - breaking
The
onlyFilesoption is now enabled by default. See more details here: options#onlyFiles.
:rocket: Speed
Now we are faster.
Exclude directories
Now you can say goodbye to your node_modules directory. Please read «How to exclude directory from reading?» section in the documentation.
Smart directory reading
Now we read in depth only those directories that must be read. For example, we have the following pattern:
src/{images,icons}/*/_*.pngIn the previous version we read all directories inside the src directory. Now we will read only two directories (images and icons) and one level of directories each of these directories.
src/
├── images/ ← # read
│ ├── file.png
│ └── nested/ ← # read
│ ├── file.png
│ └── wow/ ← # not read
└── icons/ ← # read
├── file.png
└── nested/ ← # read
└── file.pngMore speed optimizations
Now we use the
micromatchas a package for the generation of regular expressions. Why? Because the package has intelligent caching, which slows the search for already prepared the regular expressions in the cache. Something around 15ms for 1000 occurrences.
:traffic_light: Stability
We just became more stable by fixing a few bugs.
:hammer: Flexibility
More options to compare with node-glob
Other
Support to
ReadableStreamadapter.