Skip to content

Latest commit

 

History

History
100 lines (84 loc) · 3.07 KB

README.zh.md

File metadata and controls

100 lines (84 loc) · 3.07 KB

Commit Lint Generator

透過 Javascript 建構團隊的 Commit 規則

NPM Version NPM Downloads NPM License

描述

Commit Lint Generator 是一個針對 commit 進行檢驗的工具,它會接收一個 commitlintrc.js 作為設定檔,該檔案會定義包含 hooks 以及各種 rule,你可以針對特定的 hook 來指定需要檢查的 rule,你可以在 commitlint 找到所有的 rules ,目前所支援的 rules 請參考 Support rules 章節,未來將會逐步支援其他的規則

功能

  • 基於設定的 rules 來檢查 commit 格式
  • 錯誤訊息支援多國語系
  • 符合大部分 POSIX 規範
  • 支援任何平台

Pre-prepare (Define Rule)

你可以在 commitlintrc.js 中定義團隊的 commit 規範。
commitlintrc.js 中匯出一個名為 config 的陣列,該陣列包含各個 hooks 所指定的規則

定義的結構如下

export const config = [
  {
    hook: "觸發的 hook",
    lang: "zh_tw",
    rules: [
      {
        name: "規則名稱",
        level: "0 不理會, 1 黃色文字, 2 紅色文字",
        applicable: "always | never 當選擇 never 時代表將規則反轉",
        value: "規則值"
      },
      {
        name: "header-max-length",
        level: 2,
        applicable: "always",
        value: 10
      },
      // 其他規則們...
    ]
  }
]

使用方式1 (不建置環境)

使用 docker 並且掛載專案的 .git 以及 commitlintrc.js

docker run --rm -v $(pwd)/.git:/app/.git -v $(pwd)/commitlintrc.js:/app/commitlintrc.js leo03164/commitlint-generator

使用方式2 (node.js環境)

1. 安裝 nodejs

如果你沒有 nodejs 請先安裝 nodejs 版本資訊 nodejs > 16.13.0

2. 安裝必要套件

npm i -g commit-lint-generator

3. 直接使用

commitlint-generator

Support rules

Parser

  • body-leading-blank

Header

  • header-case
  • header-full-stop
  • header-max-length
  • header-min-length
  • header-trim

Type

  • type-enum
  • type-case

Body

  • body-full-stop
  • body-empty
  • body-max-length
  • body-max-line-length
  • body-min-length
  • body-case

Footer

  • footer-empty
  • footer-max-length
  • footer-max-line-length
  • footer-min-length

用行動支持

  • Ko-fi: Donate with Ko-fi
  • Buy Me a Coffee: Donate with Buy Me a Coffee