Руководство для контрибьюторов Laravel Maestro

Laravel использует Maestro для создания Starter Kits. Документации по внесению вклада в эти наборы крайне мало.

Если вы хотите добавить функции или исправить ошибки в Starter Kit, вам необходимо понимать рабочий процесс. Это руководство объясняет, как правильно использовать Maestro.

Структура каталогов

Репозиторий состоит из трех основных частей:

  • kits/: Здесь находятся файлы самого Starter Kit. Это единственный каталог, который вы коммитите.
  • orchestrator/: Управляет процессом сборки и запускает наборы.
  • build/: Временное рабочее пространство. Maestro создает его при запуске сборки.

Рабочий процесс разработки

Не работайте напрямую в каталоге kits/, если только вы не обновляете сразу множество файлов. Вместо этого следуйте этим шагам:

  1. Setup the environment Перейдите в папку orchestrator/. Выполните composer install и npm install.

  2. Build your target kit Выполните php artisan build. Выберите фреймворк, вариант и функции. Это создаст папку build/.

  3. Run the kit Используйте composer kit:run из папки orchestrator/. Это запустит приложение на порту 8000.

  4. Make your changes Откройте каталог build/. Найдите файлы, которые нужно изменить, и отредактируйте их.

  5. Let the watcher work Maestro использует watcher. Когда вы сохраняете файл в build/, он автоматически обновляет соответствующий файл в каталоге kits/.

  6. Test your changes Сначала остановите процесс kit:run. Вы не сможете запустить тесты, пока набор запущен. Из папки orchestrator/ выполните:

  • composer kits:pint (для форматирования)
  • composer kits:check (для PHP-тестов)
  • composer kits:lint (для JavaScript-тестов)
  1. Commit your work Проверьте статус git. Вы должны увидеть изменения в папке kits/. Добавляйте в коммит только каталог kits/.

Example: Changing text from "Log in" to "Log on"

  • Отредактируйте blade-файл или файл компонента внутри build/.
  • Подождите, пока watcher обновит kits/.
  • Запустите тесты, чтобы убедиться, что вы не нарушили работу других вариантов.
  • Закоммитьте файлы в kits/.

Этот процесс гарантирует, что ваш вклад останется чистым и будет соответствовать архитектуре Maestro.

Source: https://dev.to/catatsumuri/laravel-maestro-contributor-tutorial-2p89