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)

177 JSJ UI Validation with Oren Rubin

177 JSJ UI Validation with Oren Rubin

02:43 - Oren Rubin IntroductionTwitter GitHubLinkedInTESTIM.IO 05:43 - TestingUnit TestingEnd-to-end TestingAcceptance TestingFunctional TestingPerformance Testing18:18 - Page Object(s)Locators27:10 -...

16 Sep 201559min

176 JSJ RethinkDB with Slava Akhmechet

176 JSJ RethinkDB with Slava Akhmechet

02:20 - Slava Akhmechet IntroductionTwitter GitHub Blog02:41 - RethinkDB Overview@rethinkdb rethinkdb repo    04:24 - How It’s UsedCompose.io05:58 - Joins12:50 - Returning DataJSON13:53 - Getting Data...

9 Sep 201551min

175 JSJ Elm with Evan Czaplicki and Richard Feldman

175 JSJ Elm with Evan Czaplicki and Richard Feldman

02:27 - Evan Czaplicki IntroductionTwitter GitHubPrezi 02:32 - Richard Feldman IntroductionTwitter GitHubNoRedInk02:38 - Elm @elmlang04:06 - Academic Ideas05:10 - Functional Programming, Functional Re...

2 Sep 20151h 9min

174 JSJ npm 3 with Rebecca Turner and Forrest Norvell

174 JSJ npm 3 with Rebecca Turner and Forrest Norvell

Don’t miss out! Sign up for Angular Remote Conf! 02:28 - Forrest Norvell IntroductionTwitter GitHub02:37 - Rebecca Turner IntroductionTwitter GitHub Blog03:05 - Why npm 3 Exists and Changes in npm 2 =...

26 Aug 201556min

173 JSJ Online Learning with Gregg Pollack

173 JSJ Online Learning with Gregg Pollack

Check out Angular Remote Conf! 02:55 - Gregg Pollack IntroductionTwitter GitHubEnvy Labs@envylabsCode School@codeschool  Starter Studio05:19 - Code SchoolRails for ZombiesTry Ruby 06:49 - Course Conte...

19 Aug 201533min

172 JSJ NodeSchool with Jason Rhodes

172 JSJ NodeSchool with Jason Rhodes

Check out Angular Remote Conf! 02:22 - Jason Rhodes IntroductionTwitter GitHub BlogSparkPostNodeSchool@nodeschool GitHub: NodeSchoolcharmCityJS@charmcityjs 03:46 - NodeSchoolJason Rhodes: A Story Abou...

12 Aug 201541min

171 JSJ Babel with Sebastian McKenzie

171 JSJ Babel with Sebastian McKenzie

02:28 - Sebastian McKenzie IntroductionTwitter GitHub Blog02:53 - Babel (Pronunciation Clarification)05:56 - HistoryLearn ES2015 - Babel09:14 - The State of Babel09:59 - Babel and the TC39 Process11:5...

5 Aug 201547min

170 JSJ RabbitMQ with Derick Bailey

170 JSJ RabbitMQ with Derick Bailey

Check out RailsClips!   02:38 - Derick Bailey Introduction Twitter GitHub BlogEntreprogrammers RabbitMQ: Patterns for Applications by Derick Bailey 03:36 - RabbitMQrequest-response Messaging Patt...

29 Juli 20151h 21min

Populärt inom Business & ekonomi

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