build — Сборка пакета¶
Собирает transport.zip пакет из исходников компонента.
Использование¶
Опции¶
| Опция | Описание |
|---|---|
--install |
Установить пакет после сборки (даже если в конфиге install = false) |
--no-install |
Не устанавливать (даже если в конфиге install = true) |
--export |
Извлечь элементы из БД перед сборкой (мягкий режим — не перезаписывает существующие) |
--no-encrypt |
Собрать без шифрования (если в конфиге encrypt.enable = true). Файл получит постфикс -ne |
--standalone |
Принудительно использовать standalone-сборщик |
--no-check |
Пропустить проверки PHPStan/CS Fixer/ESLint |
Флаги командной строки всегда приоритетнее конфига.
Примеры¶
# Собрать пакет
modxapp build mypackage
# Собрать и установить
modxapp build mypackage --install
# Собрать без шифрования (для тестирования)
# Результат: mypackage-1.0.0-pl-ne.transport.zip
modxapp build mypackage --no-encrypt
# Пропустить проверки
modxapp build mypackage --no-check
# Извлечь элементы из БД и собрать
modxapp build mypackage --export
Мягкий режим --export
При --export элементы из БД добавляются в файлы, но не перезаписывают уже описанные. Если элемент уже есть в файле — используется файловая версия. Новые элементы из БД дописываются.
Проверки перед сборкой¶
Перед сборкой автоматически запускаются проверки качества кода (если инструменты установлены):
- PHPStan — статический анализ
- PHP CS Fixer — проверка или автоисправление стиля (режим настраивается в
package_builder/packages/<name>/config.php) - ESLint — проверка JavaScript
Если проверка не прошла — сборка прерывается. Используйте --no-check для пропуска.
Подробнее: Инструменты разработки
Процесс сборки¶
- Загружает конфигурацию из
packages/<name>/config.php - Создаёт
modPackageBuilder - Регистрирует namespace компонента
- Создаёт категорию элементов
- Обрабатывает элементы (chunks, snippets, plugins, templates, TV, settings, menus, events, policies)
- Копирует файлы
core/иassets/с фильтрацией по.packignore - Добавляет резолверы
- Упаковывает в
core/packages/<name>-<version>-<release>.transport.zip - Устанавливает пакет (если указан
--install)
Фильтрация файлов¶
При копировании файлов в transport-пакет применяется фильтрация через .packignore. Технические файлы (PHPStan, ESLint, node_modules и т.д.) исключаются автоматически.