WordPress 7.1 відклав перехід на React 19 через плагіни

0
459 views
WordPress

Команда розробників найпопулярнішої у світі CMS-платформи WordPress оголосила про скасування запланованого переходу на React 19 у майбутньому релізі WordPress 7.1. Платформа продовжуватиме використовувати версію React 18.3.

Рішення було прийнято за результатами експериментального включення React 19 у плагіні Gutenberg. Тестування показало, що масове оновлення фреймворку спричиняє критичні помилки в роботі тисяч сторонніх плагінів та виводить із ладу панель керування і кастомні блоки редактора.

Технічні причини та інструменти для розробників

Інженерна група WordPress виділила ключові архітектурні фактори, що завадили безперешкодному оновленню:

  • ⚠️ Некоректне бандління React JSX: Більшість авторів плагінів замість використання загального системного скрипту react-jsx-runtime, наданого WordPress, пакували код виконання React JSX прямо у власні JavaScript-файли.

  • 💥 Конфлікт версій на одній сторінці: При переході ядра на React 19 плагіни продовжували викликати власне вбудоване середовище React 18. Обробка старих структур даних новим рантаймом спричиняла критичні помилки в консолі браузера та блокування інтерфейсу.

  • 🛠️ Видалені депрекейт-функції: Значна частина екосистеми плагінів досі спирається на застарілі методи, які були остаточно видалені в React 19. Наразі команда WordPress створює додаткові прошарки сумісності (compatibility layer).

  • 🔍 Автоматичне виявлення в Plugin Check: Для виправлення ситуації в плагін Plugin Check додається модуль автовиявлення, який сканує код на наявність прямих бандлів React та застарілих викликів. Розробників закликають завчасно тестувати свої рішення та звітувати у репозиторій Gutenberg на GitHub.

                    ┌──────────────────────────────┐
                    │      WORDPRESS 7.1 CORE      │
                    │   (ЗБЕРЕЖЕННЯ REACT 18.3)    │
                    └──────────────┬───────────────┘
                                   │
         ┌─────────────────────────┼─────────────────────────┐
         ▼                         ▼                         ▼
┌──────────────────┐      ┌──────────────────┐      ┌──────────────────┐
│  Причина відмови │      │  Конфлікт JSX    │      │   Plugin Check   │
├──────────────────┤      ├──────────────────┤      ├──────────────────┤
│Помилки сумісності│      │Прямий бандл R18  │      │Нові алгоритми    │
│у Gutenberg       │      │в коді плагінів   │      │сканування коду   │
└──────────────────┘      └──────────────────┘      └──────────────────┘

HiTech Expert Take

Рішення відкласти впровадження React 19 у WordPress 7.1 є зваженим кроком, спрямованим на збереження стабільності мільйонів вебресурсів по всьому світу. Фрагментація екосистеми плагінів та недотримання стандартам розробки (зокрема прямий бандлінг dependencies замість використання системного react-jsx-runtime) створюють суттєвий бар’єр для технологічного оновлення CMS. Інтеграція нових перевірок у Plugin Check та створення шарнірів сумісності дозволять авторам розширень поступово адаптувати свій код без загрози для робочих сайтів.