Husky + lint-staged + ESlint + Prettier(可选) 实现git增量代码lint校验

news2024/12/23 20:39:07

工具介绍

Husky + lint-staged + ESlint + Prettier(可选) 实现git增量代码lint校验

  • Husky:一个为 git 客户端增加 hook 的工具,它有一些钩子函数,比如pre-commit、 pre-push等
  • lint-staged: 一个过滤出 git 代码暂存区文件的工具,在每次提交时只检查本次提交的文件
    在这里插入图片描述
    上图的index就表示暂存区,lint-staged 只对暂存区的文件执行一些命令

配置

  • 安装依赖(已安装请跳过)
    yarn add husky lint-staged eslint
  • husky配置
    package.json 添加 prepare 脚本:
{
  "scripts": {
    "prepare": "husky install"
  }
}

在项目根目录执行:
yarn prepare
yarn husky add .husky/pre-commit "yarn lint-staged --verbose"

ps: --verbose参数可以让eslint打印出warning信息,没有这个参数的话,执行eslint --fix 的时候当只有warning的时候不会在控制台打印

另外在最新的husky版本中,必须通过husky install生成 .husky相关配置才会生效,以下的配置方式将会失效:
在这里插入图片描述

  • lint-staged配置
    package.json 添加 lint-staged 脚本和 lint-staged 执行的命令:
{
  "scripts": {
    "lint-staged": "lint-staged"
  },
  "lint-staged": {
    "src/**/*.{ts,vue}": [
        "eslint --fix" // 这里面不能直接执行script中的脚本,比如
        			   // 你在script中写了一个 "eslint:fix": "eslint --fix --ext .ts,.vue src"
        			   // 是不能直接在这里面直接执行 "eslint:fix" 的
     ]
   },
}

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

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

相关文章

防火墙NAT策略中各项之间以及策略与策略之间的关系

实验结论 将实验结论写在前面方便大家直接查看 1、NAT策略中rule与rule之间的关系为“或”的关系,即多个rule存在时,流量只需要匹配其中一个rule即可,流量会按照匹配的rule规则进行流量转发。(华为华三的防火墙rule是没有ID的&a…

都说今年软件测试炸了,到底炸到什么程度呢?

软件测试薪资“乱”了 随着互联网行业的发展,每年都有有数以万计的求职者推开软件测试的大门,软件测试从业人员数逐年递增,市场对于软件测试人员的要求也越来越高,所以很多的初级测试人员找不到工作,导致了都在说软件…

十年软件测试工程师感悟,写给想要转行的软件测试新人

作为一个30岁并且奋战在测试一线的测试员,被人无数次问到这个问题,也回答过无数次。 刚看到知乎上的一个问题:程序员真的干到35岁就干不动了吗?想到在测试行业真的干到35就干不动了吗?软件测试能做到多少岁?也有很多…

idea插件完成junit代码生成,和springboot代码示例

在idea环境下,可以用过插件的方式自动生成juint模板代码。不过具体要需要自己手动编写。 1、安装插件 打开idea,file–settings–plugins,搜索和安装插件(JunitGenerator V2.0和JUnit),安装后,后…

如何解决企业数字化焦虑?

数据是一种宝贵的战略资源,其潜在价值和增长速度正在改变着人类的工作、生活和思维方式。在未来,各行各业都会积极拥抱大数据,积极探索数据挖掘和分析的新技术、新方法,从而更好地利用大数据。海量的数据规模、快速的数据流转、动…

蜂窝空间两点最短路径的Python实现

昨天和Mcree来一场痛快淋漓的头脑风暴​! 叶子为什么是绿色的? 聊起一步步到物理是如何接过生物学家的接力棒深入探索:​参考链接:​为什么植物是绿色的?为了减少光合作用中的噪音 为什么眼睛能看到绿叶​?有没有存在…

Hadoop基础学习---1、大数据概论

1、大数据概念 大数据:指无法在一段时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 大数据主要解决,海量数据的采集、存储…

本地git仓库(gitea)与openssh-server的冲突(connection reset by ip port 22)

前提 之前在本地的windows电脑上安装了一个gitea供项目组成员使用。 期间为了在windows电脑上使用scp拷贝文件,离线安装过一个openssh。 冲突 发现无法pull/clone gitea上的仓库了,提示 connection reset by ip port 22 fatal: Could not read from r…

基于K8sSVC springboot 服务间调用

公司项目私有化部署,甲方要求服务间调用使用K8sSVC完成服务间调用。需要把原有基于springbootnacos 服务注册发现改造为k8ssvc完成服务间注册发现。 首先了解一下k8s svc: K8S核心概念之SVC(易混淆难理解知识点总结)_k8s svc_倾…

LVGL v8.2移植到IMX6ULL开发板

本文介绍嵌入式轻量化图形库LVGL 8.2移植到Linux开发板IMX6ULL的步骤。 文章目录 LVGL简介移植LVGL的硬件条件移植准备1. 源码下载2. 驱动加载 移植过程源码修改1. 修改lv_conf.h2. 修改lv_drv_conf.h3. 修改main.c文件4. 修改Makefile文件 源码编译效果演示 LVGL简介 LVGL最初…

内网渗透之权限维持-自启动映像劫持粘滞键辅助屏保后门WinLogon

0x01权限维持-自启动 以下几种方法都需服务器重启 1、自启动路径加载 C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 将木马放到此目录,等待服务器重启即可 2、自启动服务加载 sc create ServiceTest binPath C:\1.exe …

上门家教预约小程序开发 良师就在你身边

社会的发展科技的进步让人们对教育的重视度也逐渐升高,很多家长可以说是为了孩子的教育操碎了心。在学校还好有老师辅导,节假日在家的时候,很多家长自己本身文化知识有限或者工作繁忙没有时间辅导,送去辅导班来回接送又很麻烦&…

LeetCode 116. 填充每个节点的下一个右侧节点指针

116. 填充每个节点的下一个右侧节点指针 描述 给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node {int val;Node *left;Node *right;Node *next; }填充它的每个 next 指针&#xff0…

【Win32】资源文件(对话框),逆向对话框回调函数,消息断点(附带恶意软件源码)

之前在学习windows编程的时候已经写过对话框的创建了,其中包括了对话框的分类,原理等等,大家可以去看一下:【windows编程之对话框】对话框原理,对话框的创建。原理今天就讲的不是很多了,直接给大家给出步骤…

inquirer 用户与命令行交互工具

学习脚手架的时候接触到inquirer ,用来创建用户与命令行交互工具,使用方式如下: 1、安装 npm i -S inquirer 2、所有type使用范例 var inquirer require(inquirer);const questions [{type: confirm,name: order,message: 您好&#xf…

如何用 Midjourney 绘制你自己的拟人头像?

在元宇宙时代,许多人都使用各种AI应用程序来生成他们自己的头像,其中Midjourney是一个非常流行的选择。然而,成功的先行者可能不愿意透露具体的prompt(提示语),因为他们可能担心自己的创意被其他人抄袭。此…

Talk | 北航助理教授孙庆赟 :图学习里的拓扑不均衡问题初探

本期为TechBeat人工智能社区第497期线上Talk! 北京时间5月17日(周三)20:00,北京航空航天大学计算机学院 助理教授—孙庆赟的Talk将准时在TechBeat人工智能社区开播! 她与大家分享的主题是: “图学习里的拓扑不均衡问题初探 ”,届…

Stream流 - 两个list集合对象属性的合并、对象属性值运算

两个list集合对象属性的合并 合并两个 list<map>, 并将 userId 相同的所有属性合并到一个 map 中 list1中对象的属性:userId、userName list2中对象的属性:userId、gender、age 最总集合中对象的属性:userId、user…

C# | [二进制字符串] 与 [字节数组] 互相转换,一行代码就搞定! - CodePlus系列

C#二进制字符串与字节数组互相转换 文章目录 C#二进制字符串与字节数组互相转换前言示例代码实现思路扩展方法说明引用CodePlus库结束语 前言 开发中有时需要将二进制数据转换为字符串或相反。虽然.NET提供了一些用于二进制数据操作的类库,但是它们的使用有时候会比…

Elasticsearch 安装 X-pack

X-Pack是Elastic Stack扩展功能,提供安全性,警报,监视,报告,机器学习和许多其他功能。 ES7.0之后,默认情况下,当安装Elasticsearch时,会安装X-Pack,无需单独再安装。 1.…