Fresh؛ اسکلت آماده ساخت پکیج لاراول
خلاصهٔ کاملتر
لاراولنیوز از Fresh نوشته، یه اسکلت (skeleton) آماده برای ساختن پکیج لاراول که خودش از قبل تصمیم گرفته ساختار و ابزارها چی باشن که مازن توتی ساخته. ایدهش اینه که اون روز اولِ هر پکیج، یعنی راهانداختن تست و لینتر و CI و انتشار، از قبل انجام شده باشه. با composer create-project پروژه رو میسازی و موقع نصب یه ویزارد اجرا میشه که اسم پکیج، namespace و اینکه چه بخشهایی (config، routes، migrations، commands، facade و…) بخوای رو میپرسه.
هر پرسش ویزارد یه فلگ معادل هم داره، پس میتونی کل مرحله تعاملی رو با --no-interaction رد کنی و همه چی رو مستقیم توی یه اسکریپت یا جاب CI بنویسی. روی کیفیت کد هم PHPUnit، Larastan، Rector و Pint نصبن و Paratest برای اجرای موازی تستها هست. دو دستور composer switch:l12 و composer switch:l13 هم اجازه میده همونجا پکیج رو روی هر دو نسخه اصلی پشتیبانیشده لاراول امتحان کنی.
یکی از بخشهای بهدردبخورش پوشه workbench/ ـه که از Orchestra Testbench میاد: با composer serve پکیج رو مثل یه اپ واقعی بالا میاری و بدون ساختن پروژه میزبان، دستی توش کلیک میکنی. گیتهاب اکشنزش هم یه ماتریس PHP 8.3 تا 8.5 در برابر لاراول 12 و 13 اجرا میکنه، به Codecov وصله، Pint و Rector رو خودکار fix میکنه و انتشار نسخهها رو هم با release-please خودش انجام میده.
برای پکیجهای فولاستک، Vue 3، Tailwind v4، Vite و TypeScript همراه با ESLint، Prettier، Vitest و ورکفلوی type-check آمادهست. تنظیمات مخزن مثل Dependabot، قالب ایشو، فایل funding و سیاست امنیتی هم توش هست.
چیدمان کدش بهجای نوع فایل، دامنهمحوره: کنترلر و ریکوئست و ریسورس یه قابلیت توی Http/Greeting/ مینشینه و اکشن و DTO و enum همون قابلیت توی Modules/Greeting/. اگه گزینه AI رو نگه داری، اسکیل scaffold-module (دستورنامهای که ایجنت AI میخونه) ایجنت رو مجبور میکنه همین چیدمان رو رعایت کنه، و یه اسکیل نمونه برای Laravel Boost هم برای اپهایی که پکیجت رو نصب میکنن اضافه میشه.
نکات کلیدی:
- ساخت پکیج با یک دستور composer create-project sunchayn/fresh-package
- هر پرسش ویزارد یه فلگ داره، پس با --no-interaction توی CI هم اجرا میشه
- ابزارهای کیفیت: PHPUnit با Paratest، Larastan، Rector و Pint
- ماتریس CI: PHP 8.3 تا 8.5 در برابر لاراول 12 و 13، با Codecov و release-please
- composer serve پکیج رو داخل اپ workbench بدون پروژه میزبان بالا میاره
- گزینه فولاستک با Vue 3، Tailwind v4، Vite و TypeScript و تست Vitest




