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
ignore
option. See more details here: options#ignore. - The
onlyDirs
option has been renamed toonlyDirectories
. See more details here: options#onlyDirectories. - The
onlyFiles
option 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.png
More speed optimizations
- Now we use the
micromatch
as 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
dot
followSymlinkedDirectories
unique
markDirectories
absolute
nobrace
noglobstar
noext
nocase
matchBase
Other
- Support to
ReadableStream
adapter.