doogie2301 / pinup-popper-browser

GNU General Public License v3.0
2 stars 0 forks source link

Update fast-glob 3.2.2 β†’ 3.3.0 (minor) #56

Closed depfu[bot] closed 1 year ago

depfu[bot] commented 1 year ago

Welcome to Depfu πŸ‘‹

This is one of the first three pull requests with dependency updates we've sent your way. We tried to start with a few easy patch-level updates. Hopefully your tests will pass and you can merge this pull request without too much risk. This should give you an idea how Depfu works in general.

After you merge your first pull request, we'll send you a few more. We'll never open more than seven PRs at the same time so you're not getting overwhelmed with updates.

Let us know if you have any questions. Thanks so much for giving Depfu a try!


Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request.

What changed?

✳️ fast-glob (3.2.2 β†’ 3.3.0) Β· Repo

Release Notes

3.3.0

Full Changelog: 3.2.12...3.3.0

πŸš€ Improvements

Method aliases

New methods (glob, globSync, globStream) have been added in addition to the current methods (default import, sync, stream), which eliminate the need to rename the method when importing. In addition, an async alias has been added for the default import, which makes it possible to use this packet with ESM.

Method to convert paths to globs

A new method (convertPathToPattern) has been added in this release to convert a path to a pattern. The primary goal is to enable users to avoid processing Windows paths in each location where this package is used by utilities from third-party packages.

See more details in the pull request.

πŸ› Bug fixes

  • In the past, we mishandled patterns that contained slashes when the baseNameMatch option was enabled, which went against the documented behavior. (#312)
  • Several problems with matching patterns that contain brace expansion have been resolved. The primary issue solved is when the pattern has duplicate slashes after it is expanded (#394), or the micromatch package does not correctly generate a regular expression (#365).
  • All negative patterns will now have the dot option enabled when matching paths. Previously, the !**/* patterns did not exclude hidden files (start with a dot). (#343)
  • The issue that led to duplicates in the results when overlapping or duplicate patterns were present among the patterns has been fixed. At the moment, we are only talking about leading dot. Other cases are not included. For example, running with the patterns ['./file.md', 'file.md', '*'] will now only include file.md once in the results. (#190)

πŸ“– Documentation

A clarifying note has been added for the concurrency option, which provides more detailed information about the Thread Pool utilization.

βš™οΈ Infrastructure

  • The benchmark in CI is now running on Node.js 20.
  • The benchmark now uses the public package bencho instead of an in-house implementation. You may want to try this solution for your packages and provide feedback.

πŸ₯‡ New Contributors

3.2.12

Full Changelog: 3.2.11...3.2.12

πŸ› Bug fixes

Fixed an issue introduced in 3.2.7 related to incorrect application of patterns to entries with a trailing slash when the entry is not a directory.

Before changes:

fg.sync('**/!(*.md)')
// ['file.md', 'a/file.md', 'a/file.txt']

After fix:

fg.sync('**/!(*.md)')
// ['a/file.txt']

Thanks @AgentEnder for the issue (#357).

πŸš€ Improvements

This release includes performance improvements for the asynchronous method. For this method we now use an asynchronous directory traversal interface instead of using a streaming interface. This gives up to 15% acceleration for medium and large directories. The result depends a lot on hardware.

You can find the benchmark results for this release in CI here.

Here are a few of measurements on my laptop:

===> Benchmark pattern "*" with 100 launches (regression, async)
===> Max stdev: 7 | Retries: 3 | Options: {}

Name                   Time, ms  Time stdev, %  Memory, MB  Memory stdev, %  Entries  Errors  Retries
---------------------  --------  -------------  ----------  ---------------  -------  ------  -------
fast-glob-current.js   4.390     0.252          6.253       0.015            4        0       1
fast-glob-previous.js  5.653     0.633          6.051       0.056            4        0       1

===> Benchmark pattern "**" with 100 launches (regression, async)
===> Max stdev: 7 | Retries: 3 | Options: {}

Name                   Time, ms  Time stdev, %  Memory, MB  Memory stdev, %  Entries  Errors  Retries
---------------------  --------  -------------  ----------  ---------------  -------  ------  -------
fast-glob-current.js   34.587    1.287          10.654      0.607            11835    0       1
fast-glob-previous.js  41.972    2.086          10.236      1.224            11835    0       1

3.2.11

Full Changelog: 3.2.10...3.2.11

πŸ› Bug fixes

Yeap, this is another release aimed at fixing problems with detecting brace expansions in patterns. This time, patterns like abc/{a.txt,b.js} was not marked as a dynamic pattern. So, now the regex has been rewritten to a generalized solution as a function to avoid future problems due to the complexity of the regular expression.

Thanks @MurzNN for the report of this problem (#351).

3.2.10

Full Changelog: 3.2.9...3.2.10

πŸ› Bug fixes

  • Fixed a regression in 3.2.8 when the {a,b,c} pattern no longer considered a dynamic pattern (thanks @amitdahan, #347).

πŸ₯‡ New Contributors

3.2.9

Full Changelog: 3.2.8...3.2.9

πŸ› Bug fixes

  • Fixed a regression in 3.2.8 with invalid regular expression on older node.js versions (#345).

3.2.8

Full Changelog: 3.2.7...3.2.8

πŸ› Bug fixes

Fix directory matching with trailing slashes (#290)

Thanks @Trott for investigating the problem and the detailed description.

Previously the src/*/ pattern did not work as expected (like src/*).

Double-slash in the middle of the pattern is not collapsed (#330)

Starting from this release, patterns like src//* will work like similar patterns without duplicate slashes. This was done for continuity with other solutions (glob, ls src//*, python, golang, …).

Adjust inefficient regular expressions (#336, #342, #344)

Thanks @Trott for fixing bugs and @XhmikosR for adding the CodeQL action to CI pipeline.

πŸ“– Documentation

βš™οΈ Infrastructure

πŸ₯‡ New Contributors

3.2.7

πŸ› Bug fixes

The previous release (3.2.6) introduced a regression, thanks to which negative patterns were not applied to patterns outside the current directory.

This release fixes the issue.

3.2.6

πŸ› Bug fixes

  • Now you can use patterns related to the parent directory along with the regular ones. (#310, #316)
// Patterns inside current directory β†’ ['*', './*.js']
// Patterns outside current directory β†’ ['../*', './../*.js']

// Previously you could specify a patterns outside current directory.
fg.sync(['../*.txt']) β†’ ['../file.txt']

// But when the pattern inside current directory was added to them, the behavior broke down.
fg.sync(['*.md', '../*.txt']) β†’ ['file.md'] // The '../file.txt' file exists

// After this fix you can mix both kinds of patterns.
fg.sync(['*.md', '../*.txt']) β†’ ['file.md', '../file.txt']

// Right now we do not support patterns like '{.,..}/*.md'.

πŸ“– Documentation

  • Added clarifications for the followSymbolicLinks option.

βš™οΈ Infrastructure

  • The glob-parent package has been updated to fix vulnerabilities. (#304)
  • The micromatch package has been updated to eliminate dependency on the picomatch package from this package. (#256)
  • Node.js 16 has been added to the CI configuration to run tests and benchmarks. Now benchmarks will run only on this version. (#311)
  • The tiny-glob package has been added to the synchronous product benchmarks. (#323)
  • The fdir package has been added to synchronous and asynchronous product benchmarks. The latest launch. (#322)
  • The .npmignore file has been replaced by the files field in the package.json file. (#321)

3.2.5

πŸ› Bug fixes

πŸ“– Documentation

  • Fix examples for the markDirectories option (#287, thanks @yarastqt).

βš™οΈ Infrastructure

  • Use the latest versions of OS in CI (#279).
  • Move from Azure Pipelines to GitHub Actions (#299).

3.2.4

πŸ› Bug fixes

  • Fixed a regression in 3.2.3 when the caseSensitiveMatch option is disabled (#276)

3.2.3

πŸ› Bug fixes

  • Fixed an issue when the unique option led to incorrect results when mixing static and dynamic patterns (#268)
  • Fixed an issue when the pattern starting with a forward slash (#266)

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.


Depfu Status

Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.

All Depfu comment commands
@​depfu rebase
Rebases against your default branch and redoes this update
@​depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@​depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@​depfu cancel merge
Cancels automatic merging of this PR
@​depfu close
Closes this PR and deletes the branch
@​depfu reopen
Restores the branch and reopens this PR (if it's closed)
@​depfu pause
Ignores all future updates for this dependency and closes this PR
@​depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@​depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)
depfu[bot] commented 1 year ago

Closed in favor of #57.