The Future of TypeScript in Bazel: An In-Depth Conversation on SWC
Release Date: 09/10/2024
Aspect Insights
iOS development has always been easy with Apple’s tools like Xcode - at a certain scale. Then it breaks down. Bazel has been a very popular alternative for working with Objective-C and Swift code, building and bundling applications for Apple’s platforms. Come hear from the core maintainers about the current State of the Build and what’s coming up. Aspect Build co-founder Alex Eagle interviews Brentley Jones and Luis Padron, Bazel maintainers of the Swift and Apple rulesets.
info_outlineAspect Insights
Inside JetBrains' New Bazel Plugin with Justin Kaeser In this episode, Alex Eagle, co-founder and CEO of Aspect Build, talks with Justin Kaeser, team lead at JetBrains, about the upcoming general availability of their new Bazel plugin for IntelliJ IDEA, PyCharm, and GoLand. They unpack what’s new, what remains the same, and why JetBrains decided to create a new plugin in the first place. The conversation also covers the future of the old plugin, current Bazel support in CLion and Android Studio, and what actually happened to BSP. If you use Bazel with JetBrains IDEs or you're curious about...
info_outlineAspect Insights
Bazel now has 776 command-line flags. Most users know maybe 5. In this episode, Markus Hofbauer from Zipline joins Alex to unpack the chaos of Bazel flags: why analysis cache discards still bite, how --noallow_analysis_cache_discard can save you time, and what the new bazelrc-preset.bzl project does to bring order to BazelRC files. From flag flipping at Google scale to community-driven bug bounties, they cover real-world strategies for better defaults and explain why it's finally time to use common everywhere. If you're still hand-tuning Bazel flags in the dark, this is your flashlight. ...
info_outlineAspect Insights
Is Bazel a tool for the masses or a purpose-built solution best kept in the hands of power users? Farid Zakaria and Vince Rose, two Bazel-savvy engineers from Confluent, join Alex Eagle to discuss what Bazel gets right, where it draws hard lines, and why adoption isn’t always straightforward. From strict expectations to the rise of prebuilt binaries, we unpack how Bazel’s opinions shape real-world engineering tradeoffs.
info_outlineAspect Insights
In this episode, Alex Eagle is joined by returning guest Fabian Meumertzheim from BuildBuddy to talk about a common pain for engineering teams: managing development environments. Fabian walks through bazel_env, a new rule that helps teams standardize and automate tooling directly from their Bazel monorepo. Highlights include: • A modern approach to developer tooling using bazel_env • Why containers and system package managers fall short for large teams • How to streamline onboarding and daily workflows with tools like direnv If you're maintaining a Bazel-based monorepo - or just want to...
info_outlineAspect Insights
Welcome back to Aspect Insights, the podcast that dives deep into the world of software development. In today’s episode, “Overcoming Fear of Deployment,” Alex Eagle, co-founder of Aspect Build, chats with Ankit Jain, founder of Aviator and former Googler. They tackle a major pain point in tech: building confidence in software deployments. Ankit shares actionable advice on embracing fast, continuous deployment without sacrificing reliability. From using DORA metrics to creating a blameless culture, they explore how businesses can reimagine their deployment processes to meet today’s...
info_outlineAspect Insights
Welcome to Aspect Insights, the podcast where we delve into the intricacies of the Bazel ecosystem and explore practical solutions for developers navigating its evolving landscape. In our latest episode titled "Practical Steps to Adopt Bzlmod," host Alex Eagle is joined by Mike Bland, a platform architect at Inflow and former Googler. Together, they unpack the challenges and opportunities presented by Bazelmod, a significant development as Bazel 8 is poised to phase out workspace support by default. Throughout the episode, Bland shares his insights on semantic versioning and compatibility...
info_outlineAspect Insights
In Episode 12 of Aspect Insights, host Alex Eagle welcomes David Agassi from Robinhood to discuss their experiences and challenges with migrating to Rules.js for Bazel. The conversation covers Robinhood's transition from Yarn to PNPM, dealing with monorepo scaling issues, implementing build file generation, testing strategies, and the developer experience. Agassi shares details about their performance metrics, deployment strategies, and the customization required to integrate tools like Playwright and Jest with Bazel. The episode concludes with reflections on the current state of JavaScript...
info_outlineAspect Insights
In this episode, we sit down with Daniel Wagner-Hall, a maintainer of Rules Rust and a Bazel expert, to explore how Bazel and Rust work together to streamline builds and cross-compilation. Daniel shares insights from his extensive experience, including his role in open-sourcing Bazel at Google and his consulting work helping teams optimize their Bazel-Rust integrations. We dive into the nuances of using Bazel with Rust’s package manager, Cargo, and the trade-offs between maintaining Cargo compatibility and fully embracing Bazel-first workflows. Daniel explains how Rust developers can...
info_outlineAspect Insights
This episode is best accompanied by this video walkthrough: Build file generation in Bazel can often feel like a step backward for developers used to more automated build systems. In this tutorial, you'll learn how to streamline your workflow using Aspect CLI and Gazelle to automate Bazel build file creation. We'll explore why build files are necessary in Bazel, how most of their content can be auto-generated, and how the Aspect CLI simplifies the process—so you don’t need to manually write build files anymore. Through a hands-on demo, you’ll see how Gazelle intelligently scans...
info_outlineIn this episode of Aspect Insights, Alex Eagle sits down with Jason Bedard to explore the intersection of TypeScript and SWC within the Bazel ecosystem. Jason, the primary maintainer of rules JS, shares his insights on managing large-scale migrations and the evolving role of TypeScript in modern development workflows. Whether you're a developer looking to optimize your TypeScript builds or you're curious about the latest advancements in SWC, this episode offers valuable strategies and knowledge to enhance your projects. Join us as we navigate the intricacies of TypeScript and SWC with one of the field's leading experts.
Jason Bedard is a software engineer specializing in JavaScript and TypeScript. As the primary maintainer of rules JS at Aspect, Jason has led numerous migrations and played a pivotal role in integrating TypeScript with Bazel. With years of experience in modern development practices and a deep understanding of the Bazel ecosystem, Jason continues to drive innovation in build systems and developer productivity.
Alex Eagle is a co-founder at Aspect and a long-time contributor to the Bazel project. With a passion for building efficient developer tools and a commitment to the open-source community, Alex has been instrumental in advancing the Bazel ecosystem. His expertise in monorepo management and build optimization makes him a key voice in the ongoing evolution of Bazel.
Timestamps:
-
00:00 Introduction and overview of the episode.
-
03:45 Discussion on the latest developments in TypeScript and SWC.
-
07:20 Challenges in migrating TypeScript projects to SWC.
-
11:35 Best practices for managing large-scale TypeScript migrations.
-
16:00 Insights into rules JS and its role in the Bazel ecosystem.
-
20:15 Enhancing build efficiency with SWC in Bazel.
-
24:30 Community contributions and the future of TypeScript in Bazel.
-
30:50 Closing thoughts and takeaways from the episode.