Hacker News new | ask | show | jobs
by basicallybones 1430 days ago
I have been using Bazel (4, then 5) as the build tool for a small Go monorepo with ~10 (and growing) Dockerized applications importing a handful of internal packages. The initial setup was a bit of a learning curve, and it is overkill for our current stack, but builds are very fast.

At the same time, I have been using NX for a larger (though not huge) Javascript monorepo. Javascript is my strongest language, so take this with a grain of salt, but at my org's scale I vastly prefer the NX experience over Bazel. I think the reason is that NX feels like an optimized, natural extension of normal Javascript build tooling, while Bazel requires an entirely separate set of knowledge.

1 comments

I think it’s good advice in general that if you are only trying to build a single language then stick to sensible defaults in that language.

But once you start running into things like multiple languishes and multiple platforms etc it probably makes sense to think about something like Bazel but I agree with you as of right now the learning curve is way too high. I’m very curious to see where they can get it to in a few years, as I mentioned in my other comment, the 6.0 release with bzlmod along with the toolchains and platforms APIs starts to make things quite a bit more grokkable but there is still a long way to go yet I think.