
- بواسطة x32x01 ||
إحنا كمطورين عارفين المشاكل دي كويس:
الحل عندي في التيم كان باستخدام Git Hooks + Husky. الطريقة سهلة وفعّالة جدًا.
الخطوة ١: تثبيت Husky + lint-staged
ابدأ بتنصيب الأدوات دي على المشروع:
ده هيوفرلك Git Hooks اللي تقدر تشغّلها قبل أي كوميت أو push، وlint-staged لفحص الملفات المعدلة بس.
الخطوة ٢: إضافة Quality Checks في package.json
ضيف الجزء ده في package.json:
من دلوقتي، أي كوميت هيتم التحقق منه أوتوماتيك:
النتيجة بعد التطبيق
نصيحة
جربها فورًا على أي مشروع JavaScript/TypeScript، خصوصًا لو شغال في فريق كبير أو على مشروع Production. هتوفر عليك وقت ومشاكل كتير.
- كوميت واحد يخرب الدنيا في البرودكشن
- الكود ريفيو كله ملاحظات على الفورمات والـ spacing
- تيب صغير ناقص يخلي البيلد يضرب
الحل عندي في التيم كان باستخدام Git Hooks + Husky. الطريقة سهلة وفعّالة جدًا.
الخطوة ١: تثبيت Husky + lint-staged
ابدأ بتنصيب الأدوات دي على المشروع:
Bash:
npm install husky lint-staged --save-dev
npx husky install
الخطوة ٢: إضافة Quality Checks في package.json
ضيف الجزء ده في package.json:
JSON:
"lint-staged": {
"./**/*.{js,jsx,ts,tsx}": [
"eslint . --fix --max-warnings 0 --no-warn-ignored",
"prettier --write",
"tsc --noEmit"
]
}
من دلوقتي، أي كوميت هيتم التحقق منه أوتوماتيك:
- ESLint → يصلح اللي يقدر عليه ويوقف الكوميت لو فيه أخطاء حرجة
- Prettier → يخلي كل الكود ستايل واحد، مفيش نقاش في الـ PR
- TypeScript → يوقف أي غلطة في الكود (strict validation)
- Import sorting → ينضف الكود ويخليه مرتب
النتيجة بعد التطبيق
- Bugs أقل
- كود شكله واحد وسط التيم كله
- Code review أسرع
- كود بروفيشنال يبهر أي كلاينت
نصيحة
جربها فورًا على أي مشروع JavaScript/TypeScript، خصوصًا لو شغال في فريق كبير أو على مشروع Production. هتوفر عليك وقت ومشاكل كتير. التعديل الأخير: