You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When the first release of @shopify/hydrogen in 2024 will be out:
people using the 2024 release in their project won't be able to install our package anymore (because of the requirement for ^2023.10.3),
unless we update our package (to require ^2024.1.3), in which case people not updating @shopify/hydrogen in their project won't be able to update our package.
This restriction is in place because a change of the major number is supposed to indicate breaking changes. But with calver, it's unnecessary friction.
What do you recommend? The only way I can think of, is to not declare a version number, but it feels wrong:
"peerDependencies": {
"@shopify/hydrogen": "*",
}
I would also be very interested to know the reasons that made Shopify choose calver instead of semver. (Calver seems appropriate for applications or OSs, but not for libraries on which applications or other libraries depend. Definitely not when these libraries are managed with NPM, which recommends semver.)
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
We are developing a library which has
@shopify/hydrogen
as a peer dependency:When the first release of
@shopify/hydrogen
in 2024 will be out:^2023.10.3
),^2024.1.3
), in which case people not updating@shopify/hydrogen
in their project won't be able to update our package.This restriction is in place because a change of the major number is supposed to indicate breaking changes. But with calver, it's unnecessary friction.
What do you recommend? The only way I can think of, is to not declare a version number, but it feels wrong:
I would also be very interested to know the reasons that made Shopify choose calver instead of semver. (Calver seems appropriate for applications or OSs, but not for libraries on which applications or other libraries depend. Definitely not when these libraries are managed with NPM, which recommends semver.)
Beta Was this translation helpful? Give feedback.
All reactions