Maestro Nedir?
Maestro Nedir?
Maestro, Laravel başlangıç kitlerini oluşturmak ve yönetmek için kullanılan bir üst düzey jeneratör deposudur.
Aşağıdaki başlangıç kiti depoları, Maestro’dan türetilmiş alt düzey depolar olup, başlangıç kiti tarafında doğrudan yapılan değişiklikler yukarıya yansıtılmaz.
laravel/react-starter-kitlaravel/vue-starter-kitlaravel/svelte-starter-kit
Bu nedenle, aşağıdaki gibi değişiklikler yaparken maestro tarafında değişiklik yapmanız gerekir.
- Paylaşılan başlangıç kiti hata düzeltmeleri
- Çapraz çeşit düzeltmeleri
- Jeneratör düzeyinde spesifikasyon değişiklikleri
- Staklar arasında UI tutarlılığı ayarlamaları
Maestro Yapısı
Maestro Yapısı
Normal bir Laravel uygulamasından farklı olarak, Maestro aşağıdaki yapıya sahiptir.
kits/— kaynak şablonbuild/— üretilmiş uygulama (üretim zamanı)- watcher —
build/→kits/arasında senkronizasyon katmanı
Inertia Çeşit Matriksi
Inertia Çeşit Matriksi
| çeşit | oluşturma komutu | başlangıç_kiti |
|---|---|---|
| React Fortify | php artisan build --kit=react | react |
| React WorkOS | php artisan build --kit=react --workos | react-workos |
| React Fortify + Ekipler | php artisan build --kit=react --teams | react-teams |
| React WorkOS + Ekipler | php artisan build --kit=react --workos --teams | react-workos-teams |
Bu durum Vue / Svelte için de geçerlidir.
Eğer “gerçeklerin kaynağı” anlamını yanlış anlaşırsanız, istenmeyen geri alma işlemleri ve gereksiz farklar meydana gelmesi olasılığı yüksektir.
Temel İlkeler
Temel İlkeler
kits/ Gerçeklerin Kaynağıdır
kits/ Gerçeklerin KaynağıdırKaydedilmesi gereken her fark kits/ içinde olmalıdır. build/ üretilmiş bir çıktıdır ve doğrulama, geçici düzenlemeler ve çalışma zamanı testleri için bir çalışma dizini olarak değerlendirilmelidir.
build/ tarafından farklar kaydedilmemelidir.
build/ Atılabilirdir
build/ Atılabilirdirbuild/‘i her zaman yeniden oluşturulabilir bir şey olarak düşünün. İçeriği çeşitler değiştiğinde önemli ölçüde değiştiği için, kalıcı değişiklikler, kaynak yamanları veya sürekli düzeltmeler doğrudan build/‘de yer almamalıdır. Kalıcı değişiklikler kits/‘de olmalıdır.
composer kit:run Kolaydır Ama Tehlikelidir
composer kit:run Kolaydır Ama Tehlikelidircomposer kit:run, ayarları, Laravel geliştirme sunucusunu, Vite geliştirme sunucusunu ve izleyiciyi bir arada çalıştıran bir kolaylık komutudur.
Ancak izleyici, build/‘i yetkili olarak değerlendirir ve değişiklikleri kits/‘ye geri yazar. Sonuç olarak, eski bir build/ kullanarak kit:run başlatırsanız, kits/‘deki değişiklikler geri alınabilir.
kits/içinde doğrudan düzenleme yaptıktan sonra, eski birbuild/ile aslacomposer kit:runçalıştırmayın. Öncelikle her zaman yeniden oluşturun.
İlk Kurulum
İlk Kurulum
git clone https://github.com/laravel/maestro.git
cd maestro/orchestrator
composer install
npm install
Bir Başlangıç Kitini Oluşturma
Bir Başlangıç Kitini Oluşturma
Çalışmaya başlangıçta, hedef çeşidi build/ dizinine genişletin.
cd orchestrator
php artisan build --kit=react
php artisan build --kit=vue
php artisan build --kit=svelte
php artisan build --kit=react --workos
php artisan build --kit=react --teams
Mevcut oluşturma hedefi şu konumda saklanır:
orchestrator/storage/app/private/starter_kit
Geliştirme Sunucusunu Başlatma
Geliştirme Sunucusunu Başlatma
Doğrudan build/ dizininde başlamayın. Bunun yerine, orchestrator/ dizininden şu komutu çalıştırın.
composer kit:run
Bu komut birlikte aşağıdakileri gerçekleştirir:
build/dizinindecomposer setupçalıştırır- Laravel geliştirme sunucusunu başlatır
- Vite geliştirme sunucusunu başlatır
- İzleyiciyi başlatır
Tipik uç noktalar:
- Laravel:
http://localhost:8000 - Vite:
http://localhost:5173
Güvenli İş Akışı
Güvenli İş Akışı
Şablon 1: build Tarafında Düzenleme (geçici doğrulama için)
Şablon 1:
build Tarafında Düzenleme (geçici doğrulama için)build → kit:run → edit build → verify behavior
Keşifsel UI ayarlamaları için uygundur. Ancak build/‘in atılabilir olması nedeniyle, son kaynak yamaları kits/‘ye yeniden düzenlemek daha güvenli olacaktır.
Şablon 2: kits Tarafında Düzenleme (PR’lar için önerilen yol)
Şablon 2:
kits Tarafında Düzenleme (PR’lar için önerilen yol)edit kits → php artisan build ... → composer kit:run → verify
Bu, PR yamaları hazırlarken önerilen yaklaşımdır.
Çeşit Değiştirme
Çeşit Değiştirme
Mevcut bir build/‘i kısmen güncellemeyin. Her seferinde yeniden oluşturun.
php artisan build --kit=react
php artisan build --kit=vue
php artisan build --kit=svelte
Değiştikten sonra her seferinde doğrulama için composer kit:run‘yi yeniden çalıştırın.
Doğrulama Notları
Doğrulama Notları
Veritabanı Başlatma
Veritabanı Başlatma
composer setup sadece php artisan migrate --force kadar çalışır. Eğer veri eklenmesi gerekiyorsa, build/ içinde şu komutu çalıştırın.
php artisan migrate:fresh --seed
İzleyiciden Eski Dosyaları Kaldırma
İzleyiciden Eski Dosyaları Kaldırma
Çeşit değiştirirken, izleyici bazı kaynak varlıkların eski olduğunu belirleyebilir ve bunları silebilir.
Örnekler:
kits/Inertia/Fortify/React/chisel-paths.phpkits/Inertia/Fortify/Vue/chisel-paths.phpkits/Inertia/Fortify/Svelte/chisel-paths.php
Bunları ana değişiklik setinden ayrı olarak ele alın.
UI Kopya Değişikliklerini Doğrulamak için Örnek Yollar
UI Kopya Değişikliklerini Doğrulamak için Örnek Yollar
Fortify çeşidinde UI metin değişiklikleri için, genellikle ana akışları doğrulamak için aşağıdaki yollar yeterlidir.
/login/user/confirm-password/verify-email/settings/security/settings/appearance/settings/profile
WorkOS’in daha yüksek bir doğrulama maliyeti olduğundan, küçük değişiklikler için Fortify çeşitlerini önceliklendirmek kabul edilebilir.
Sahneleme Hakkında Düşünme
Sahneleme Hakkında Düşünme
PR’nin ana amacı bir UI metin değişikliği ise, yalnızca metinle ilgili farklılıkları sahneleyin.
Aşağıdakilerin genellikle ayrı tutulması gerekir:
-
chisel-paths.phpizleyici tarafından silinmiş - Geçici düzeltmeler
build/‘de - Tarayıcı testleri için doğrulamalar
- İlgisiz çalışma zamanı hata düzeltmeleri
# Tüm dosyaları eklemek yerine, hedef dosyaları açıkça ekleyin
git add kits/path/to/changed-file.blade.php
PR Öncesi Kontrol Listesi
PR Öncesi Kontrol Listesi
- [ ]
build/‘den herhangi bir sahnelemeden fark var mı? - [ ] İzleyiciden çıkarılan eski dosyalar karışmış mı?
- [ ] Gereksiz çapraz çeşitleme farkları var mı?
- [ ] Geçici tarayıcı test değişiklikleri hala mevcut mı?
- [ ]
git diff --cachedkontrol edildi mi? - [ ] Gerçeklerin kaynağı doğru bir şekilde
kits/tarafında mı?
Özet
Özet
Maestro’yu normal bir Laravel uygulaması gibi yönetirseniz, fark geri almaklar ve gereksiz gönderimler tetiklemek oldukça kolaylaşır. PR’leri güvenli bir şekilde oluşturmak için aşağıdaki sıralamayı koruyun.
Güvenli PR Akışı
Güvenli PR Akışı
- Değişiklikleri
kits/içinde uygulayın php artisan build ...ile yeniden oluşturuncomposer kit:runile doğrulayın- Yalnızca amaçlanan farklılıkları sahneleyin
- İzleyici/tarayıcı test yan etkilerini ayırın
Kaynak: Orijinal Makale
- Maestro Nedir?
- Temel İlkeler
- İlk Kurulum
- Bir Başlangıç Kitini Oluşturma
- Geliştirme Sunucusunu Başlatma
- Güvenli İş Akışı
- Şablon 1: build Tarafında Düzenleme (geçici doğrulama için)
- Şablon 2: kits Tarafında Düzenleme (PR’lar için önerilen yol)
- Çeşit Değiştirme
- Doğrulama Notları
- Veritabanı Başlatma
- İzleyiciden Eski Dosyaları Kaldırma
- UI Kopya Değişikliklerini Doğrulamak için Örnek Yollar
- Sahneleme Hakkında Düşünme
- PR Öncesi Kontrol Listesi
- Özet
- Güvenli PR Akışı


