Clean code - Husky and Git Hooks in Angular application

Опубликовано: 21 Март 2025
на канале: Code Blooded - The social coder
1,551
8

Packages:
1) npm i husky --save-dev
2) npm i lint-staged --save-dev
3) npm i prettier --save-dev
4) npm i prettier-eslint --save-dev
5) npm i pretty-quick --save-dev
6) npm i @commitlint/cli --save-dev
7) npm i @commitlint/config-conventional --save-dev



GIT Hooks

1) commit-msg
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npx husky add .husky/commit-msg 'npx commitlint --edit $1'
npx --no-install commitlint --edit $1
exit 0;

2) pre-commit
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npm test
npm run lint
npx pretty-quick --staged
npm run lint
exit 0



3) pre-push
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npx husky add .husky/commit-msg 'npx commitlint --edit $1'
npx --no-install commitlint --edit $1
npx pretty-quick --staged
npm run lint
exit 0;

4) .commitlintrc.json
{
"extends": ["@commitlint/config-conventional"],
"rules": {
"type-enum": [
2,
"always",
[
"build",
"chore",
"ci",
"docs",
"feat",
"fix",
"perf",
"refactor",
"revert",
"style",
"test",
"#"
]
]
}

}