Husky و lint-stageed: Keeping Code Consistent

هنگامی که یک تیم روی یک پروژه نرم افزاری با هم کار می کنند، برای همه مهم است که کدهای منظم و قابل درک آسان باشد. اما گاهی اوقات، رایانهها و روشهای مختلف کار میتوانند کد را نامرتب کنند. ابزارهایی مانند husky و lint-staged می توانند با بررسی خودکار کد قبل از اضافه شدن به پروژه، به رفع این مشکل کمک کنند.
لینت استیج چیست؟
پرزدار ابزاری است که کد شما را برای اشتباهات بررسی می کند و زمانی که در git مرحله بندی می شود آنها را برطرف می کند. با استفاده از lint-staged، کمک میکند تا کد شما را تمیز و ثابت نگه دارید.
نصب و راه اندازی
1 . lint-staged را به عنوان وابستگی توسعه نصب کنید:
npm install --save-dev lint-staged
2 . lint-staged را در خود پیکربندی کنید package.json
فایل برای اجرای eslint و زیباتر روی فایل های js و ts.
"lint-staged": {
"*.{js,jsx,ts,tsx}": [
"eslint --fix --max-warnings=0", // both errors and warnings must be fixed
// "eslint --fix" // errors must be fixed but warnings can be ignored
"prettier --write"
]
}
3 . با استفاده از دستور زیر، lint-staged را روی فایل های مرحله بندی شده اجرا کنید:
npx lint-staged
هاسکی چیست؟
هاسکی ابزاری است که قلابهای git را مدیریت میکند و بهطور خودکار اسکریپتها را قبل از هر گیت commit اجرا میکند. این راهاندازی تضمین میکند که lint-staged کد شما را قبل از اجرای آن بررسی میکند. این به شما کمک می کند تا کیفیت کد را با بررسی مشکلات قبل از نهایی شدن حفظ کنید.
نصب و راه اندازی
1 . نصب husky
و آن را مقداردهی اولیه کنید:
# husky init (create .husky folder)
npx husky-init && npm install
# husky - Git hooks install
npx husky install
2 . بررسی کن اگر prepare
دستور به شما اضافه شده است package.json
"scripts": {
"prepare": "husky install"
},
3 . ویرایش کنید .husky > pre-commit
فایل را با موارد زیر به صورت lint-staged قبل از هر commit اجرا کنید
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
npx lint-staged
چگونه کار می کند
- تغییرات کد خود را مرحله بندی کنید.
-
husky
قلاب pre-commit را فعال می کند. - قلاب pre-commit اجرا می شود
lint-staged
. -
lint-staged
بررسی های eslint و زیباتر را روی فایل های مرحله بندی شده اجرا می کند. - اگر خطا یا اخطار پیدا شود، با یک پیام خطا از commit جلوگیری می شود.