eslint / rewrite

Monorepo for the new version of ESLint
Apache License 2.0
168 stars 11 forks source link

Update `minimatch` #66

Open benmccann opened 5 months ago

benmccann commented 5 months ago

Which packages would you like to change?

What problem do you want to solve?

Upgrading to a newer version would reduce the number of dependencies and allow the remaining dependencies to dedupe better

https://github.com/eslint/rewrite/blob/85018903815908bcfd940bbda347f3f17663e4bd/packages/config-array/package.json#L51

What do you think is the correct solution?

version 9 is now available. if it's a difficult upgrade perhaps upgrading to an intermediate version would be an easier step

Participation

Additional comments

No response

mdjermanovic commented 5 months ago

We're using minimatch v3 in ESLint too, for both flat and eslintrc config functionalities. We're also using minimatch v3 in @eslint/eslintrc, which is still a dependency of ESLint. So if we upgrade only here, there will still be minimatch v3 in the dependency tree, which is probably not what we want. Since we'd prefer not to make any changes in eslintrc code at this point, I think it would be better to postpone this upgrade for ESLint v10, when we'll remove everything related to eslintrc.

@eslint/eslint-tsc thoughts?

nzakas commented 5 months ago

IIRC, the reason we haven't upgraded is because it looked like there were some changes in functionality that caused our tests to break. I don't see any compelling reason to upgrade right now.

We can definitely think about this for v10, though we should keep in mind that this package will be depended by v9 as well, which should affect how we manage semver around this.

bluwy commented 4 months ago

One reason to upgrade is to cleanup the dependency graph a little. For minimatch@3:

image

ESLint is currently the main factor concat-map v0.0.1 (unnecessary package and no longer depended by minimatch) still has 46M downloads/week.

Understandably it's hard to ensure all eslint packages update at the same time and without breaking changes, but I hope we can slowly trim down transitive packages and code as eslint adapts to newer node versions.

nzakas commented 4 months ago

@bluwy we aren't looking for reasons to upgrade. As already mentioned, when we tried upgrading before it broke some behavior so that's the key consideration here.