Due to the updated package reference of mkdirp this package no longer works with yarn install on node <10. Since this package is referenced as "modernizr": "^3.5.0" in modernizr-webpack-plugin the breaking change was inherited as this is still version 3.
This was resolved in our application by updating the package.json to include
"resolutions": {
"modernizr": "3.8.0"
}
This seems to be an issue that modernizr-webpack-plugin should fix, shouldnt it?
Node < 10 is not supported anymore by the node founation thats why I had no problem with upgrading the mkdirp dependency...
While I agree they can update the dependency ref and require up to 3.8.0 instead of the latest minor version, it does not change the fact that the latest minor version is not backwards compatible. If you are fine ending support for Node < 10 then make it a clear and defined breaking change and increment the major version number.
Edit: And for a product that has seen minor changes for years, with many dependent products no longer supported, it would be a no-brainer to increment the major version if for nothing else to avoid issues like this.
I guess we will disagree on wether the change to the build infratstructure of this project warrants a major version bump. The API of this library is unchanged and you can user modernizr as usual.
Maybe you would ike to contribute a PR to the modernizr-webpack-plugin to get it up-to-date with the current environment?
Well I guess we will disagree if you decide not to follow semver versioning as would be expected of a respectable project. I guess anyone who depends on your project should be extra wary about the way you decide to consume breaking changes from projects you depend on into your own. But hey, the original intent was just to inform you and anyone else who stumbles into this issue. Since you feel you are beyond constructive feedback and are just dismissive then good riddance.
Like I said: The API of this library didnt change (as is mentioned in the original semver document: https://semver.org/), thats why I didnt update the major version. I am sorry if that breaks unmaintained and old projects but I try my best to keep at least this one here and its associated projects up-to-date. I created a PR and asks questions in the other project. Thank you for your constructive feedback, I turned it into some productive work.
Well, I had a similar case with some other library too. I would also bump the major version as webpack 4 still supports Node 8 and has to.
I will probably create a fork so people can still use it. Or we should pin the mkdirp package.
Well, I had a similar case with some other library too. I would also bump the major version as webpack 4 still supports Node 8 and has to.
Looking at the webpack repo they require for their engine also >= 10.13 How come that works still then?
Also, why create a fork of this repo when you iMHO should fork the webpack-modernizr plugin and fix that? There you can pin the modernizr version and possibly fix some other stuff too.
Looking at the webpack repo they require for their engine also >= 10.13 How come that works still then?
You are looking at the wrong branch ;-)
Also, why create a fork of this repo when you iMHO should fork the webpack-modernizr plugin and fix that? There you can pin the modernizr version and possibly fix some other stuff too.
Because it seems this package is the one which does not follow SemVer, not the webpack plugin which might not be aware of this issue. ;-)
I will create a fork for Node 8 support which will have all the upstream changes from this here except the version bump of mkdirp.
Not sure if it is still actively maintained but the change here in this repo breaks all upstream packages which might still require Node 8 (and 6) ;-)
I will try to contact the maintainers of it to switch to the Node 8 version then.
https://github.com/alexpalombaro/modernizr-webpack-plugin/issues
I just released v3.9.1 that reverts the mkdirp dependency change. No need to fork this actively maintained project and hope that the abandoned project switches to that fork...
I just released v3.9.1 that reverts the mkdirp dependency change. No need to fork this actively maintained project and hope that the abandoned project switches to that fork...
Thank you very much for that =)
For reference (webpack 4 still requires Node 6+):
https://github.com/webpack/webpack/blob/webpack-4/package.json#L87
https://github.com/webpack/webpack/blob/v4.41.6/package.json#L87
Only webpack 5 (which is still not released as final stable release, only available as beta version at this moment) requires a higher Node version.
hope that the abandoned project switches to that fork...
I would have created a fork of the other project too and explicitly released it for webpack < 5 plugin and inform upstream packages until I would have gotten the response from the current maintainers of the webpack plugin.
Most helpful comment
I just released v3.9.1 that reverts the mkdirp dependency change. No need to fork this actively maintained project and hope that the abandoned project switches to that fork...