Автоматический рефакторинг кода с помощью codemodes

Бывает так, что изменение сигнатуры одной функции или обновление зависимости влечёт за собой несколько дней скрупулёзной работы. Упростить и автоматизировать этот процесс можно через codemode — скрипт для работы с абстрактным синтаксическим деревом — JavaScript AST. Цель codemode — автоматизировать рефакторинг кода. Я расскажу про jscodeshift — тулкит для написания codemodes. Покажу и разберу несколько примеров codemodes: от простых до тех, которые вы можете использовать в своём проекте. Поделюсь опытом использования кодмодов в Яндекс.Маркете. Вы увидите, что работа с ast не так сложна, как может показаться на первый взгляд, и что владение этим инструментом может дать вам сильный прирост эффективности.