Skip to content

Releases: mrmlnc/fast-glob

2.2.0

11 Mar 16:38
Compare
Choose a tag to compare

🔨 Flexibility

  • The ability to export tasks from package. See more information in the README.md file.

🐛 Bug Fixes

  • Fixed a bug that lead to incorrect filtering with negative patterns when reading directories in depth (#78, #80).
  • Fixed a bug that lead to incorrect filtering with negative patterns when pattern ends with globstar or includes pattern (#69).

2.1.0

25 Feb 16:16
Compare
Choose a tag to compare

🚀 Speed

Now all patterns are divided into two types:

static

The patterns without glob magic.

For example: package.json, /dev/fd, etc.

dynamic

The patterns with glob magic detected by is-glob.

For example: *.json, **/*.js, etc.

This made it possible to reduce the processing time of static patterns. Something like 10-15 times. For more details, see the issue #60. Thanks @pvdlg for reporting.

🐛 Bug Fixes

🔨 Flexibility

New options that allow you not to break your brain. User-friendly alternatives for double-negative options:

⚠️ These options have more weight than their ancestors (no*).

❗ In the next major release, we want to remove the options with double-negation.

2.0.4

13 Feb 19:34
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Use readdir-enhanced package from npm instead of referring to a branch on the GitHub, because it requires an installed git client (#57).
  • Convert backslashes to forward slashes in the patterns, because there are problems with paths on Windows (#56).

2.0.3

12 Feb 06:34
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Fix problem when onlyFiles & onlyDirectories options is enabled in the one time (#51)

🚀 Speed

Now we are faster. Almost.

  • Now we can excluding from reading directories that apply to negative patterns that ends with /** (slash and globstar) (#45).

2.0.2

02 Feb 05:28
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Fix «Maximum call stack size exceeded» exception for large directories. So, we temporary switch to readdir-enhanced fork with monkey patch of problem. (#23, #42, #44).
  • Now the data is not changed in the filters. (#46)

2.0.1

21 Jan 16:23
Compare
Choose a tag to compare

This is a maintenance patch release that includes following changes:

  • Allow to export Options interface if you are using TypeScript.
  • Now we use the @types/readdir-enhanced package instead of your own types.

Some magic for benchmarks 🎉

Please, read 2.0.0 announcement.

2.0.0

21 Jan 16:00
Compare
Choose a tag to compare

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 to onlyDirectories. 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

Other

1.0.1

03 Jun 08:39
Compare
Choose a tag to compare

Changelog:

  • Fix abolute path issues and ENOENT error when there are no matches (Thanks @alan-agius4#10)

1.0.0

28 Dec 10:48
Compare
Choose a tag to compare

Initial release.