The Great CoffeeScript to Typescript Migration of 2017
May 13, 2020David Goldstein
@2x.png)
Summary
This post details the migration of Dropbox's web platform from CoffeeScript to TypeScript, a process that began in 2017. It covers the reasons for adopting CoffeeScript initially, the challenges encountered with its maintenance and ambiguities, the decision to migrate to TypeScript based on developer feedback and experimentation, and the phased migration plan. The post also describes the technical approach to achieving CoffeeScript/TypeScript interoperability, including the use of .d.ts declaration files and handling of AMD module equivalencies. It highlights the scale of the migration (hundreds of thousands of lines of code) and the development of tooling to support it, positioning Dropbox as an early adopter of TypeScript at scale.