Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

switch to fast-glob to remove 6 dependencies #214

Merged
merged 6 commits into from
Aug 9, 2024

Conversation

benmccann
Copy link
Contributor

@benmccann benmccann commented Jul 8, 2024

Copy link

changeset-bot bot commented Jul 8, 2024

🦋 Changeset detected

Latest commit: ee161c2

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@manypkg/tools Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@benmccann benmccann changed the title switch to fast-glob switch to tinyglobby to remove 21 dependencies Jul 22, 2024
@Andarist
Copy link
Collaborator

why a change from fast-glob to tinyglobby? What features do we lose in either case?

@benmccann
Copy link
Contributor Author

fast-glob has 17 dependencies (https://npmgraph.js.org/?q=fast-glob) whereas tinyglobby has only 2

I'm not sure I understand your question about features. tinyglobby supports all of the features we're using here (and all of the tests pass, which helps demonstrate that). If there's some particular feature that fast-glob has that you think we may use in the future I can check about getting that added to tinyglobby. We can always switch to fast-glob if needed in the future, but right now that seems pretty hypothetical. The use of globbing functionality here is pretty minimal

@Andarist
Copy link
Collaborator

Not all glob libraries are compatible in terms of the patterns they support. So I wonder if any user-provided pattern can change meaning with this change. I'm also not to keen on changing this for a library that currently has 67 weekly downloads.

@benmccann
Copy link
Contributor Author

benmccann commented Jul 30, 2024

Not all glob libraries are compatible in terms of the patterns they support. So I wonder if any user-provided pattern can change meaning with this change.

That's a great call out and something I should have mentioned in the PR description. There is a very tiny change here, which is that numerical expansion within braces (e.g. {01..03}) is not supported with this new library. Besides that, all other glob functionality is the same since both globby and tinyglobby use picomatch under the covers for the majority of matching

I'm also not to keen on changing this for a library that currently has 67 weekly downloads.

It is a very new package. However, it has been adopted by a number of projects already. tinyglobby now has over 85,000 downloads / week

Copy link
Member

@emmatown emmatown left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with @Andarist here on using fast-glob over tinyglobby here for both the fact that fastglobby is still quite new and fast-glob is what at least pnpm and Yarn use and we're aiming for compatibility with them.

@benmccann benmccann changed the title switch to tinyglobby to remove 21 dependencies switch to fast-glob to remove 21 dependencies Aug 9, 2024
@benmccann benmccann changed the title switch to fast-glob to remove 21 dependencies switch to fast-glob to remove 6 dependencies Aug 9, 2024
@benmccann
Copy link
Contributor Author

Thanks @emmatown! I really appreciate all the reviews. I've updated the PR to stick with fast-glob for now. I'll see if pnpm and yarn might be willing to switch and perhaps we could revisit it later on if so

@emmatown emmatown merged commit 66cdbc0 into Thinkmill:main Aug 9, 2024
2 checks passed
@benmccann benmccann deleted the globby branch August 9, 2024 01:20
@github-actions github-actions bot mentioned this pull request Aug 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants