Фронтенд Airbnb обновился до React 18 с помощью системы обновления React, которая позволяет проводить инкрементальные и тестируемые обновления без необходимости в долгосрочном ветвлении функций.
Модульное псевдонимирование и целевое окружение разделяют версии React на отдельные артефакты сборки и runtime-окружения.
Различия в TypeScript были обработаны с помощью шимов, увеличения типов и прогрессивного исправления ошибок TypeScript.
Комprehensive тестирование включало визуальную регрессию, интеграционное и юнит-тестирование, с юнит-тестами, запущенными как в React 16, так и в React 18.
Прогрессивный ролл-аут контролировал трафик к обеим окружениям React 16 и 18, позволяя проводить внутреннее тестирование и постепенные обновления интерфейса.
Система позволила тестировать предварительные версии React 19 canary без указания на React 18.
Были зафиксированы улучшения производительности после принятия функций React 18, таких как новые корневые API и конкурентное рендеринг.
Система поощряет непрерывные усилия по обновлению, избегая крупных, разовых изменений.
Сосредоточение команды React на обратной совместимости облегчило такой подход к обновлению.
Фронтенд Airbnb сейчас работает на React 19 beta, обеспечивая преимущество в будущих обновлениях React.
medium.com
How Airbnb Smoothly Upgrades React
Create attached notes ...
