@wordpress/build: Сборка плагинов WordPress по новому
9 апреля 2026
Пакет @wordpress/build — инструмент сборки для плагинов WordPress. Заменяет webpack и Babel на esbuild, автоматически генерирует регистрацию PHP-скриптов на основе package.json и работает без конфигурации.
Контекст и история создания
@wordpress/scripts долгое время был основным инструментом для разработчиков плагинов с предварительно настроенным webpack. С ростом сложности проектов потребовалось более быстрое и простое решение.
В октябре 2025 года Riad Benguella представил концепцию v2 для WordPress Scripts. Вместо гибкости инструмент берёт на себя сложность, упрощая разработку. Так появился @wordpress/build, который уже собирает все 100+ пакетов Gutenberg.
Основные возможности
Сборка на esbuild
@wordpress/build использует движок на базе esbuild (написан на Go). Для крупных проектов вроде Gutenberg полная сборка сократилась с минут до секунд. В режиме wp-build --watch работают инкрементальные пересборки — изменения обрабатываются сразу.
Конвенции вместо конфигов
Инструмент работает по соглашениям. Код размещается в стандартных директориях:
packages/— JavaScript-пакеты. Подкаталог = пакет со своимpackage.json.routes/(экспериментально) — маршруты страниц администратора. Подкаталог определяет маршрут с привязкой к странице и URL.blocks/(предложено) — блоки, обнаруживаемые автоматически.
Файл конфигурации не нужен. Обнаружение зависит от структуры папок, несколько полей в package.json дополняют картину.
Генерация регистрации PHP
@wordpress/build создаёт файлы регистрации для скриптов, модулей и стилей. В файл плагина добавляется одна строка:
require_once plugin_dir_path( __FILE__ ) . 'build/build.php';
Она подключает сгенерированные scripts.php, modules.php и styles.php, которые регистрируют ресурсы. Файлы .asset.php отслеживают зависимости по импортам.
Пространства имён
Пакет встраивает механизм экстернализации импортов @wordpress/*. Конфигурация wpPlugin namespace определяет, как экстернализируются ваши пакеты. Пакет @acme/editor с wpScript: true соберётся как IIFE в window.acme.editor.
Модель работает между плагинами. Можно объявить пространство имён другого плагина внешним — зависимости разрешатся автоматически.
Планы развития
@wordpress/build задуман как движок для @wordpress/scripts, а не полная замена:
- Сейчас: автономный пакет внутри Gutenberg.
- Далее:
@wordpress/scriptsперейдёт на@wordpress/buildкак движок. Командаwp-scripts buildсохранится, транспиляция и бандлинг будут использовать wp-build. - В перспективе: webpack и Babel объявят устаревшими в
@wordpress/scripts.
Кому использовать сейчас
- Контрибьюторы Gutenberg. При
npm startв репозитории Gutenberg запускается@wordpress/build. - Разработчики плагинов с несколькими скриптами или пакетами. Инструмент подходит для большинства архитектур, не только для моно-репозиториев.
- Разработчики, готовые влиять на инструмент. API ещё формируется — обратная связь сейчас наиболее ценна.
- Остальные: оставайтесь на
@wordpress/scripts. После слияния с@wordpress/buildвы получите преимущества без миграции.
Как повлиять на развитие
Дизайн инструмента ещё не фиксирован, ваш опыт может изменить результат:
- Структура и регистрация блоков плагина (Issue #74542)
- Опыт настройки вне моно-репозитория
- Модель экстерналов и пространств имён (Issue #75196)
Видение обсуждается в issue #72032. Если работаете со сборкой в экосистеме WordPress — стоит подключиться.

