Migrando 3.7 millones de líneas de código de Flow a TypeScript
"Pinterest migró 3,7 millones de líneas de código de Flow a TypeScript en ocho meses, lo que resultó en una mayor seguridad de tipos, experiencia del desarrollador y mejora en la contratación. La empresa inicialmente eligió Flow sobre TypeScript en 2016 debido a su adopción gradual y integración sin problemas con React. Sin embargo, cuando la industria se estableció en TypeScript como el estándar para la verificación de tipos de JavaScript, Pinterest decidió adoptarlo debido a su mejor apoyo comunitario, características del lenguaje y disponibilidad de talentos. La migración se realizó utilizando un enfoque de "gran explosión", dividiendo el proceso en tres fases: configuración, conversión e integración. La fase de configuración implicó configurar TypeScript y @typescript-eslint, mientras que la fase de conversión implicó migrar dependencias, ejecutar codemods y suprimir errores de ESLint. La fase de integración se centró en adaptar sistemas existentes para funcionar dentro del nuevo entorno de TypeScript. La empresa escribió un script para automatizar todo el proceso, minimizando conflictos de fusión y intervención manual. Después de validar la migración a través de pruebas automatizadas diarias, múltiples rondas de pruebas manuales y análisis estático byte-a-byte, Pinterest lanzó con éxito la rama de TypeScript. La empresa aprendió mucho de la comunidad de código abierto y contribuyó al codemod de flow-to-typescript de Stripe. La experiencia de Pinterest sirve como una lección valiosa para otras empresas que consideran una migración similar."