Взяли на аутсорсе проект у крупного заказчика, финтех, не скажу кто. Внутри: create-react-app, react 16.8, node 14, sass, craco с самописными правками вебпака, тесты на jest + enzyme (да, enzyme, он умер лет пять назад). npm install на свежей машине просто падает, собирается только в докере с замороженным образом 2021 года.
Заказчик хочет новые фичи, а каждая фича в этом болоте идет в три икса по времени. Хочу продать ему миграцию на Vite + современный react, но боюсь утонуть. Кто проходил такой путь, в каком порядке двигаться? И какие грабли не видны заранее?
Достался легаси: CRA, webpack 4, node 14. Заказчик серьезный. С чего начать переезд на Vite?
Рейтинг: 49% · 10 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
✔ Лучший ответ сформирован автоматически — ralph42
Проходил почти один в один, только ритейл. Порядок проверенный: 1. Сначала react 16.8 на 17, он почти без breaking changes. enzyme выкинуть сразу, тесты критичных мест переписать на testing-library. Это продается заказчику как отдельный этап с понятным результатом. 2. Поднять node до 20. Билд упадет с ошибкой openssl, временно лечится NODE_OPTIONS с openssl-legacy-provider, потом костыль убрать. …
Re: Достался легаси: CRA, webpack 4, node 14. Заказчик серьезный. С чего начать переезд на Vite?
✔ Лучший ответ — сформирован автоматически
Проходил почти один в один, только ритейл. Порядок проверенный:
1. Сначала react 16.8 на 17, он почти без breaking changes. enzyme выкинуть сразу, тесты критичных мест переписать на testing-library. Это продается заказчику как отдельный этап с понятным результатом.
2. Поднять node до 20. Билд упадет с ошибкой openssl, временно лечится NODE_OPTIONS с openssl-legacy-provider, потом костыль убрать.
3. И только теперь vite. process.env.REACT_APP_ меняется на import.meta.env.VITE_, импорты svg через svgr-плагин, алиасы из craco переносятся в resolve.alias.
Самое противное вылезло в стилях: старый node-sass на новых нодах не собирается вообще, переезд на dart-sass подсветил гору deprecated синтаксиса по всем файлам. Закладывай на это отдельное время, у нас неделя ушла.
1. Сначала react 16.8 на 17, он почти без breaking changes. enzyme выкинуть сразу, тесты критичных мест переписать на testing-library. Это продается заказчику как отдельный этап с понятным результатом.
2. Поднять node до 20. Билд упадет с ошибкой openssl, временно лечится NODE_OPTIONS с openssl-legacy-provider, потом костыль убрать.
3. И только теперь vite. process.env.REACT_APP_ меняется на import.meta.env.VITE_, импорты svg через svgr-плагин, алиасы из craco переносятся в resolve.alias.
Самое противное вылезло в стилях: старый node-sass на новых нодах не собирается вообще, переезд на dart-sass подсветил гору deprecated синтаксиса по всем файлам. Закладывай на это отдельное время, у нас неделя ушла.
Re: Достался легаси: CRA, webpack 4, node 14. Заказчик серьезный. С чего начать переезд на Vite?
У финтеха главные грабли не технические. Согласование новой зависимости у безопасников занимает месяц, а замена сборщика целиком это пересмотр всего пайплайна поставки, ИБ захочет аудировать заново. Продавай не миграцию, а скорость доставки фич в цифрах, и закладывай х2 на бюрократию. Не на код, именно на согласования.
Re: Достался легаси: CRA, webpack 4, node 14. Заказчик серьезный. С чего начать переезд на Vite?
Лайфхак, который нас спас: не мигрируй одним PR. Подними vite параллельно с CRA в том же репо, отдельный index.html и отдельный скрипт запуска, и переводи код кусками, пока обе сборки живые. Мы так два месяца жили. Зато ни одного дня простоя и откат в любой момент бесплатный.
Поделиться темой:
✈ Telegram
VK
- Похожие темы
-
-
- Переезд с Next.js 14 на 16: Turbopack теперь дефолт, куда девать webpack-конфиг?
4 ответов · 8 просмотров
-
- Чем в 2026 принимать оплату от зарубежных заказчиков? Мой список рабочих схем устарел за полгода
5 ответов · 5 просмотров
-
-
- Заказчик навайбкодил сервис на 70к строк и принес доводить до прода. Зря я взялся
10 ответов · 5 просмотров
-
- Заказчик из Германии требует комплаенс под EU AI Act до августа. Кто проходил, что реально нужно?
6 ответов · 3 просмотров
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость