Home >Web Front-end >JS Tutorial >Husky and lint-staged: Keeping Code Consistent

Husky and lint-staged: Keeping Code Consistent

WBOY
WBOYOriginal
2024-07-20 10:23:38436browse

When a team works on a software project together, it's important for everyone's code to be neat and easy to understand. But sometimes, different computers and ways of working can make the code messy. Tools like husky and lint-staged can help fix this problem by checking the code automatically before it's added to the project.


What is lint-staged?

lint-staged is a tool that checks your code for mistakes and fixes them when it's staged in git. By using lint-staged, it helps keep your code clean and consistent.

Installation

1 . Install lint-staged as a development dependency:

npm install --save-dev lint-staged

2 . Configure lint-staged in your package.json file to run eslint and prettier on js and ts files.

"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 . Run lint-staged on staged files using the following command:

npx lint-staged

What is husky?

husky is a tool that manages git hooks, automatically running scripts before each git commit. This setup ensures that lint-staged checks your code before it's committed. It helps you maintain code quality by catching issues before they're finalized.

Installation

1 . Install husky and initialize it:

# husky init (create .husky folder)
npx husky-init && npm install

# husky - Git hooks install
npx husky install

2 . Check if prepare command is added in your package.json

"scripts": {
    "prepare": "husky install"
},

3 . Edit .husky > pre-commit file with the following to run lint-staged before each commit

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

npx lint-staged

How It Works

  1. Stage your code changes.
  2. husky triggers the pre-commit hook.
  3. The pre-commit hook executes lint-staged.
  4. lint-staged runs eslint and prettier checks on staged files.
  5. If errors or warnings are found, the commit is prevented with an error message.

Husky and lint-staged: Keeping Code Consistent


The above is the detailed content of Husky and lint-staged: Keeping Code Consistent. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn