Our strategy for making updates and maintaining stability while we migrate languages. In a previous blog post , we talked about why we are porting Turborepo, the high-performance build system for JavaScript and TypeScript , from Go to Rust. Now, let's talk about how . Today, our porting effort is in full swing, moving more and more code to Rust. But when we were starting out, we had to make sure that porting was feasible for us to accomplish. A migration from one language to another is no small task and there's a lot of research to do up front to ensure that the end goal is attainable. Here’s how we started the process, validated our current porting strategy, and made the call to port Turborepo to Rust. Link to heading Port vs. full rewrite When we were planning our migration, we briefly considered a full, ground-up rewrite. But, talking the idea through, we realized it wouldn't fit our goals as well as an incremental port would. Link to heading What is an incremental port?…