Supercharging Your Tooling With Rust

This ad is not shown to multipass and full ticket holders
JSNation US
JSNation US 2026
November 16 - 19, 2026
New York, US & Online
Upcoming event
JSNation US 2026
JSNation US 2026
November 16 - 19, 2026. New York, US & Online
Bookmark
Rate this content
Sentry
Promoted
Code breaks, fix it faster

Crashes, slowdowns, regressions in prod. Seer by Sentry unifies traces, replays, errors, profiles to find root causes fast.

Get started

Yarn is the latest tool to join the Rust revolution. But is rewriting JavaScript tooling in Rust a necessity or just a trend? In this talk we'll dive into Yarn's recent updates to understand why they made the switch and how it went. We will discuss whether a fully Rust-based toolchain is inevitable and, crucially, what role Node.js will play in this new landscape.

This talk has been presented at Web Engineering Summit 2026, check out the latest edition of this Tech Conference.

Maël Nison
Maël Nison
24 min
15 Jun, 2026

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Mael discusses the evolution of Yarn from its origins in 2016 to the current version being developed in Rust. Yarn's stability and familiarity with the codebase led to the decision to build Yarn 6 in Rust, despite challenges faced with previous rewrites and limitations of Yarn 4. Large companies using Yarn faced latency issues due to the number of workspaces. Yarn aimed for improved performance with features like lazy install to enhance user experience. Yarn aimed to be exceptionally fast, catering to various ecosystems beyond JavaScript, like Python and Rust, to enhance usability. Yarn faced challenges with breaking changes and friction during the rewrite to Yarn 2, emphasizing the importance of careful implementation in Yarn 6's development. Learning a new language was a key part of the rewrite process, with significant progress in test passing and personal proficiency in Rust. Developing in Rust led to a growth in personal proficiency and revealed insights into Rust's tooling and concurrency benefits. Rust revealed experimental features and concurrency benefits, requiring mental model shifts. Rust's human-written code rewrite with AI assistance. Challenges of integrating Yarn rewrite with Rust version and freezing main branch for rewrites. Considerations for rewriting projects in Rust, YARN's improved performance, and the importance of motivation and resilience in such endeavors. YARN's expansion to support multiple ecosystems and the invitation to engage in devlogs and share feedback on the talk and rewrite.

1. Evolution of Yarn in Rust

Short description:

Mael discusses the evolution of Yarn from its origins in 2016 to the current version being developed in Rust.

Hi, folks. My name is Mael. I work in Developer Efficiency in the NTDX team at Mistral.ai, and today I want to talk to you about Yarn in Rust, a project I spent most of my time these past years. I'm going to tell you a lot about it, including why we did that and how it went. So let's get started.

Before going further, a bit of history about the project, Yarn originated in 2016 in 0.x moniker version. It's only in 2017 that we felt confident enough to tag Yarn as 1.x. I was there. I pressed that damn button. However, about two years later, in 2019, I started to notice that we had learned so much ever since we started the project that if we were to create a new package manager now, we wouldn't do it the way that we did before.

That was a problem, because the way I saw it, we needed to maintain Yarn not only now, but also for the ten years to come. So at the time, it was decided to create a new release that would take everything we had learned about making a good package manager and would put it together under a new implementation of the same package manager. That's how Yarn 2 was born. Of course, this version came with some issues, and we are going to cover some of them in the next slides. But overall, it succeeded, because now we are in 2016, and we are still using Yarn 2.

2. Challenges and Decision for Yarn 6

Short description:

Yarn's stability and familiarity with the codebase led to the decision to build Yarn 6 in Rust, despite challenges faced with previous rewrites and limitations of Yarn 4.

Of course, it evolved. Now we are at Yarn 4, actually. But the codebase itself stood the test of time. Now, in 2026, we are building something new. We are building Yarn 6, the next major, major version of Yarn, which is going to be written in Rust. And now you can ask yourself, why are we doing that? We already rewrote Yarn once. It was already a bit painful for everyone, for us, for the ecosystem. So why are we doing it? And that's a very good question. And I can't wait to tell you all about that.

First, the thing to realize is that today, Yarn is stable. Yarn is an extremely stable software. It is the poster child of no surprise. If Yarn tells you that something doesn't work, then something doesn't work. And by fixing it, you will not have this error message, now or in the future. And your colleagues are not going to have this error as well. Yarn is deterministic to a fault. We rarely had any install bugs. We installed reasonably fast. Of course, PMPM was sometimes a bit faster than us. Sometimes faster than PMPM.

It was a good challenge. But Yarn was very fast at making typical installs. And building features was easy because we knew the codebase in and out. So, all of that made good reason why we should stay on the codebase we're familiar with. But we had somehow reached the ceiling of what we could build with the codebase we had about Yarn 4. We supported, for instance, monorepos with hundreds of packages. That was great. But we couldn't support workspaces with thousands of repositories. Well, we did. But it was much slower than we anticipated.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

The Future of Performance Tooling
JSNation 2022JSNation 2022
21 min
The Future of Performance Tooling
Top Content
Today's Talk discusses the future of performance tooling, focusing on user-centric, actionable, and contextual approaches. The introduction highlights Adi Osmani's expertise in performance tools and his passion for DevTools features. The Talk explores the integration of user flows into DevTools and Lighthouse, enabling performance measurement and optimization. It also showcases the import/export feature for user flows and the collaboration potential with Lighthouse. The Talk further delves into the use of flows with other tools like web page test and Cypress, offering cross-browser testing capabilities. The actionable aspect emphasizes the importance of metrics like Interaction to Next Paint and Total Blocking Time, as well as the improvements in Lighthouse and performance debugging tools. Lastly, the Talk emphasizes the iterative nature of performance improvement and the user-centric, actionable, and contextual future of performance tooling.
No REST for Cap'n Web
Node Congress 2026Node Congress 2026
23 min
No REST for Cap'n Web
Top Content
Kenton Varda advocates for using CapnWeb, an RPC protocol, over REST for web APIs, emphasizing benefits for humans and AI agents. CapnWeb simplifies client-server communications by treating them as function calls. TypeScript type checking ensures method accuracy in CapnWeb across JavaScript runtimes. Stubs in CapnWeb allow method calls to execute on remote objects and simulate all possible method names for remote calls. Converting REST APIs to CapnWeb streamlines code and improves API calls. CapnWeb enhances API functionality with object-specific RPC sessions and promises pipelining for multilevel API optimization. AI agent security challenges are addressed with sandboxing and token protection in CapnWeb. CapnWeb capabilities for AI agents include passing restricted CapnWeb stubs and exploring capability-based security with CapnProto.
Rome, a Modern Toolchain!
JSNation 2023JSNation 2023
31 min
Rome, a Modern Toolchain!
Top Content
Rome is a toolchain built in Rust that aims to replace multiple tools and provide high-quality diagnostics for code maintenance. It simplifies tool interactions by performing all operations once, generating a shared structure for all tools. Rome offers a customizable format experience with a stable formatter and a linter with over 150 rules. It integrates with VCS and VLSP, supports error-resilient parsing, and has exciting plans for the future, including the ability to create JavaScript plugins. Rome aims to be a top-notch toolchain and welcomes community input to improve its work.
Conquering Complexity: Refactoring JavaScript Projects
JSNation 2024JSNation 2024
21 min
Conquering Complexity: Refactoring JavaScript Projects
Top Content
Today's Talk explores the complexity in code and its impact. It discusses different methods of measuring complexity, such as cyclomatic complexity and cognitive complexity. The importance of understanding and conquering complexity is emphasized, with a demo showcasing complexity in a codebase. The Talk also delves into the need for change and the role of refactoring in dealing with complexity. Tips and techniques for refactoring are shared, including the use of language features and tools to simplify code. Overall, the Talk provides insights into managing and reducing complexity in software development.
Improving Developer Happiness with AI
React Summit 2023React Summit 2023
29 min
Improving Developer Happiness with AI
Top Content
GitHub Copilot is an auto-completion tool that provides suggestions based on context. Research has shown that developers using Copilot feel less frustrated, spend less time searching externally, and experience less mental effort on repetitive tasks. Copilot can generate code for various tasks, including adding modals, testing, and refactoring. It is a useful tool for improving productivity and saving time, especially for junior developers and those working in unfamiliar domains. Security concerns have been addressed with optional data sharing and different versions for individuals and businesses.
Automate the Browser With Workers Browser Rendering API
JSNation 2024JSNation 2024
20 min
Automate the Browser With Workers Browser Rendering API
The Talk discusses browser automation using the Worker's Browser Rendering API, which allows tasks like navigating websites, taking screenshots, and creating PDFs. Cloudflare integrated Puppeteer with their workers to automate browser tasks, and their browser rendering API combines remote browser isolation with Puppeteer. Use cases for the API include taking screenshots, generating PDFs, automating web applications, and gathering performance metrics. The Talk also covers extending sessions and performance metrics using Durable Objects. Thank you for attending!

Workshops on related topic

Pragmatic 101 on Custom JS Tooling for Your Project
JSNation US 2025JSNation US 2025
122 min
Pragmatic 101 on Custom JS Tooling for Your Project
Featured Workshop
Will Klein
Will Klein
Let’s demystify the secrets of modern JavaScript tooling. In this workshop, you will learn how linters, compilers, and code transforms work. You will take your first steps building your own developer tools, writing an ESLint rule, a compiler plugin, and a code transformation. Learn these skills to help your team and deepen your understanding of computer languages.Workshop Plan:A preview of how ASTs can be usedA brief walkthrough of how compilers workAn intro to working with an ASTThe secret to making thousands of changes in secondsHow to apply this skill
Solve 100% Of Your Errors: How to Root Cause Issues Faster With Session Replay
JSNation 2023JSNation 2023
44 min
Solve 100% Of Your Errors: How to Root Cause Issues Faster With Session Replay
WorkshopFree
Ryan Albrecht
Ryan Albrecht
You know that annoying bug? The one that doesn’t show up locally? And no matter how many times you try to recreate the environment you can’t reproduce it? You’ve gone through the breadcrumbs, read through the stack trace, and are now playing detective to piece together support tickets to make sure it’s real.
Join Sentry developer Ryan Albrecht in this talk to learn how developers can use Session Replay - a tool that provides video-like reproductions of user interactions - to identify, reproduce, and resolve errors and performance issues faster (without rolling your head on your keyboard).