هدف:
- خودکارسازی فرمت کد قبل از کامیت (commit).
- اعمال یک الگوی خاص برای پیام کامیت (commit).
ابزارها:
Husky.NET:
- وظایف را با هوکهای گیت (Git hooks) (pre-commit، commit-msg) یکپارچه میکند.
- CSharpier را برای فرمتبندی (pre-commit) اجرا میکند.
- فرمت پیام کامیت (commit) را اعمال میکند (commit-msg).
CSharpier:
- یک فرمتکننده کد C# با تنظیمات از پیش تعیین شده برای یک سبک کد ثابت است.
- به عنوان یک ابزار دات نت (dotnet) نصب میشود.
- از طریق فایل های .csharpierrc، .csharpierrc.json، .csharpierrc.yaml یا .editorconfig پیکربندی میشود.
پیکربندی:
- Husky.NET با استفاده از task-runner.json برای تعریف وظایف و هوکهای گیت (Git hooks) مرتبط پیکربندی میشود.
- هوک pre-commit، CSharpier را اجرا میکند.
- هوک commit-msg یک اسکریپت بش (bash) را برای اعتبارسنجی پیامهای کامیت (commit) در برابر استانداردهای کامیت قراردادی اجرا میکند.
اعمال پیام کامیت:
- از یک اسکریپت بش (bash) برای بررسی پیامهای کامیت (commit) در برابر یک عبارت منظم تعریف شده استفاده میکند.
- استانداردهای کامیت قراردادی (به عنوان مثال، feat(auth): add login functionality) را اعمال میکند.
راه اندازی:
- پس از کلون کردن (clone) مخزن، dotnet tool restore و dotnet husky install را برای تنظیم ابزارها و هوکهای گیت (Git hooks) اجرا کنید.
نکات اضافی:
- کد C# نیز میتواند در هوکهای گیت (Git hooks) استفاده شود.
دستورات:
ایجاد فایل مانیفست ابزار (tool manifest): dotnet new tool-manifest
نصب CSharpier به عنوان یک ابزار: dotnet tool install csharpier
اجرای CSharpier برای فرمتبندی همه فایلهای C#: به صورت dotnet csharpier .
نصب Husky.NET به عنوان یک ابزار: dotnet tool install husky
یکپارچه سازی هوکهای گیت (Git hooks) با Husky.NET: به صورت dotnet husky install
افزودن هوک pre-commit: به صورت "'dotnet husky add pre-commit -c "echo 'Hi Husky
افزودن هوک commit-msg: به کمک "'dotnet husky add commit-msg -c "echo 'Hi Husky
اجرای وظایف در گروه pre-commit: به صورت dotnet husky run --group pre-commit
اجرای وظایف در گروه commit-msg: توسط dotnet husky run --group commit-msg -a $1
بازیابی ابزارهای دات نت (dotnet): dotnet tool restore
مشاهده مطلب اصلی