Packages

fast-glob

3.3.3 · 5 Jan 2025MIT203.4M / weekRepositoryHomepagenpmAtom feed

Your version

2.0.0

major21 Jan 2018Where it was published

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 ignore option. See more details here: options#ignore.

  • breaking

    The onlyDirs option has been renamed to onlyDirectories. See more details here: options#onlyDirectories.

  • breaking

    The onlyFiles option 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 ignore option. See more details here: options#ignore.

  • breaking

    The onlyDirs option has been renamed to onlyDirectories. See more details here: options#onlyDirectories.

  • breaking

    The onlyFiles option 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}/*/_*.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.

:traffic_light: Stability

We just became more stable by fixing a few bugs.

:hammer: Flexibility

More options to compare with node-glob

Other