Samouczek dla kontrybutorów Laravel Maestro
Laravel używa Maestro do tworzenia Starter Kitów. Dokumentacja dotycząca współtworzenia tych zestawów jest rzadkością.
Jeśli chcesz dodać nowe funkcje lub naprawić błędy w Starter Kicie, musisz zrozumieć przepływ pracy (workflow). Ten przewodnik wyjaśnia, jak poprawnie korzystać z Maestro.
Struktura katalogów
Repozytorium składa się z trzech głównych części:
kits/: Tutaj znajdują się właściwe pliki Starter Kita. Jest to jedyny katalog, który dodajesz do commita.orchestrator/: Zarządza procesem budowania i uruchamia kity.build/: Jest to tymczasowa przestrzeń robocza. Maestro tworzy ją podczas uruchamiania procesu budowania.
Przepływ pracy deweloperskiej
Nie pracuj bezpośrednio w katalogu kits/, chyba że aktualizujesz wiele plików jednocześnie. Zamiast tego postępuj zgodnie z poniższymi krokami:
Setup the environment Przejdź do folderu
orchestrator/. Uruchomcomposer installoraznpm install.Build your target kit Uruchom
php artisan build. Wybierz framework, wariant i funkcje. To utworzy folderbuild/.Run the kit Użyj
composer kit:runz folderuorchestrator/. To uruchomi aplikację na porcie 8000.Make your changes Otwórz katalog
build/. Znajdź pliki, które chcesz zmienić, i edytuj je.Let the watcher work Maestro używa mechanizmu watcher. Gdy zapiszesz plik w
build/, zostanie on automatycznie zaktualizowany w odpowiednim pliku w katalogukits/.Test your changes Najpierw zatrzymaj proces
kit:run. Nie można uruchamiać testów, gdy kit jest w trakcie działania. Z folderuorchestrator/uruchom:
composer kits:pint(do formatowania)composer kits:check(do testów PHP)composer kits:lint(do testów JavaScript)
- Commit your work
Sprawdź status git. Powinieneś zobaczyć zmiany w folderze
kits/. Do commita dodaj tylko katalogkits/.
Example: Changing text from "Log in" to "Log on"
- Edytuj plik blade lub komponent wewnątrz
build/. - Poczekaj, aż watcher zaktualizuje
kits/. - Uruchom testy, aby upewnić się, że nie popsułeś innych wariantów.
- Zatwierdź pliki w
kits/.
Ten proces zapewnia, że Twój wkład pozostanie czysty i będzie zgodny z architekturą Maestro.
Źródło: https://dev.to/catatsumuri/laravel-maestro-contributor-tutorial-2p89
