Add Husky 🐶 to Angular

Code Quality Practice

It is really usual for developers to forget to run lint or test commands before committing their codes.

Husky is a library that provides us easy access to Git Hooks, we can easily manage to run some commands before committing the code.

Using it is really easy, if you are using NPM the command is

npx husky-init && npm install

It will add npm test as pre-commit by default, and here we need to add lint too, so we are going to add new pre-commit command using the following command

npx husky add ./husky/lint 'npm run lint:fix

For those who use Windows (like me), if a help message appeared, we need to use

node node_modules/.bin/husky add instead of npx

This one did not worked for me too, so what to do? 🧐

When run the command npx husky init it will add default test command for pre-commit, the configs exist under .husky directory when we open the file, it is simply fetching some bash file and then there is npm test command.

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npm test

So all we need to do next to add our command and even update the existing command.

That's it!
From now on we can be sure that code quality will be kept at every developer commit.

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npm run test:ci
npm run lint:fix

20