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

breaking changes to node engine included in patch release #51

Closed
zburke opened this issue Mar 25, 2022 · 9 comments · Fixed by #52
Closed

breaking changes to node engine included in patch release #51

zburke opened this issue Mar 25, 2022 · 9 comments · Fixed by #52

Comments

@zburke
Copy link
Contributor

zburke commented Mar 25, 2022

The lint changes introduced in 3c4f558 and published in v4.0.9 changed the supported node runtime from ">= 8.0.0" to ">= 14.0.0". This breaking change should have been released in a new major version instead.

@Pranavbhartia
Copy link

This is affecting our projects based on SAP Spartacus as well. We don't have control over the deployment environments and this change has now blocked us from deploying any changes to the SAP Commerce Cloud.

Is there anything we can do to force a version, so yarn install doesn't pickup the latest version of the library? I couldn't find this library on the package.json, so not entirely sure how it's being referenced.

@brunohlippert
Copy link

Same problem here. As a temporary fix you can add this to your package.json file
"resolutions": { "isbinaryfile": "4.0.8" },

@Pranavbhartia
Copy link

"resolutions": { "isbinaryfile": "4.0.8" },

Thank you so much for this @brunohlippert. Worked like a charm.

@zburke
Copy link
Contributor Author

zburke commented Mar 25, 2022

@Pranavbhartia , isBinaryFile is a dependency of many, many things. yarn why isbinaryfile (or npm why isbinaryfile) will show you your dependency tree so you can find out why it's being pulled into your project as a transitive dependency.

NB: resolutions is available in yarn only; in npm >= 8, use overrides to accomplish the same thing.

@gjtorikian
Copy link
Owner

The engine was changed because I don't want to encourage installations and support for old Node versions.

A solution as mentioned is to ping the version of the package; or, upgrade your Node version.

I'm quite surprised so many people are using this. Please consider sponsoring this project.

@mvilliger
Copy link

And how about publishing a fixed version 4.0.10 having the old node requirements and publish your new change as 5.0.0?
Then you could also drop the support for 4.0.10 and continue with 5.x?

@gjtorikian
Copy link
Owner

No thanks. Then people will ask me to support two releases. As features/security updates come into the 5.x branch, people will want them in the 4.x branch.

@mvilliger
Copy link

Yes, this might be possible. But still you could deny such requests. In my opinion this would still be better than introducing a breaking change.

@gjtorikian
Copy link
Owner

The request I am denying is to have two releases.

Pin to an older version, upgrade Node, fork this project, or sponsor me—those are the only choices.

Repository owner locked as resolved and limited conversation to collaborators Mar 25, 2022
zburke added a commit to zburke/isBinaryFile that referenced this issue Mar 25, 2022
Fix gjtorikian#51 by restoring engines.node compatibility to its pre-3c4f558
range in order to avoid introducting breaking compatibility changes in
a patch release. While these changes are welcome, they indicate a change
in compatibility and therefore should have been included in a new
major-version release rather than in a patch release.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants