
technologyJun 5, 20251:25:42pending
Migrating a Legacy JavaScript Codebase to TypeScript - JSJ 680
About this episode
In this episode, Dan and I (Steve) dove deep into what turned out to be a surprisingly complex, yet incredibly insightful topic: gradually migrating a massive legacy JavaScript project over to TypeScript. We're talking about nearly 1,000 JS files, 70,000+ lines of code, and years of developer history—all transitioning carefully to a typed, modern future.
Dan walked us through how he started by setting up the project for success before converting even one file—getting CI/CD ready, setting up tsconfig.json, sorting out test dependencies, dealing with mock leaks, and even grappling with quirks between VS Code and WebStorm debugging.
We talked tools (like TS-ESLint, concurrently, and ts-node), why strict typing actually uncovered real bugs (and made the code better!), and why it’s crucial not to touch any .js files until your TypeScript setup is rock solid.
Key Takeaways:
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Dan walked us through how he started by setting up the project for success before converting even one file—getting CI/CD ready, setting up tsconfig.json, sorting out test dependencies, dealing with mock leaks, and even grappling with quirks between VS Code and WebStorm debugging.
We talked tools (like TS-ESLint, concurrently, and ts-node), why strict typing actually uncovered real bugs (and made the code better!), and why it’s crucial not to touch any .js files until your TypeScript setup is rock solid.
Key Takeaways:
- Gradual migration is 100% possible—and often better—than ripping the bandaid off.
- TypeScript can and will catch bugs hiding in your JavaScript. Be prepared!
- Use VS Code extensions or TS-Node to support your devs’ tooling preferences.
- Don't underestimate the setup phase—it’s the foundation of long-term success.
- Start small: Dan's team converted just one file at first to test the whole pipeline.
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Get every episode summarized
Each time JavaScript Jabber publishes, we email you a written briefing from the transcript — the topics, who appeared, and any specific claims, with the ad reads skipped.
Email me new episodesFree for 3 shows. No card needed.
Hosts & guests
No transcript yet
This episode has not been transcribed. Request it and it moves to the front of the queue.
More episodes
More from JavaScript Jabber

Mongoose 9, AI-Powered Database Tools & the Future of Server-Side JavaScript wit...
JavaScript Jabber
Feb 25, 202656:39pending

Node.js Performance, Kubernetes, and Why “Fast” Isn’t Always Fast - JSJ 702
JavaScript Jabber
Feb 10, 20261:20:16pending

TanStack Start, AI, and the Future of Frontend Architecture - JSJ 701
JavaScript Jabber
Jan 30, 20261:12:33pending

What’s New in React 19.2: Compiler, Activity, and the Future of Async React - JS...
JavaScript Jabber
Jan 8, 20261:15:36pending