Fixed mode doesn't always publish vesrions?
See original GitHub issueI’m sort of confused. I’ve been using the independent
mode for Slate forever, which allows packages to change versions independently of each other.
I’d like to change to the fixed
mode to make it easier for people to see which ones are compatible. But… it sounds like it only ever publishes versions when code changes inside a package still?
For example, if I had two packages:
a: 1.0.0
b: 1.0.0
b
depends on a
.
If I make a breaking change to b
that happens to not require any changes to a
, then when I went to publish (and select major
because it contains a breaking change) I’d end up with:
a: 1.0.0
b: 2.0.0
Since a
didn’t have any source code changes. Is that right?
But now users can’t just line up the versions anymore? What’s the purpose of fixed
mode if it doesn’t actually ensure that there are always matching versions of each package?
Issue Analytics
- State:
- Created 4 years ago
- Comments:6 (1 by maintainers)
Top GitHub Comments
@evocateur thanks for the explanation!
Is there a way to keep the packages minor-consistent or patch-consistent with Lerna?
It feels like something that either should be configurable, or have a better default of patch being allowed to diverge but major and minor not. Because just looking at a few of the most-popular examples:
react
ensures that their packages (react
,react-dom
,react-is
, etc.) are always exactly equivalent to the patch level. This makes it super easy to upgrade all of the inter-dependent ones when you need to in apackage.json
.react-router
doesn’t go quite as far (although maybe they would if was easier), and they ensure that their packages (react-router
,react-router-dom
,react-router-native
, etc.) are always equivalent to the minor level.The current default of major seems too loose.
And how does it handle pre-
1.0.0
packages? Does it know that people tend to think of0.6 -> 0.7
as being major changes and factor that in? (A minor default would side step this issue. And a configurable option would allow the maintainer to handle it.)Hi Folks 👋
You will have seen in our message above that we at Nrwl are working really hard to bring the lerna repo up to date with what matters most to its community in June 2022.
As previously stated in that message, because we have not heard from the original author of this issue within the last 14 days, we are now automatically closing it.
If any users, including the original author, are still impacted by this issue then we still want to hear from you!
All we ask is that you first update to the latest lerna (
5.1.4
at the time of writing) to make sure it is still reproducible, and then fill out one of our new issue templates, providing all the requested details which apply to your situation:https://github.com/lerna/lerna/issues/new/choose
Many thanks again! 🙏
P.S. Over and above getting to grips with the repo, we have also been hard at work launching a new website, resolving all vulnerabilities, merging exciting new features and reigniting community PR contributions! 🚀
You can read our recent blog post to learn more about what we’ve been up to: https://blog.nrwl.io/lerna-5-1-new-website-new-guides-new-lerna-example-repo-distributed-caching-support-and-speed-64d66410bec7