Migrating a Legacy JavaScript Codebase to TypeScript - JSJ 680

Migrating a Legacy JavaScript Codebase to TypeScript - JSJ 680

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:
  • 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.
If you’re sitting on a legacy JS project and dreaming of TypeScript, this episode is your blueprint—and your warning sign.

Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.

Avsnitt(737)

169 JSJ Property-based Testing (QuickCheck) with Zach Kessin

169 JSJ Property-based Testing (QuickCheck) with Zach Kessin

02:20 - Zach Kessin IntroductionTwitter GitHub Zach's BooksParrotJavaScript Jabber: Episode #057: Functional Programming with Zach KessinTesting Erlang With Quickcheck Book04:00 - Mostly Erlang Podcas...

22 Juli 201545min

168 JSJ The Future of JavaScript with Jafar Husain

168 JSJ The Future of JavaScript with Jafar Husain

03:04 - Jafar Husain IntroductionTwitter GitHubNetflixTC3903:29 - The Great Name Debate (ES6, ES7 = ES2015, ES2016!!)05:35 - The Release CycleWhat This Means for Browsers08:37 - Babel and ECMAScript 0...

15 Juli 20151h 17min

167 JSJ TypeScript and Angular with Jonathan Turner and Alex Eagle

167 JSJ TypeScript and Angular with Jonathan Turner and Alex Eagle

02:27 - Alex Eagle IntroductionTwitter GitHubGoogle02:54 - Jonathan Turner IntroductionTwitter GitHubMicrosoft[Talk] Jonathan Turner: TypeScript and Angular 2 @ ng-conf 2015 [Talk] Jonathan Turner: Ty...

8 Juli 20151h 1min

166 JSJ New Relic with Wraithan and Ben Weintraub

166 JSJ New Relic with Wraithan and Ben Weintraub

02:27 - Coding House Scholarship Winners with AJ and AimeeEmily Dreisbach (50% scholarship winner)Blake Gilmore (50% scholarship winner)Berlin Sohn (100% scholarship winner)Congratulations from the pa...

1 Juli 20151h 4min

165 JSJ ShopTalk with Chris Coyier and Dave Rupert

165 JSJ ShopTalk with Chris Coyier and Dave Rupert

02:43 - Dave Rupert IntroductionTwitter GitHub BlogParavel03:42 - Chris Coyier IntroductionTwitter GitHub BlogCSS-Tricks CodePen 06:24 - The ShopTalk Show and Podcasting@shoptalkshow“What do I learn n...

24 Juni 20151h 15min

164 JSJ Rendr with Spike Brehm

164 JSJ Rendr with Spike Brehm

Get your Ruby Remote Conf tickets and check out the @rubyremoteconf Twitter feed for exciting updates about the conference. 02:22 - Spike Brehm IntroductionTwitter GitHubBlogAirbnb@airbnb@airbnbnerds0...

17 Juni 201554min

163 JSJ Flow with Jeff Morrison and Avik Chaudhuri

163 JSJ Flow with Jeff Morrison and Avik Chaudhuri

03:32 - Jeff Morrison IntroductionTwitter GitHubFacebook03:46 - Avik Chaudhuri IntroductionTwitter GitHub LinkedInFacebook04:27 - Flow @flowtype [GitHub] flow05:36 - Static Type CheckingDynamic vs Sta...

10 Juni 20151h 2min

162 JSJ ESLint with Jamund Ferguson

162 JSJ ESLint with Jamund Ferguson

02:15 - Jamund Ferguson IntroductionTwitter GitHubBlogPayPalJamund Ferguson: JavaScript Linting for Code Quality & ESLint Overview02:47 - Lint (Background)JSLintDouglas CrockfordJSHintESLint[GitHub] e...

3 Juni 201558min

Populärt inom Business & ekonomi

badfluence
framgangspodden
varvet
rss-jossan-nina
uppgang-och-fall
rss-borsens-finest
avanzapodden
fill-or-kill
rss-inga-dumma-fragor-om-pengar
bathina-en-podcast
24fragor
lastbilspodden
svd-tech-brief
rss-dagen-med-di
rss-kort-lang-analyspodden-fran-di
borsmorgon
rss-den-nya-ekonomin
kapitalet-en-podd-om-ekonomi
dynastin
market-makers