آموزش مشارکتکنندگان Laravel Maestro
لاراول از Maestro برای ساخت استارتر کیتها (Starter Kits) استفاده میکند. مستندات مربوط به مشارکت در این کیتها بسیار اندک است.
اگر میخواهید ویژگیهای جدیدی اضافه کنید یا باگها را در یک استارتر کیت رفع کنید، باید گردش کار (workflow) را درک کنید. این راهنما نحوه استفاده صحیح از Maestro را توضیح میدهد.
ساختار دایرکتوری
این مخزن دارای سه بخش اصلی است:
kits/: این پوشه فایلهای اصلی استارتر کیت را نگه میدارد. این تنها دایرکتوریای است که باید آن را commit کنید.orchestrator/: این پوشه فرآیند ساخت (build) را مدیریت کرده و کیتها را اجرا میکند.build/: این یک فضای کاری موقت است. Maestro هنگام اجرای build، این پوشه را ایجاد میکند.
گردش کار توسعه
مستقیماً در دایرکتوری kits/ کار نکنید، مگر اینکه بخواهید چندین فایل را به طور همزمان بهروزرسانی کنید. در عوض، این مراحل را دنبال کنید:
آمادهسازی محیط به پوشه
orchestrator/بروید. دستوراتcomposer installوnpm installرا اجرا کنید.ساخت کیت مورد نظر دستور
php artisan buildرا اجرا کنید. فریمورک، variant و ویژگیهای خود را انتخاب کنید. این کار پوشهbuild/را ایجاد میکند.اجرای کیت از پوشه
orchestrator/از دستورcomposer kit:runاستفاده کنید. این دستور برنامه را روی پورت 8000 اجرا میکند.اعمال تغییرات دایرکتوری
build/را باز کنید. فایلهایی که نیاز به تغییر دارند را پیدا کرده و ویرایش کنید.اجازه دهید watcher کار خود را انجام دهد Maestro از یک watcher استفاده میکند. وقتی فایلی را در
build/ذخیره میکنید، این ابزار به طور خودکار فایل مربوطه را در دایرکتوریkits/بهروزرسانی میکند.تست تغییرات ابتدا فرآیند
kit:runرا متوقف کنید. تا زمانی که کیت در حال اجرا باشد، نمیتوانید تستها را اجرا کنید. از پوشهorchestrator/دستورات زیر را اجرا کنید:
composer kits:pint(برای قالببندی/formatting)composer kits:check(برای تستهای PHP)composer kits:lint(برای تستهای JavaScript)
- ثبت (Commit) کار
وضعیت git خود را بررسی کنید. باید تغییراتی را در پوشه
kits/مشاهده کنید. فقط دایرکتوریkits/را به commit خود اضافه کنید.
مثال: تغییر متن از "Log in" به "Log on"
- فایل blade یا component را در داخل
build/ویرایش کنید. - منتظر بمانید تا watcher پوشه
kits/را بهروزرسانی کند. - تستها را اجرا کنید تا مطمئن شوید سایر variantها دچار مشکل نشدهاند.
- فایلهای موجود در
kits/را commit کنید.
این فرآیند تضمین میکند که مشارکت شما تمیز باقی میماند و از معماری Maestro پیروی میکند.
منبع: https://dev.to/catatsumuri/laravel-maestro-contributor-tutorial-2p89
