2.0.0
Faster. Stable. Flexible. Modern.
💣 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
- Now we only work with array of strings in the
ignoreoption. See more details here: options#ignore. - The
onlyDirsoption has been renamed toonlyDirectories. See more details here: options#onlyDirectories. - The
onlyFilesoption is now enabled by default. See more details here: options#onlyFiles.
🚀 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}/*/_*.png
In 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.
🚥 Stability
We just became more stable by fixing a few bugs.
🔨 Flexibility
More options to compare with node-glob
dotfollowSymlinkedDirectoriesuniquemarkDirectoriesabsolutenobracenoglobstarnoextnocasematchBase
Other
- Support to
ReadableStreamadapter.