Fix: override wildcard glob pattern (**) in resolveFilePathsFromPatterns#5825
Conversation
pmuens
left a comment
There was a problem hiding this comment.
This is great! Thanks for taking a deeper dive into this and fixing it @svlapin 👍
I just tested it and it works great! Took more than 2 minutes vs. 2 1/2 seconds. This is awesome 👌
I just added a clarification comment to the code you changed so that others who might touch this won't change the order by accident. Also looked into potential test cases, but other than mocking globby there's no way to test this in a meaningful way...
Will merge once Travis agrees ![]()
|
Thanks for the review @pmuens 👍 |
What did you implement:
Ability to override wildcard glob pattern by a negative
params.includeto avoid unnecessary traversal and get much faster glob matching during packaging in some cases.When
globbyis provided with an array of patterns, it adds all subsequent negative patterns asignoreoption of a particular task (source code here). However, that is not useful when the wildcard comes the last (as it is now) -ignorefor the relevant matching task is always empty.Putting the least specific pattern first makes it possible to override it with a subsequent negative one and avoid unnecessary traversal in e.g.
node_modules,.git, etc.Related to #4263, #5574.
How did you implement it:
Put wildcard pattern
**first inresolveFilePathsFromPatterns.How can we verify it:
Minimal example
Without this PR:
With this PR:
Todos:
Is this ready for review?: YES
Is it a breaking change?: NO