摘要:官網(wǎng)倉(cāng)庫(kù)倉(cāng)庫(kù)中文官網(wǎng)一配置搭配的鉤子后,每次提交版本信息的時(shí)候,會(huì)根據(jù)配置的規(guī)則進(jìn)行校驗(yàn),若不符合規(guī)則會(huì)失敗,并提示相應(yīng)信息。添加字段的配置跳過(guò)校驗(yàn)使用指令可以跳過(guò)檢驗(yàn)規(guī)則代碼規(guī)范強(qiáng)制提交測(cè)試
關(guān)于 commitlint, husky, eslint 的具體信息可以見(jiàn)官網(wǎng)。
commitlint: 官網(wǎng), github 倉(cāng)庫(kù)
husky: github 倉(cāng)庫(kù)
eslint 中文官網(wǎng)
一、配置 commitlintcommitlint 搭配 husky 的 commit message 鉤子后,每次提交 git 版本信息的時(shí)候,會(huì)根據(jù)配置的規(guī)則進(jìn)行校驗(yàn),若不符合規(guī)則會(huì) commit 失敗,并提示相應(yīng)信息。
1. 安裝 commitlint husky 依賴
npm install --save-dev @commitlint/{cli,config-conventional} npm install --save-dev husky@next # 安裝最新版,就不用配置 scripts 腳本了
2. 新建 commitlint.config.js 文件
module.exports = { extends: ["@commitlint/config-conventional"] };
commitlint.config.js 配置文件可以添加自己的規(guī)則,這里 @commitlint/config-conventional 提供了官方的規(guī)則擴(kuò)展:
build:主要目的是修改項(xiàng)目構(gòu)建系統(tǒng)(例如 glup,webpack,rollup 的配置等)的提交 ci:主要目的是修改項(xiàng)目繼續(xù)集成流程(例如 Travis,Jenkins,GitLab CI,Circle等)的提交 docs:文檔更新 feat:新增功能 merge:分支合并 Merge branch ? of ? fix:bug 修復(fù) perf:性能, 體驗(yàn)優(yōu)化 refactor:重構(gòu)代碼(既沒(méi)有新增功能,也沒(méi)有修復(fù) bug) style:不影響程序邏輯的代碼修改(修改空白字符,格式縮進(jìn),補(bǔ)全缺失的分號(hào)等,沒(méi)有改變代碼邏輯) test:新增測(cè)試用例或是更新現(xiàn)有測(cè)試 revert:回滾某個(gè)更早之前的提交 chore:不屬于以上類(lèi)型的其他類(lèi)型
3. 配置 package.json 文件
添加 husky 字段
"husky": { "hooks": { "commit-msg": "commitlint -e $HUSKY_GIT_PARAMS" } },
4. 測(cè)試
git add . git commit -m "foo: this will fail"配置 eslint 鉤子
添加 husky 的 pre-commit 的鉤子,husky 會(huì)在你每次提交 commit 之前使用 eslint 校驗(yàn)代碼規(guī)范,不符合規(guī)則會(huì)提交失敗會(huì)打印出校驗(yàn)信息。
添加 husky 字段的配置
"husky": { "hooks": { "commit-msg": "commitlint -e $HUSKY_GIT_PARAMS", "pre-commit": "eslint "src/**/*.{js,ts,vue}"" } },
- 跳過(guò)校驗(yàn)
使用 --no-verify 指令可以跳過(guò)檢驗(yàn)規(guī)則
git add . && git commit --no-verify -m "代碼規(guī)范強(qiáng)制提交測(cè)試"
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/96334.html
摘要:為此我們需要安裝這個(gè)是用于提交代碼的鉤子函數(shù)安裝完之后,我們就需要在增加運(yùn)行鉤子函數(shù)。等鉤子函數(shù)這樣就簡(jiǎn)單的成功對(duì)代碼進(jìn)行效驗(yàn)了,當(dāng)然這邊更進(jìn)一步的可以使用這個(gè)可以將取得所有被提交的文件依次執(zhí)行寫(xiě)好的任務(wù)。 一個(gè)項(xiàng)目是會(huì)有多個(gè)成員來(lái)開(kāi)發(fā)的,因此統(tǒng)一開(kāi)發(fā)規(guī)范是很有必要的,不然每個(gè)人都有自己的風(fēng)格,同步之后代碼都會(huì)報(bào)錯(cuò)。我這邊是用Vscode編譯器的。 首先用vue-cli3.0創(chuàng)建一個(gè)工...
摘要:形成良好統(tǒng)一的代碼規(guī)范,有利于提高代碼的可讀性,減少潛在的錯(cuò)誤,便于團(tuán)隊(duì)協(xié)作開(kāi)發(fā)。其中是可選的,如果沒(méi)有則禁用所有規(guī)則,如果有則禁用所有規(guī)則。也可以定義一個(gè)命令同時(shí)運(yùn)行這兩個(gè)命令,我在這里使用了我們定義了在鉤子觸發(fā)時(shí)會(huì)執(zhí)行命令。 形成良好統(tǒng)一的代碼規(guī)范,有利于提高代碼的可讀性,減少潛在的錯(cuò)誤,便于團(tuán)隊(duì)協(xié)作開(kāi)發(fā)。本文簡(jiǎn)單介紹JS、CSS、 Git Commit 的規(guī)范工具及用法。 Lin...
摘要:當(dāng)然如果使用的話,使用來(lái)效驗(yàn)提交的代碼最后,需要修改演示環(huán)境在該環(huán)境下創(chuàng)建一個(gè)文件這邊主要和英文版中文版框架庫(kù)框架庫(kù)選擇語(yǔ)言簡(jiǎn)體中文主頁(yè)面配置別名路徑配置別名路徑 背景:為了避免重復(fù)造輪子,很有必要開(kāi)發(fā)一個(gè)通用組件庫(kù),方便重復(fù)利用。本文是采用vue-lic3.0腳手改造而成的,使用vuepress作為演示環(huán)境。 首先通過(guò)vue腳手架生產(chǎn)目錄如下: showImg(https://seg...
摘要:當(dāng)然如果使用的話,使用來(lái)效驗(yàn)提交的代碼最后,需要修改演示環(huán)境在該環(huán)境下創(chuàng)建一個(gè)文件這邊主要和英文版中文版框架庫(kù)框架庫(kù)選擇語(yǔ)言簡(jiǎn)體中文主頁(yè)面配置別名路徑配置別名路徑 背景:為了避免重復(fù)造輪子,很有必要開(kāi)發(fā)一個(gè)通用組件庫(kù),方便重復(fù)利用。本文是采用vue-lic3.0腳手改造而成的,使用vuepress作為演示環(huán)境。 首先通過(guò)vue腳手架生產(chǎn)目錄如下: showImg(https://seg...
摘要:我們?cè)谇懊娴乃钠薪榻B了這些工具,可以完成以最小的代價(jià)在提交到遠(yuǎn)程倉(cāng)庫(kù)前,格式化為統(tǒng)一風(fēng)格的代碼,大家都很熟悉這里就不列舉了。下面舉一個(gè)配置。這里對(duì)于項(xiàng)目里分別做了提交前格式化操作,對(duì)于提交規(guī)范做了校驗(yàn)。 我們?cè)谇懊娴乃钠薪榻B了husky、commitlint、lint-staged、prettier這些工具,可以完成以最小的代價(jià)在Git提交到遠(yuǎn)程倉(cāng)庫(kù)前,格式化為統(tǒng)一風(fēng)格的代碼,es...
閱讀 3160·2023-04-26 02:33
閱讀 3116·2023-04-25 21:33
閱讀 915·2021-09-02 09:56
閱讀 2936·2019-08-30 15:44
閱讀 2466·2019-08-30 13:15
閱讀 1044·2019-08-30 13:04
閱讀 1644·2019-08-29 15:09
閱讀 3977·2019-08-26 18:26