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

Should we still use lerna independent mode? #410

Open
klis87 opened this issue Dec 5, 2020 · 2 comments
Open

Should we still use lerna independent mode? #410

klis87 opened this issue Dec 5, 2020 · 2 comments

Comments

@klis87
Copy link
Owner

klis87 commented Dec 5, 2020

I really cannot decide, for now we use lerna independent mode, but really in the future it might be hard to know which packages are compatible with each other, for example we could have axios driver version 5 compatible with core 3 but not 4 and so on. Peer dependencies could have ranges, but still...

On the other hand, giving up independent mode will force major releases always for all packages, for example making a breaking change for axios driver will force also to make major release for core for its next version. I am thinking this is lesser evil, but wondering what you think.

I really want to make this decision before 2.0

@avasuro
Copy link

avasuro commented Jan 20, 2021

As an end user, I'd prefer to see new package version only when something in this package changes (+ it will be good to have separate CHANGE.log file for each package, where I will be able to see list of fixes/improvements/breaking changes for this specific package), so independent mode + conventional commits + some automation to bump version and make change.log from commits history looks better.

But I also know that from the point of view of library developers using independent mode is a huge pain :) And I doubt that you will run integration tests between different versions of packages to ensure they works good together (because it is impossible or almost impossible with Lerna - you can test only latest releases). Because of that I see reasonable to drop independent mode and say to people to update all set of packages when new version releases.

@klis87
Copy link
Owner Author

klis87 commented Jan 20, 2021

Because of that I see reasonable to drop independent mode and say to people to update all set of packages when new version releases.

It was a while since I used not independent mode, but I believe that not changed package are not released like in independent mode. The only difference is that in the independent mode you can independently update packages to different versions, but in not dependent, you just pick one version for all updated packages.

In my view the biggest problem with independent mode is hard to understand combination of compatible packages. Yes, we can use restrictions in peer dependencies, but it is not transparent, in comparison to dependent mode. There, you just download all packages of the same version without thinking and it should work.

I really think I will give up independent mode when releasing 2.0. This is what popular packages do as well, like Babel for example.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants