Nikhil Dev Chunchunikhildev.com·Oct 22, 2024A practical example of shared libraries in a monorepoOne of the most powerful aspects of working in a monorepo is the ability to share code between packages/teams/hierarchies. In this post I will try to explain a very simple real world scenario Example Scenario Imagine you want to develop a library to ...140 readsBuilding in a monorepo using Bazel and Go langbazel
Nikhil Dev Chunchunikhildev.com·Oct 15, 2024Simple hello world program using Bazel and Go langAfter writing the post on Building with Go in a monorepo using Bazel, Gazelle and bzlmod and sharing with some colleagues, I saw some growing interest in monorepo development. I learnt that not many people were still experienced enough to understand ...60 readsBuilding in a monorepo using Bazel and Go langbazel
Nikhil Dev Chunchunikhildev.com·Sep 26, 2024Building with Go in a monorepo using Bazel, Gazelle and bzlmodThis post is relevant to any engineer who joined in a small-ish company and stuck around long enough to watch it grow, scale, hire more engineers, form more specialised teams. These are good problems to deal with. By the time I quit Google in 2016, i...45 readsbazel
Alex EagleforAspect Blogblog.aspect.build·Sep 11, 2024Announcing Linting for BazelAspect's mission is to make developers productive in large-scale polyglot repositories. We largely rely on the Bazel build system to power that productivity gain. But what happens when Bazel has a major missing feature that all developers need? There...807 readsbazel
Alex EagleforAspect Blogblog.aspect.build·Aug 20, 2024Announcing Remote Build ExecutionRemote Build Execution (RBE) is a technique for off-loading computation of a wide build and test graph to a farm of worker machines. It can vastly speed up development when changes affect a large subgraph of a monorepo. Aspect is pleased to announce ...654 readsbazel
Alex EagleforAspect Blogblog.aspect.build·Aug 15, 2024rules_js 2.0Two years ago, we launched the semver-stable release of Aspect's JavaScript ruleset for Bazel, rules_js. Today I'm happy to announce that we've wrapped up development on the 2.0 release, and it's time to upgrade! While you're poking at your Bazel set...356 readsbazel
Alex EagleforAspect Blogblog.aspect.build·Aug 9, 2024Experiment with Buf and Starlark DocgenThis post documents some experimentation. It's not useful guidance for you to follow today! I've spent a lot of time thinking about API docs for Bazel rules. I spent several weeks writing docs.aspect.build/rules with very thoughtful presentation of ...459 readsstarlark
Alex EagleforAspect Blogblog.aspect.build·May 22, 2024Scaffold a new Bazel workspaceBazel has a reputation for being complicated, and one reason is that it doesn't come with reasonable default behaviors. I've written about this before, for example https://blog.aspect.build/bazelrc-presets. Since there's not much pressure on the Baze...311 readsbazel
Alex EagleforAspect Blogblog.aspect.build·Apr 23, 2024Aspect Workflows Case Study: SourcegraphSourcegraph is a code intelligence platform known for their AI coding assistant, Cody. Their software is developed in an Open-Source repository by a large team of engineers, primarily in Go, TypeScript, and Rust. They were building ~50 different dock...386 readsbazel
Alex EagleforAspect Blogblog.aspect.build·Apr 5, 2024Running local tools installed by BazelIt's a common pattern that developers in your repo are expected to run some command-line tools as part of interacting with the code. For example, maybe they need to run terraform plan when working with Terraform files. However, it's a non-stop hassle...1.3K readsbazel