Руководство для контрибьюторов Laravel Maestro
Laravel использует Maestro для создания Starter Kits. Документации по внесению вклада в эти наборы крайне мало.
Если вы хотите добавить функции или исправить ошибки в Starter Kit, вам необходимо понимать рабочий процесс. Это руководство объясняет, как правильно использовать Maestro.
Структура каталогов
Репозиторий состоит из трех основных частей:
kits/: Здесь находятся файлы самого Starter Kit. Это единственный каталог, который вы коммитите.orchestrator/: Управляет процессом сборки и запускает наборы.build/: Временное рабочее пространство. Maestro создает его при запуске сборки.
Рабочий процесс разработки
Не работайте напрямую в каталоге kits/, если только вы не обновляете сразу множество файлов. Вместо этого следуйте этим шагам:
Setup the environment Перейдите в папку
orchestrator/. Выполнитеcomposer installиnpm install.Build your target kit Выполните
php artisan build. Выберите фреймворк, вариант и функции. Это создаст папкуbuild/.Run the kit Используйте
composer kit:runиз папкиorchestrator/. Это запустит приложение на порту 8000.Make your changes Откройте каталог
build/. Найдите файлы, которые нужно изменить, и отредактируйте их.Let the watcher work Maestro использует watcher. Когда вы сохраняете файл в
build/, он автоматически обновляет соответствующий файл в каталогеkits/.Test your changes Сначала остановите процесс
kit:run. Вы не сможете запустить тесты, пока набор запущен. Из папкиorchestrator/выполните:
composer kits:pint(для форматирования)composer kits:check(для PHP-тестов)composer kits:lint(для JavaScript-тестов)
- 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
