isaacs / minimatch

a glob matcher in javascript

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

breaking change in minimatch v3.0.5

ljharb opened this issue · comments

https://unpkg.com/browse/minimatch@3.0.5/minimatch.js has an arrow function (and const and spread); https://unpkg.com/browse/minimatch@3.0.4/minimatch.js doesn't.

https://unpkg.com/browse/minimatch@3.0.4/package.json and https://unpkg.com/browse/minimatch@3.0.5/package.json both explicitly declare they work in every node version; i use it in tape, whose contract goes down to node 0.4.

@ljharb see #152

It is closed, but people are complaining in comments (including me).
I agree : it is a breaking change and it should not be included in a simple patch version. It should have been released as major version.

It’s also an addition in a patch version, which semver dictates should make it a minor.

I'm struggling with the same issue, so many deeply nested dependencies of some projects are using this package, so we can't have a working build due to this breaking change on minor SEMver version.

@isaacs Please at least remove this patch version which makes no sense.

That is an incredibly old node version. You need to be able to use ()=>{} syntax these days, I'm sorry.

I understand this, but hey, by not respecting the versioning system you use, you are actually punishing people that trusted your work. A bit sad..

Note that "pin your versions" doesn't solve this for dependents; tape v5.5.1 pins minimatch to v3.0.4, but other things (that don't have the same version compatibility) pull in v3.0.5 (especially on older npm versions), which means that it's going to force every consumer to pin the version.

Thank you very much for this fix ❤️