Menu

Post image 1
Post image 2
Post image 3
Post image 4
Post image 5
Post image 6
Post image 7
Post image 8
Post image 9
Post image 10
Post image 11
1 / 11
0

Using Zig in our incremental Turborepo migration from Go to Rust

Vercel News·Nicholas Yang·4 days ago
#qh9Pr7st
#vercel#rust#code#binary#turborepo#photo
Reading 0:00
15s threshold

Learn how we're cross-compiling a Rust-Go-Rust sandwich to six platforms. We’ve been porting Turborepo , the high-performance build system for JavaScript and TypeScript, from Go to Rust. We talked about how we started the porting process , so now let’s talk about how we began porting our two main commands: run and prune . Link to heading Since last time When we last left off, we had begun our port by implementing global turbo and command line argument parsing in Rust. Because of issues around static linking and Go’s incompatibility with musl , an essential requirement for compatibility with Alpine Linux, we split Turborepo into two binaries: one Rust and one Go. After that, we ported the auxiliary commands like login , link , unlink . These were fairly simple to port since they only required a basic HTTP client and some configuration management. We were able to move them in one or two pull requests at a time.…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.

Read More