Lerna vs Turborepo
The old monorepo tool vs the new one. Lerna was dead, got acquired by Nx, and rose from the grave. Turborepo was born fast.
Turborepo
Turborepo is simpler, faster, and requires less configuration. Lerna is more feature-rich for publishing packages, but Turborepo's caching and parallelism are what most teams actually need.
Monorepo Tooling
Monorepos are great until they're slow. When building 20 packages takes 10 minutes, you need a tool that understands the dependency graph and skips unchanged work.
Lerna was the original solution. It became unmaintained, Nrwl (Nx) acquired it, and now it's active again. Turborepo was built by Jared Palmer, acquired by Vercel, and designed for speed.
Why Turborepo Wins on DX
One turbo.json file. Define your pipeline (build, test, lint), declare dependencies between tasks, done. Turborepo figures out the rest.
Remote caching means your CI shares build artifacts with your team. I built this package yesterday? You get my cached output. Huge time savings.
The CLI is fast and the output is clean. Parallel task execution with a visual display of what's running.
Where Lerna Still Shines
Package publishing. Lerna's lerna publish handles versioning, changelogs, npm publishing, and git tags in one command. Turborepo doesn't do publishing.
With Nx backing it, Lerna now has computation caching too. The gap has narrowed significantly.
And if you're already on Lerna, migrating to Turborepo is work. Lerna 7+ with Nx caching might be good enough.
Quick Comparison
| Factor | Lerna | Turborepo |
|---|---|---|
| Task Running | Good (via Nx) | Excellent |
| Caching | Yes (via Nx) | Built-in + remote |
| Publishing | Excellent | Not supported |
| Config | lerna.json + nx.json | turbo.json |
| Learning Curve | Moderate | Easy |
| Versioning | Built-in | Use changesets |
| Backing | Nx (Nrwl) | Vercel |
The Verdict
Use Lerna if: You need package publishing workflows, are already on Lerna, or want the full Nx ecosystem for computation caching.
Use Turborepo if: You want the simplest monorepo task runner with excellent caching. Start here for new monorepos.
Consider: Nx itself is the full-featured option. Moonrepo for polyglot monorepos (not just JavaScript).
Turborepo is simpler, faster, and requires less configuration. Lerna is more feature-rich for publishing packages, but Turborepo's caching and parallelism are what most teams actually need.
Related Comparisons
Disagree? nice@nicepick.dev