
Я перевёл 200K строк JS на TS с Claude Code. Что прошло, что сломалось
Ra2007 1 час назад Я перевёл 200K строк JS на TS с Claude Code. Что прошло, что сломалось 10 мин 1.4K Программирование * TypeScript * JavaScript * Искусственный интеллект Кейс Из песочницы За 6 недель Claude Code...
Вот важная новость с фронта ИИ: Ra2007 1 час назад Я перевёл 200K строк JS на TS с Claude Code. Что прошло, что сломалось 10 мин 1. 4K Программирование * TypeScript * JavaScript * Искусственный интеллект Кейс Из песочницы За 6 недель Claude Code преобразовал 200K строк JS в strict TypeScript.
Не переименование файлов, а настоящая типизация: интерфейсы, строгие null-чеки, перехваченные баги в проде. Тут разбор реального кейса с цифрами, ошибками агента и главным вопросом: стоит ли вам это повторять? Зачем мигрировалиКодовой базе было 6 лет.
Технические детали
js-монолит на 200K строк, который обслуживал 50K DAU. Восемь разработчиков за эти годы оставили след: файлы с JSDoc, файлы без него, 200+ комментариев // @ts-ignore от попытки миграции в 2022 году, которая дошла до 15% и остановилась. Боль была конкретная: 30% каждого спринта уходило на отладку ошибок, которые TypeScript поймал бы при компиляции.
Null reference в проде. API-ответы с неожиданной структурой. Рефакторинг любого модуля превращался в игру в минёра.
Статистика за последние 12 месяцев до миграции: 4–6 type-related багов на спринт3 недели онбординга нового разработчикаОдин инцидент в проде на каждые 2 месяца с причиной «неожиданный null» Всё это хорошо известно. Непонятно было другое: как мигрировать не замораживая разработку на полгода. Ручная оценка: 2000+ человеко-часов.
Отраслевые последствия
При команде в 8 человек — больше 3 месяцев работы только над типами, если заморозить фичи. Почему Claude Code, а не ручная миграцияПервый инструмент который приходит в голову — codemods. ts-migrate от Airbnb, jscodeshift.
Они умеют переименовывать файлы и расставлять any везде где нет явного типа. Это не миграция, это просто смена расширения с легализованным any в каждой функции. Проблема в том, что тип функции невозможно вывести статически не зная контекста.
Вот простой пример:// src/utils/format-price. js function formatPrice(value, currency) { if (! value) return '—'; return ${value.
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.





