首页 > 其他分享 >使用 husky pre-commit 脚本自动检测提交代码里的关键词

使用 husky pre-commit 脚本自动检测提交代码里的关键词

时间:2025-01-22 13:29:45浏览次数:3  
标签:pre const log 自动检测 x1b console text commit mock

需求场景:

1. 若本地环境某个接口实在无法返回类真实的数据(包括一直是 null 或者一直是 0),前端得做 mock 数据,提交的时候得注释掉 mock 相关代码。

2.  我在上一家公司,由于要调试 tiptap,大家都写了很多 console.log,组长要求大家提 pr 的时候注释掉 console.log 以免影响他人调试,有时会出现提完 pr 组长还得要求大家改的情况,那是我第一次使用这个技巧,运行后组长也对此非常认可,可以就套用下面代码,把关键词改成 console.log ,检测的文件范围稍微调整下就行!

自动化提醒检测方案:使用假数据时带上 `mock` 关键词,在 pre-commit 钩子里使用 check-mock 脚本,能在提交代码的时候帮忙把关。

scripts\check-mock.js:

注意,不同系统语法可能有细微差异,这个版本在 windows 系统中可以正常工作。

const { execSync } = require('child_process');

const getRedText =(text)=> `\x1b[31m${text}\x1b[0m`; 
const getGreenText =(text)=> `\x1b[32m${text}\x1b[0m`; 

const FILE_PATTERN = /^(?!.*-mock\.).*$/;
const KEYWORD = '

标签:pre,const,log,自动检测,x1b,console,text,commit,mock
From: https://blog.csdn.net/weixin_44278873/article/details/145297896

相关文章

  • 速卖通获得aliexpress商品详情 API 返回值说明
    在速卖通API中,itemget接口主要用于获取商品(item)的详细信息。这对于卖家管理店铺商品信息,以及第三方开发者构建与速卖通商品数据交互的应用程序非常重要。aliexpress.item_get1.公共参数名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密......
  • 界面控件 DevExpress WinForms v24.2 新版亮点:正式支持.NET 9
    DevExpressWinForms拥有180+组件和UI库,能为WindowsForms平台创建具有影响力的业务解决方案。DevExpressWinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!DevExpressWinForms控件v24.2日前已经全新发布,新......
  • IAEPC Preliminary Contest (Codeforces Round 999, Div. 1 + Div. 2)
    B.KevinandGeometryvector的删除,无论是删除单个元素还是区间,一定是传入迭代器,而且区间一定是左闭右开区间点击查看代码#include<bits/stdc++.h>usingnamespacestd;intmain(){ ios::sync_with_stdio(false); cin.tie(0); intT; cin>>T; while(T--) { int......
  • IAEPC Preliminary Contest (Codeforces Round 999, Div. 1 + Div. 2)
    A.KevinandArithmetic题意:给你\(n\)个数,你一开始有一个\(x=0\),每次你让\(x\)加上一个没用过的数,然后\(x\)会一直除二直到变成奇数。如果你加上一个数后能除2,分数加1,问分数最大多少。奇数后面加奇数才能是偶数,但一开始\(x\)是零,那么需要一个偶数,否则只能浪费一个奇数。所......
  • 以下是设置Hugging Face `from_pretrained` 默认保存路径的完整解决方案:
    以下是设置HuggingFacefrom_pretrained默认保存路径的完整解决方案:方法1:通过环境变量全局设置在代码或系统环境变量中设置模型缓存路径:importosfrompathlibimportPath#设置自定义缓存路径(推荐使用绝对路径)CUSTOM_CACHE_DIR="/path/to/your/model_cache"......
  • [Tools] 集成ESLint与Prettier
    集成Prettier目前我们所学习的两个工具:Pretter和ESLint,两者都有管理代码风格的功能,因此两者往往就会在代码风格的管理上面存在一些冲突。例如举一个例子:ESLint配置了单引号规则Prettier配置了要使用双引号那么现在假设你使用双引号,ESLint会提示错误,然后我们将引号手动......
  • 使用 Express 搭建 RESTful API:实现用户管理系统的增删改查
    在现代Web开发中,后端接口的实现通常是基于RESTfulAPI的设计。Express是一个轻量级、灵活的Node.jsWeb框架,非常适合快速搭建RESTfulAPI。本文将通过一个完整的示例,展示如何使用Express和CORS中间件搭建一个支持增删改查(CRUD)操作的用户管理系统。我们将实现以下功......
  • DevExpress ASP.NET Web Forms v24.2 最新版本系统环境配置要求
    本文档包含有关安装和使用 DevExpressASP.NETWebForms控件的系统要求的信息。点击获取DevExpressv24.2正式版.NETFrameworkDevExpressASP.NETWebForms控件支持以下.NET框架版本。如果您需要DevExpress产品的早期版本,请咨询“在线客服”获取。IDEDevExpressASP.......
  • copype 是 Windows PE (Preinstallation Environment) 中的一个命令行工具,是 Windows
    Copype命令行选项|MicrosoftLearn copype是WindowsPE(PreinstallationEnvironment)中的一个命令行工具,通常用于创建和准备WindowsPE的工作环境。它是WindowsADK(WindowsAssessmentandDeploymentKit)中的一个实用工具,用来帮助用户快速复制WindowsPE文件......
  • Chapter 6.2-Preparing the dataset
    Chapter6-Fine-tuningforclassification6.2-Preparingthedataset如下图所示,分类微调LLM的三阶段过程数据集准备。模型设置。微调和评估模型。本节准备用于分类微调的数据集。我们使用一个包含垃圾邮件和非垃圾邮件文本的数据集,对大语言模型(LLM)进行微调......