Finishing Turborepo's migration from Go to Rust
Feb 12, 2024

Summary
This post details the completion of Turborepo's migration from Go to Rust. It covers the porting of key components such as file hashing, lockfile analysis, the `run` command (including package graph construction), and the `prune` command. The article highlights the use of Rust enums for better type safety in package naming, the strategy of using Capnproto for cross-language hash stability, and the dogfooding process involving experimental flags and internal CI testing. The migration aims to unlock future performance gains and new features.