Live data from Hacker News

Turborepo 1.2: High-performance build system for monorepos

turborepo.org

1–10 of 55 posts

Re: Turborepo 1.2: High-performance build system for monorepos

#2
Hey! In case you missed it, Turborepo launched 1.0 a few months ago[1].

This 1.2 release is important, as it includes --filter[2] (highly requested). You're able to much more easily filter tasks, instead of the previous --scope, --include-dependencies, --since, and --no-deps flags.

Happy to answer any questions about Turborepo or monorepos in general (recently wrote an entire post about them[3]).

[1]: https://turborepo.org/blog/joining-vercel

[2]: https://turborepo.org/docs/features/filtering

[3]: https://vercel.com/blog/monorepos-are-changing-how-teams-bui...

Re: Turborepo 1.2: High-performance build system for monorepos

#3
> Turborepo is a high-performance build system for JavaScript and TypeScript codebases.

> Vercel, the well-funded front-end development platform from the team behind Next.js, today announced that it has acquired Turborepo, a high-performance build system for JavaScript and TypeScript monorepos, an increasingly popular way for organizing source code into a single repository that includes all of the necessary packages to build an application.

Re: Turborepo 1.2: High-performance build system for monorepos

#7
Well done and congrats to the Turborepo team on the launch as well as the Vercel merger, which I think is a great thing for the JS ecosystem!

We now have a healthy competition between several JS domain-specific build tools bit.dev, Nx, Turborepo, and Rush. This is in addition to plugins to general purpose monorepo tooling like rules_nodejs (Bazel). I'm looking forward to the seeing the new ideas that come out from the community as this field matures.

However, I feel a bit sad at the state of general purpose build tools (Bazel/Pants/Buck, make, GitHub Actions, Maven, Nix) or cloud-based IDEs (Cloud9, Codespaces). These tools come off as too complex to operate and build on top of such that we, the JS community, seem to be choosing to build JS-specific tooling from scratch instead. There are a huge number of mostly non-JS-specific problems that monorepo tooling eventually needs to solve: distributed build artifact and test result caching, distributed action execution, sandboxing, resource management and queuing, observability, and integration with other CI tools to name a few. I wish somehow we could reorganize around a smaller set of primitives instead of what appears to be reinventing the wheel.

Regardless, I think all of this effort and attention has lent credence to the monorepo thesis, and I'm very excited to see what's next.

Re: Turborepo 1.2: High-performance build system for monorepos

#8
I'm working with some fairly large monorepos and compile times. To be completely honest, JS is the least of our concerns when it comes to build time, things are pretty snappy when compared to other code bases like C, and Java even with tools like Bazel.

Re: Turborepo 1.2: High-performance build system for monorepos

#9
post #4

The main page says it's for JavaScript and TypeScript codebases. Will it support other languages?

From what I've seen, the scope of this project is to compete directly against the likes of Rush and Lerna. I spoke to the creator last year and my impression was that general language support akin to Bazel's was not a primary/immediate goal.

Re: Turborepo 1.2: High-performance build system for monorepos

#10
post #6
post #4

The main page says it's for JavaScript and TypeScript codebases. Will it support other languages?

Your best bet for monorepo building across a variety of languages is Nix. If money is no object you can also make do with Bazel.

Curious as to why "if money is no object" regarding Bazel? Where are the hidden costs? Appreciate it if you could elaborate

I haven't used it before but i'm considering Bazel, Please.Build or Nix for our monorepo.

Post reply on HN