Постепенная миграция проекта на TypeScript
Дилан Ванн написал статью про подход к миграции большого проекта на TypeScript — "How to Incrementally Migrate 100k Lines of Code to TypeScript".
Основная идея статьи — использование снапшотов ошибок компиляции для помощи в миграции. У всех js-файлов расширение меняется на ts, запускается компиляция. Все ошибки компиляции собираются в объект, с которого снимается снапшот с помощью toMatchSnapshot
и записывается в файл. Этот файл попадает в систему контроля версий и становится отправной точкой для улучшения типизации проекта — каждый новый пулл реквест не должен увеличивать количество ошибок в этом файле.
Подобный подход можно применять не только с TypeScript, но и c Flow, ESLint.
Статья небольшая, но полезная. Стоит прочитать, если думаете о переводе своего проекта на TypeScript.
https://dylanvann.com/incrementally-migrating-to-typescript/