使用 husky 和 lint-staged 檢查 Node.js 的程式碼一致性

孺子牛騎士發表於2018-12-06

在軟體開發過程中,程式碼風格檢查(Code Linting)是保障程式碼規範和一致性的有效手段。過去,Lint 的工作一般在 Code Review 或者 CI 的時候進行,但這樣會導致問題的反饋鏈,浪費不必要的時間。因此,我們需要利用 Git 的 Pre Commit 鉤子,將 Lint 過程放到開發者提交程式碼之前。

本文將會重點介紹如何使用 huskylint-staged 來檢查 Node.js 專案的程式碼一致性。其中 husky 用於設定本地的 Git 鉤子,lint-staged 會讓鉤子只檢查本次提交所修改的檔案。

安裝 husky 和 lint-staged

首先,我們使用下面的命令把 husky 和 lint-staged 安裝到 Node.js 專案的 devDependencies 中:

$ npm install husky lint-staged --save-dev
複製程式碼

如果你使用的是 Yarn,請使用下面的命令

$ yarn add husky --dev
複製程式碼

修改 package.json 配置

將下面的程式碼加入 package.json檔案中:

{
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "src/**/*.ts": ["tslint --project . --format stylish"],
    "src/**/*.{css,scss}": ["stylelint --config src/stylelint.config.json"]
  }
}
複製程式碼

這樣,當在終端輸入 git commit 命令提交程式碼的時候,Lint 程式便會自動檢查本次提交所修改的檔案是否符合本專案的程式碼規範。如果程式碼不符合規範,便會拒絕提交程式碼。

使用 husky 後提交

如果想要跳過 Lint 程式,可以使用 git commit -no-verify 進行提交。

檢視原文: myanbin.github.io/post/lintin…


相關文章