husky 工具配置代码检查工作流:提交代码至仓库前做代码检查

news2024/9/20 9:26:03

提示:这篇博客以我前两篇博客作为先修知识,请大家先去看看我前两篇博客

博客指路:前端 ESlint 代码规范及修复代码规范错误-CSDN博客前端 Vue3 项目开发—— ESLint & prettier 配置代码风格-CSDN博客

husky 工具配置代码检查工作流的作用

在工作中,我们经常需要将写好的代码提交至代码仓库

但是由于程序员疏忽而将不规范的代码提交至仓库,显然是不合理的

所以我们需要引入一种检查机制,若代码不规范,就不允许提交

提交前做代码检查

husky 是一个 git hooks 工具 ( git的钩子工具,可以在特定时机执行特定的命令 )

husky 配置

1、git初始化 git init(若已有仓库则跳过这一步)

2、初始化 husky 工具配置 Husky

pnpm dlx husky-init && pnpm install

3、修改 .husky / pre-commit 文件

pnpm lint

暂存区 eslint 校验

问题:pnpm lint 默认进行的是全量检查,耗时问题,历史问题

耗时问题 -> 如果项目过大,校验耗时也大

历史问题 -> 且如果拉取同事的代码,校验之后发现同事的代码有很多规范问题,我们还要替同事背这个锅,显然不合理。因为 eslint 的校验可能并不是一开始就有的,而是在工作过程中逐步建立起来的,所以可能旧的代码没有经过校验就被提交了

所以能不能改改机制,每次提交都只检查最新改动的代码?这样才符合实际工作需求

如何实现?

lint-staged 配置

安装

pnpm i lint-staged -D

配置 package.json

{
  // ... 省略 ...
  "lint-staged": {
    "*.{js,ts,vue}": [
      "eslint --fix"
    ]
  }
}
​
{
  "scripts": {
    // ... 省略 ...
    "lint-staged": "lint-staged"
  }
}

修改 .husky/pre-commit 文件

pnpm lint-staged

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

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

相关文章

高并发内存池(二):​整体框架的介绍与ThreadCache的实现

目录 整体框架介绍 ThreadCache的主体框架 自由链表-FreeList 内存对齐-RoundUp 计算桶位置-Index 基础版 进阶版 线程局部存储 __declspec(thread) 关键字 实现线程无锁 申请内存-Allocate 释放内存-Deallocate 从中心缓存中申请内存 整体框架介绍 高并发内存池…

变量数据类型 Day3

1. 变量 1.1 变量的概念 变量是计算机内存中的一块存储单元,是存储数据的基本单元变量的组成包括:数据类型、变量名、值,后文会具体描述变量的本质作用就是去记录数据的,比如说记录一个人的身高、体重、年龄,就需要去…

【微处理器系统原理和应用设计第十讲】外部中断之开发键控灯亮灭功能

一、基础知识 外部设备所产生的信号通过EXIT触发中断。 1、与中断相关的主要寄存器 EXTI共设有6个寄存器,分别为中断屏蔽寄存器(IMR),事件屏蔽寄存器(EMR),上升沿触发选择寄存器(…

Ubuntu | 安装 Truffle 框架(安装缓慢)

目录 预备工作具体步骤Step1:安装 nvma. 官方方式(可能失败)b. 压缩包安装方式 Step2:安装 node.js 和 npmStep3:安装 Truffle 参考博客 前言:昨天安装 Truffle 框架,结果缓冲条转了一晚上都没安…

利士策分享,如何平衡物质追求与心理健康?

利士策分享,如何平衡物质追求与心理健康? 在快节奏的现代社会,物质追求与心理健康仿佛成了人们生活中不可或缺的两极。 一方面,科技的飞速发展和经济的繁荣让我们拥有了前所未有的物质享受; 另一方面,高压的工作环…

前端基础 | HTML基础:HTML结构,HTML常见标签

文章目录 HTML1、HTML结构1.1HTML标签1.1.1标签1.1.2标签含义 1.2HTML文件基本结构1.3标签层次结构1.4 快速生成代码框架 2、HTML常见标签2.1注释标签2.2标题标签:h1–h62.3段落标签:p2.4 换行标签:br2.5格式化标签2.6 图片标签:i…

细致刨析JDBC ② 进阶篇

目录 一、JDBC拓展 1.实体类和ORM Ⅰ、ORM思想封装单个对象 Ⅱ、ORM思想封装集合 2.主键回显 3.批量操作 ① 循环逐条数据进行添加 ② 批量进行添加 二、连接池 1.现有问题 2.连接池 3.常见连接池 4.Druid连接池使用 使用步骤: 硬编码 软编码 5.HikariCP连接池使用 …

(详细文档)javaswing学生成绩管理系统(mysql)+详细报告

摘要 在现今信息时代,生活速度的加快,使得人们越来越向信息化、数字化发展。 随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增 长,尤其是学生的考试成绩数据。面对庞大的学生的成绩&#xff0…

@Value读取properties中文乱码解决方案

前几天碰到使用Value中文乱码的问题,英文字符则不会出现问题 原因:SpringBoot在加载properties配置文件时,使用的默认编码是:ISO_88599_1 解决方式:将properties改成yml就可以读取成功了 Data Component PropertySou…

数据结构(邓俊辉)学习笔记】排序 1——快速排序:算法A

文章目录 1. 分而治之2. 轴点3. 构造轴点4. 单调性 不变性5. 实例 1. 分而治之 主题就是排序。实际上我们对于排序问题并不陌生。你应该记得在最开始的几章,我们就分别介绍过起泡排序、插入排序、选择排序以及归并排序,而在介绍散列技术时,我…

Tableau 2023下载安装教程最新教学附软件包百度网盘分享链接地址

Tableau 2023介绍 Tableau 2023下载安装教程最新教学附软件包百度网盘分享链接地址,Tableau 是一款强大的数据可视化软件。它能连接多种数据源并整合,操作简单,通过拖放即可创建可视化报表和仪表盘。具有高效的分析处理能力,支持…

windows下安装并使用nvm

目录 一.准备工作:卸载node 卸载步骤 二.下载nvm 三.安装nvm 三.配置下载源【重要】 四.使用nvm安装node.js 五.nvm常用命令 六.卸载nvm 一.准备工作:卸载node 如果电脑上已经有node,那么我们需要先完全卸载node,再安装…

LeetCode 热题 100 回顾15

干货分享,感谢您的阅读!原文见:LeetCode 热题 100 回顾_力code热题100-CSDN博客 一、哈希部分 1.两数之和 (简单) 题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标…

FastAPI模块化:为复杂应用程序提供清晰的结构

开题描述: 在现代软件开发中,随着应用程序规模的扩大和功能的增加,传统的单体架构逐渐暴露出其局限性。FastAPI,作为一款高性能的现代Web框架,通过其模块化设计提供了一种解决方案。本文将探讨FastAPI模块化如何为构建…

顶刊中的树状图如何绘制?|科研绘图·24-09-07

小罗碎碎念 本期推文主题:树状图 本期推文主要介绍如何绘制树状图以及它的一些变体形式,看完本篇推文,你最终能够实现的效果如下。 一、组织结构图 Dendrogram是一种网络结构,由一个根节点开始,该节点通过边或分支连接…

找商业网字体加密(TTFont方法)

网点地址:公司介绍-泰州名列新材料有限公司 (zhaosw.com) 问题如下: 在网站中看到的电话号码在页面源码中无法查看 破解步骤: 1.找到woff文件 查找字体的class属性,全文查找font-face-encrypted找到如下内容,可以看到…

在 Linux 上部署javaWeb项目+图文详解_java web项目部署到linux服务器

-f : force强制的意思,如果目标文件已经存在,不会询问直接覆盖 -i : 若目标已经存在,就会询问是否覆盖 -u : 若目标文件已经存在,且比目标文件新,才会更新 # 该命令可以把多个文件一次移动到一个文件夹中,但…

github删除自己创建的仓库

1.进入仓库,点击Settings 2.下拉至Danger Zone区域,点击Delete this repository 3.点击 I want to delete this repository 4.点击i have read ... 5.按提示输入,点击Delete this repository 总结 1.进入仓库,点击Settings 2.下…

推荐9个不同风格的音频频谱波形 听音乐怎么能少了它

9个不同风格的音频频谱波形 听音乐怎么能少了它。在我们沉静在听音乐的过程中,桌面上的频谱跳动,会让音乐更有动感,视觉化把音频表现出来。在桌面上跳动的音乐,更有氛围。小小编给大家带来了9种非常有特殊的音频频谱,看…

做一个最简单的CPU -- 计算机组成原理(六)

在上一个章节中,我们已经了解了一个存储是如何制作出来的,利用这个存储我们就可以做一个最简单的CPU 指令 我们知道CPU负责执行计算机的程序,而程序其实是一个个的操作指令 比如可能是计算指令,cpu会指示ALU进行加减运算 也可…