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

Replace Lerna with another alternative #4829

Closed
matuzalemsteles opened this issue Apr 28, 2022 · 3 comments
Closed

Replace Lerna with another alternative #4829

matuzalemsteles opened this issue Apr 28, 2022 · 3 comments
Labels
comp: infrastructure They are used in problems that are related to monorepo infrastructure, build, process automation... type: enhancement Issues that are open to bring improvements or refinement of code

Comments

@matuzalemsteles
Copy link
Member

Lerna is officially not being maintained anymore, it has come over the years without many updates or bug fixes, it was recently updated that it is no longer being maintained. We need to look for other alternatives for this, we currently use lerna a lot to generate changelog, cut version and publish packages.

We also used it for build but it was always very slow, we can try using Turborepo to handle the build part and using Changesets to handle versioning and changelog. Consequently, we can have a much faster build compared to before, so the CI can run faster too, this also impacts #4822.

@matuzalemsteles matuzalemsteles added type: enhancement Issues that are open to bring improvements or refinement of code comp: infrastructure They are used in problems that are related to monorepo infrastructure, build, process automation... labels Apr 28, 2022
@matuzalemsteles
Copy link
Member Author

Lerna announced yesterday that it is officially with a new official maintainer, the company Nrwl will be maintaining and it is also the same company behind nx.

Some things I investigated about it, Turborepo has already been merged and has had significant improvements in our CI, at least 2x faster, it will also improve local development for those who are using the build that is less frequent.

Changesets are a very different workflow to what we do today, switching to it requires us to change our workflow, for example, to cut a new version and create changelogs, the changesets do not use commit tracking using conventional commits for this, the flow is quite different and quite interesting I think, you create logs of the changes you are making, for example when sending a PR of a change you also send an automatically generated file using the Changesets CLI, defining which file should change version following the semver and the change description, at the end when cutting a new version it takes all these logs, generates the changelog and sets the version and deletes these log files.

I think switching to this now would require all people contributing to Clay to switch to this stream and follow suit, otherwise, it would be a big problem. As we have news that Lerna has a new official maintainer I think it is safe to keep Lerna for now just to publish and cut the Clay package version and we will be using Turborepo only for the build pipeline which is much faster.

Following this I'm closing this PR we can come back with it if needed.

@juristr
Copy link

juristr commented May 25, 2022

I know this issue is closed. But as of today Lerna even got at least 5x faster than Turbo 😉
All details here: https://blog.nrwl.io/lerna-used-to-walk-now-it-can-fly-eab7a0fe7700?source=friends_link&sk=6c827ec7c9adfc1c760ff2e3f3e05cc7

@matuzalemsteles
Copy link
Member Author

Oh this is great, thanks @juristr for sharing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp: infrastructure They are used in problems that are related to monorepo infrastructure, build, process automation... type: enhancement Issues that are open to bring improvements or refinement of code
Projects
None yet
Development

No branches or pull requests

2 participants