पाठ 14 / 25
Pre-commit Hooks और Husky
Pre-commit hooks का उपयोग करके खराब कोड को commit किए जाने से रोकें।
Husky workflow
Husky commit से पहले ESLint और Prettier को चलाता है, खराब commits को block करता है। lint-staged speed के लिए केवल changed files पर linters को चलाता है।
Husky को सेट अप करना
Husky को install करें और commits से पहले lint करने के लिए pre-commit hook को configure करें।
npm install --save-dev husky lint-staged
npx husky install
# Add to package.json:
"lint-staged": {
"*.js": "eslint --fix",
"*.{js,json,md}": "prettier --write"
}
# Create .husky/pre-commit
npx husky add .husky/pre-commit "npx lint-staged"
Output:
Husky and lint-staged configured
जब आवश्यक हो तो skip करें
Emergencies में hooks को bypass करने के लिए git commit --no-verify का उपयोग करें (e.g., hotfix)। लेकिन document करें कि क्यों और immediately बाद में fix करें।
त्वरित जाँच
त्वरित जाँच: lint-staged क्या करता है?
- केवल commit के लिए staged files पर linters को चलाता है।
- Repo में सभी files को lint करता है।
- Files को स्वचालित रूप से stage करता है।
Answer
केवल commit के लिए staged files पर linters को चलाता है। — lint-staged पूरे codebase की जांच न करके केवल changed files को check करके speed को improve करता है।