Перейти к содержанию

Package Builder

Package Builder — CLI-инструмент для быстрого старта разработки пакетов под MODX Revolution 3. Одна команда — и вы получаете готовую структуру компонента с настроенными инструментами. Дальше пишете код, а Package Builder берёт на себя рутину: добавление элементов в MODX без входа в админку, извлечение лексиконов и настроек прямо из кода, сборку transport-пакета.

Что даёт Package Builder

Быстрый старт

  • Готовая структура пакета за одну команду — директории, конфиги, шаблоны файлов, всё по стандартам MODX 3
  • Кастомные шаблоны — создайте свой набор шаблонов для разных типов пакетов и используйте повторно

Разработка без рутины

  • Элементы без админки — добавляйте сниппеты, чанки, плагины, настройки и меню в MODX прямо из командной строки
  • Извлечение лексиконов из кода — сканирует PHP-код, находит все вызовы $modx->lexicon() и собирает ключи в файл лексикона (переводы нужно заполнить вручную)
  • Извлечение настроек из кода — находит $modx->getOption(), определяет типы настроек и создаёт готовый файл для сборки
  • Генерация классов из XML-схемы — описали структуру таблиц в XML, получили PHP-классы и таблицы в БД

Качество кода

  • PHPStan — статический анализатор, который находит ошибки в PHP-коде без запуска: неправильные типы аргументов, несуществующие методы, забытые проверки на null. Включён по умолчанию (level 5)
  • PHP CS Fixer (опционально) — автоматически приводит код к стандарту PSR-12: расставляет отступы, сортирует импорты, исправляет стиль. Запустили одну команду — и весь код оформлен единообразно
  • ESLint (опционально) — то же самое для JavaScript: находит ошибки и проблемы в JS-файлах компонента

Сборка и дистрибуция

  • Сборка transport.zip с поддержкой всех типов элементов MODX
  • Headless-сборка — без установленного MODX и MySQL
  • Автоматические проверки качества кода перед сборкой
  • Фильтрация файлов при сборке через .packignore — технические файлы не попадут в пакет
  • Шифрование платных пакетов через modstore.pro API

Системные требования

Минимальные (headless-режим)

  • PHP 8.1+
  • Composer
  • Расширения PHP: zip, mbstring

Достаточно для setup, create, build, extract-*.

Для полного функционала

  • PHP 8.1+
  • Composer
  • MODX Revolution 3 (установленный)
  • MySQL/MariaDB
  • Расширения PHP: pdo_mysql, zip, mbstring

Необходимо для команд elements, export и build --install.

Начало работы

  • Быстрый старт — пошаговое руководство от установки до первого пакета
  • Сценарии работы — headless, файловая разработка, смешанная работа с админкой
  • Установка — варианты установки и системные требования