Moving from Flow to TypeScript — How the Yandex Zen Migration Went and Why the New Stack Is Better
summary
Yandex Zen migrated its frontend type system from Flow to TypeScript because Flow caused memory leaks, slow IDE responses, and poor third‑party typings. The team built both systems with Babel 7, created a custom validator to count .d.ts files and handle ignores, enabled strict TypeScript mode, and protected branches to run the compiler on PRs; about 90% of ~2,413 files (~2,144 files, ~190k lines) were converted. The migration yielded stable PR checks, faster autocomplete, and improved external type support and bug discovery, at the cost of manual rewrites and some human errors.
AI-written summary · about
chapters (13)
- 0:00Migration introduction
- 1:05Why Flow initially
- 2:13Flow problems over time
- 5:54Switching to TypeScript
- 7:19Migration strategies
- 8:03TypeScript build setup
- 9:08Strict TypeScript PR checks
- 11:20Gradual rewrite rules
- 13:13Manual migration pros/cons
- 14:59Benefits after switch
- 16:49Progress and current state
- 18:17Key takeaways
- 18:39Q&A
related talks
22mMigrating 600k+ Lines of Code from Flow to TypeScript
34mSo You’ve Decided to Do a Technical Migration
29mSo you’ve decided to do a technical migration
37mSo You Decided to Do a Technical Migration
47mSo You've Decided to Do a Technical Migration
31mSo you've decided to do a technical migration...
16mAll aboard the type train
23mTypeScript Ruined My Life (In a Good Way)
