Replace glob
with faster alternative
#836
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
glob
is far from ideal considering its 26 subdependencies and not that fast speed. This PR replaces its use withfdir
(the fastest dir crawler out there) andpicomatch
. They have both a total of zero (0) subdependencies, making this not just a faster approach, but also one that's way lighter.This PR makes
sucrase
go from 41 total subdependencies to just 16, reducing its total package size from 5.4 MB to about 1.8 MB :ONote: since
picomatch
supports an array of patterns, the loop that went over the patterns is not necessary anymore and was removed. Also refactored the skipping file types logic into picomatch's built-inignore
optionRelevant prior work: https://e18e.dev/guide/cleanup.html, dotenvx/dotenvx#278
Package size report
(tool source)