commitlint+lint-staged+husky

步骤

1. 安装依赖

pnpm i -D husky lint-staged commitlint @commitlint/cli @commitlint/config-conventional

2. 初始化命令

npx husky init

3. 配置

// commit-msg,现npx husky add 添加指令已被废弃,手动添加
npx --no-install commitlint --edit $1// pre-commit 若前续指令未自动生成,手动添加
npx --no-install -- lint-staged

i. 根目录会生成 .hushy 文件夹

ii. .husky/pre-commit: 这是 husky 的 pre-commit 钩子文件,表示在每次 git commit 时,都会执行 npx --no-install -- lint-staged,运行 lint-staged 校验提交的代码。

iii. .husky/commit-msg: 这是 husky的 commit-msg 钩子文件,本项目配置用于校验 提交的 message消息是否符合项目的 commitlint 规范

// a. package.json
"scripts": { ..."prepare": "husky install" //(其他人安装后会自动执行) ...
}
// b. 根目录会生成 .hushy 文件夹
echo "npx --no-install -- lint-staged" > .husky/pre-commit // c.package.json 配置指令
"scripts": { ..."elint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts","slint": "stylelint \"src/**/*.(vue|scss|css)\"","format": "prettier --write src/","lint": "npm run elint && npm run slint && npm run format"...
},
"lint-staged": {"**/*.{js,jsx,tsx,ts,vue}": ["npm run elint","git add ."],"**/*.{html,vue,ts,cjs,json,md}": ["npm run format","git add ."],"**/*.{vue,css,scss,html}": ["npm run slint","git add ."]
}

4. 根目录新增commitlint.config.cjs。

本项目继承@commitlint/config-conventional的规则,具体的规范参考官方文档:commitlint。也可以自定义配置。

5. 可测试验证 

        a. 提交校验规范(需配合eslint prettier stylelint)

        b. 提交信息规范

eg.
git commit -m 'hhhh' 
// 终端出现如下报错:No staged files match any configured task.
⧗   input: hhhh
✖   subject may not be empty [subject-empty]
✖   type may not be empty [type-empty]✖   found 2 problems, 0 warnings
ⓘ   Get help: https://github.com/conventional-changelog/commitlint/#what-is-commitlinthusky - commit-msg script failed (code 1)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/58545.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大屏可视化:舞动数据与美观的“设计秘籍”

大屏可视化鉴赏:踏入软件系统产品设计之旅,让我们一同鉴赏那些闪耀在智慧农业、智慧园区、智慧社区及智慧港口等领域的大屏可视化杰作。每一帧画面,都是科技与创新的完美融合,数据跃然屏上,智慧触手可及。 >> 数…

持续基础怎么搞?Jenkins+Docker+Git实战

在如今的互联网时代,随着软件开发复杂度的不断提高,软件开发和发布管理也越来越重要。目前已经形成一套标准的流程,最重要的组成部分就是持续集成(Continuous Integration,CI)及持续部署、交付(…

EDA --软件开发之路

之前一直在一家做数据处理的公司,从事c开发,公司业务稳定,项目有忙有闲,时而看下c,数据库,linux相关书籍,后面跳槽到了家eda公司,开始了一段eda开发之路。 eda 是 electric design …

「Mac畅玩鸿蒙与硬件10」鸿蒙开发环境配置篇10 - 项目实战:计数器应用

本篇将通过一个简单的计数器应用,带你体验鸿蒙开发环境的实际操作流程。本项目主要练习组件的使用、事件响应和状态管理,帮助开发者熟悉基本的应用构建流程。 关键词 计数器应用组件操作事件响应状态管理HarmonyOS 应用开发一、创建计数器项目 1.1 在 DevEco Studio 中新建项…

串口通信以及USART和UART以及IIC和SPI-学习笔记

串行通讯与并行通讯 串行通讯是指设备之间通过少量数据信号线(一般8根以下)、地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式,串行通讯同一时刻只能传输一个数据位的数据,但通讯距离比并行通讯远、抗干…

window快捷键:window + v 打开剪切板历史记录 / 非常实用

一、剪切板历史记录功能介绍 1.1、window v 打开剪切板历史记录 / 文字、图片都可记录 1.2、window v 最近使用 1.3、window v 表情符号 1.4、window v GIF 1.5、window v 颜文字 1.6、window v 符号 二、欢迎交流指正

寻找专业在线微信投票和点赞服务团队攻略

在当今的社交网络时代,微信投票和点赞活动日益频繁,无论是企业评选、才艺比赛还是个人荣誉的角逐,都可能需要一定的投票和点赞支持。然而,要找到领先、高效、专业的在线微信投票和点赞服务团队并非易事。以下是一些关键步骤和注意…

115页PPT华为管理变革:制度创新与文化塑造的核心实践

集成供应链(ISC)体系 集成供应链(ISC)体系是英文Integrated Supply Chain的缩写,是一种先进的管理思想,它指的是由相互间提供原材料、零部件、产品和服务的供应商、合作商、制造商、分销商、零售商、顾客等…

HTML5和CSS3常见面试题

😊HTML5和CSS3常见面试题 1.HTML5有哪些新特性?2.你是如何理解语义化标签的?3.CSS3有哪些新特性?4.rem和em的区别是什么?5.如何实现自适应布局?6.清除浮动的方法有哪些?7.伪元素清除的原理是什么…

17. 从尾到头打印链表

文章目录 QuestionIdeasCode Question 输入一个链表的头结点,按照 从尾到头 的顺序返回节点的值。 返回的结果用数组存储。 数据范围0≤链表长度 ≤1000。 样例 输入:[2, 3, 5] 返回:[5, 3, 2] Ideas 直接遍历链表,然后倒序…

Games101 05~06 - Raterization 光栅化

1.Viewport Transformation视口变换: 1.1Canonical Cube 之前我们通过MVP矩阵把物体坐标变换到正方体中(每个顶点的x,y,z坐标都应该在-1.0到1.0之间)也被称为裁剪空间clip space,接下来我们需要将该空间映…

为Meta Spark准备3D模型

有许多工具可以帮助你为 Meta Spark Studio 创建 3D 对象,包括 Cinema4D、Blender 和 3ds Max。你还可以使用 Meta Spark Toolkit 优化 Blender 对象。 在本指南中,我们将介绍正确的设置,以便你可以成功地为 Meta Spark Studio 准备对象&…

shodan7,shodan参数使用,常用端口,Google语法

参数使用 alert shodan alert -h(查看帮助文档 这个就是怎么去配置ip监控)我们能在web页面上面去做,而且更加方便,所以就不多讲了 info shodan info(查看你查询的扫描的一些次数每个账户都是每个月有限制次数的)domain shodan domain(查询域名信息…

MATLAB/Simulink学习|在Simulink中调用C语言-04使用C Function 实现PI运算(使用模块自定义代码-仿真自定义代码)

在上一篇博客中,介绍了如何使用C Function 实现PI运算,但是在模块内编辑C代码,而不能直接调用已经写好了的C代码。 在Simulink中使用C Function调用自定义代码有两种方法,本篇博客介绍其中一种方法。 添加头文件和源文件 在实际…

博图V19的DB块,批量导入组态王

最近在使用组态王做一个厂区的DCS项目,plc选用西门子1500系列。一共用了3个1500,5个io站点。整个项目下来,点位大约有5000多个。把这5000多个点位,一个一个导入到组态王,无疑是一个非常非常非常难受的工作,…

✨云桥计划✨

✨云桥计划✨ 希望通过本计划,可以达成网络,以此为桥。 现阶段开放收集到的公开链接~ 您可以通过分享扩大的网络~ 数据库下载(不定时更新) SHA1: - Records: - Update: 暂无 机器人接入 相关工具 使用 数据提交接口 开发 appi…

Kafka相关API开发

(一)引入依赖 用API直接去操作kafka(读写数据)在实际开发中用的并不多,学习它主要还是为了加深对Kafka功能的理解。kafka的读写操作,实际开发中,是通过各类更上层的组件去实现。而这些组件在读写kafka数据时,用的当然是kafka的jav…

微信小程序生成海报 / 两张图片合并生成一张

一张背景图,一个二维码,生成一张全屏海报,二维码位于右下角(二维码位置可以调整) 方法思路:使用微信小程序的canvas组件 1、获取canvas组件定义一个canvas上下文 2、获取设备信息,将设备宽高…

linux离线安装Ollama并完成大模型配置(无网络)

这篇文章主要分享两方面内容: 1)在纯内网环境下如何部署ollama 2)在纯内网环境下如何配置大模型 话不多说直接开始。 ①离线部署ollama 一、通过浏览器访问ollama官方安装脚本,获取脚本内容。复制里面的内容。 在Linux中执行…

Centos安装配置Jenkins

下载安装 注意:推荐的LTS版本对部分插件不适配,直接用最新的版本,jenkins还需要用到git和maven,服务器上已经安装,可查看参考文档[1]、[2],本次不再演示 访问开始使用 Jenkins 下载jenkins 上传至服务器…