Yelp's Webcore team spent three and a half years migrating over 1.4 million lines of code from Flow to TypeScript across a large Lerna monorepo. The migration preserved type safety throughout by converting one package at a time, using open-source tools like flowts and Stripe's flow-to-typescript-codemod, and generating Flow-compatible type headers from TypeScript declarations via flowgen to maintain interop. Extensive dogfooding, documentation, and tooling automation preceded the general rollout in May 2023. A dependency-graph scoring system helped prioritize high-impact packages when momentum slowed. The migration concluded in February 2026 with 96.44% type coverage (up from 83.15% with Flow), roughly 6,000 suppression directives, and 82% of engineers reporting productivity gains.

12m read timeFrom engineeringblog.yelp.com
Post cover image
Table of contents
GoalsImplementationPreparing for prime timeThe migration beginsFinishing upResultsConclusionAcknowledgements
8.1K Impressions1 Comment