|
|
|
|
|
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. |
|
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.