Husky 的报错及简易配置

因为最近有一个需要协同合作的小项目,但是每个人的编辑器配置好像都不太一样,以至于在 code review 的时候发现关于空格、tab 之类的差异,所以就像使用 husky 去配置同步一下。这样也避免之后需要进行 code review 的时候将时间花费在无谓的 formatter 上。

Husky 是一个 GitHub pre-commit hook,会在每一次 git commit 触发后自动运行。目前的项目是使用 CRA 创建的一个 TypeScript 项目,因此不需要配置 TypeScript 和 ESLint 的相关配置,只需要下载 prettier 进行 format 即可。

下载 prettier 和 husky 的指令如下:

> npm install husky prettier --save-dev

目前 huksy 和 prettier 使用的版本是:

{"devDependencies": {"husky": "^7.0.4","prettier": "^2.6.2"}
}

这里主要使用的 prettier 配置只有一个,也就是 singleQuote: true 这一条,其他的就使用 prettier 默认的配置了。

配置 husky 的时候倒是遇到了一些报错,根据官方文档操作并没有成功,可能跟自己的 OS 有关吧……微软确实不是非常适合开发。

以下提供本机上成功运行的代码:

> npx husky install
> # 这里官方文档使用的是:
> # npx husky add .husky/pre-commit "npm test"
> # 但是我遇上的报错信息如下:
> # Usage:
> #   husky install [dir] (default: .husky)
> #   husky uninstall
> #   husky set|add <file> [cmd]
> # 不知道是不是和 ps 有关,还是和系统有关,最后只能采取相对路径的方法运行成功
> #
> # husky 运行的时候必须要在 .git 的目录下,否则会运行失败
> # 下面添加的部分就是在 git commit 执行后运行一下:
> #     使用 eslint 检查一下语法问题
> #     以及使用 prettier 进行 format
> #     --noEmit 的 flag 是让 tsc 不输出转译后的文件,
> #        不过这里转移的文件被 CRA 放置在另一个地方了,问题也不大
> .\node_modules\.bin\husky add .husky/pre-commit "npx tsc --noEmit && npx eslint --fix . && npx prettier --write ."
husky - created .husky/pre-commit

最后运行结果:

demo-proj> git commit -m "Keep calm and commit"C:\Users\XXXX\React\demo-proj\src\ui\toolbar\index.tsx8:5  warning  'text' is defined but never used  @typescript-eslint/no-unused-vars✖ 1 problem (0 errors, 1 warning).prettierrc.json 54ms
package-lock.json 257ms
package.json 30ms
public\index.html 63ms
public\manifest.json 4ms
README.md 51ms
src\App.tsx 522ms
src\components\dashboard\index.tsx 25ms
src\components\login\_login.scss 59ms
src\components\login\index.tsx 17ms
src\components\pwdReset\index.tsx 12ms
src\index.tsx 15ms
src\react-app-env.d.ts 11ms
src\routes\route.tsx 20ms
src\setupTests.ts 7ms
src\stores\actions\auth.action.ts 23ms
src\stores\index.ts 19ms
src\stores\reducers\auth.reducer.ts 20ms
src\stores\reducers\index.ts 11ms
src\styles\_variables.scss 20ms
src\styles\index.scss 9ms
src\ui\header\_header.scss 4ms
src\ui\header\index.tsx 9ms
src\ui\toolbar\_toolbar.scss 6ms
src\ui\toolbar\index.tsx 15ms
src\utils\auth.util.ts 4ms
tsconfig.json 8ms
[config fc15d76] Keep calm and commit4 files changed, 20 insertions(+)create mode 100644 .husky/pre-commit

husky 检查出了 ESLint 的报错信息,并且也对原本的代码进行了 reformat,这也就是 4 files changed, 20 insertions(+) 的来历。

Husky 的报错及简易配置相关推荐

  1. import提升导致Fundebug报错:“请配置apikey”

    摘要: 解释一下"请配置apikey"报错的原因. 部分Fundebug用户使用import来导入js文件时,出现了"请配置apikey"的报错,这是由于imp ...

  2. 安装 SQL Sever 2000至最后步骤报错“安装程序配置服务器失败。 参考服务器错误日志和 C: \Windows\sqltsp.log 了解更多信息”

    在安装 SQL Sever 2000至最后步骤报错"安装程序配置服务器失败. 参考服务器错误日志和 C: \Windows\sqltsp.log 了解更多信息" ,如 图: 解决方 ...

  3. import提升导致Fundebug报错:“请配置apikey” 1

    2019独角兽企业重金招聘Python工程师标准>>> 摘要: 解释一下"请配置apikey"报错的原因. 部分Fundebug用户使用import来导入js文件 ...

  4. 【错误记录】Android Gradle 配置报错 ( gradle.properties 配置到 BuildConfig 中需要注意类型转换 | 位置: 类 BuildConfig )

    文章目录 一.报错信息 二.解决方案 一.报错信息 报错信息 : D:\002_Project\002_Android_Learn\ClassLoader_Demo\app\build\generat ...

  5. win7 vs2017 程序报错_windows + VS2017 配置libpytorch

    因为项目对实时性的要求,尝试一波c++直接调用libpytorch.实现的同时,整理了网上的相关资料,希望对效率追求的同学提供一份帮助. 0.下载准备 下载安装VS2017 和 cmake (3.0版 ...

  6. java报错 csrf_spring security配置(.antMatchers(/).permitAll())后,页面CSRF均报错

    用springsecurity遇到一个头疼的问题,先看代码 http .authorizeRequests() .antMatchers("/**/*.css").permitAl ...

  7. ensp关于interface GigabitEthernet指令的报错.(AR3260接口配置)

    1. 上面的问题是因为忘了system-view的命令 这样就可以接入接口的配置了. 并且当你对其他接口进行配置前都需要system-view指令哦. 2. 指令错误,指令如上. 3.接口不存在,如下 ...

  8. 【DSP】常见问题解决1——引脚功能设置,declared implicitly报错,时钟未配置引起的错误等

    一.引脚功能设置问题 当调试某个引脚功能时,首先要检查的是GPIO的设置模式是否正确 EALLOW;GpioCtrlRegs.GPAGMUX1.bit.GPIO13=0; //数字端子输出GpioCt ...

  9. virtualBox安装centos6增强包报错解决及配置共享文件夹

     一.安装增强包 1.启动CentOS6.5 虚拟机,点击设备à 安装增强功能. 则 "光盘"VBOXADDITIONS已经挂载到 CentOS 5.5 的桌面上了. 此时 双 ...

最新文章

  1. ES6基础之Array.fill函数
  2. 美国的电子垃圾都去了哪?
  3. 利用Visual Studio 2005的自动化测试工具来做数据导入
  4. 北斗导航 | 卫星导航基础知识(伪随机噪声码)
  5. python布尔系列_python数据分析类库系列-Numpy之布尔型索引
  6. bzoj 2870: 最长道路tree
  7. 锐捷设备密码破解方法
  8. @转载 ASP.NET跨页面传值技巧
  9. Oracle数据库管理之创建和删除数据库
  10. ArcGIS下载在线地图影像上篇(手工版)
  11. 关于COM类工厂80070005和8000401a错误分析及解决办法
  12. 明天过节,给将来的程序员们一个神奇的名单。兄弟们看准了(不说他们好坏,只求别去了才知道是传说中的外包)
  13. 使用LODOP设计打印模板
  14. APICloud框架——获取本地图片信息
  15. idea永久激活教程:smirk:
  16. lncRNASNP:SNP位点对lncNA结构和lncRNA-miRNA影响的数据库
  17. 2.4G无线鼠标 PK 蓝牙鼠标
  18. 世界杯网页梦幻联动.html
  19. 我,程序员,告诉你年薪30万的程序员转行后,都去做什么工作了
  20. 组织打羽毛球活动的一些心得

热门文章

  1. 关于python的基础语法
  2. 【算法设计与分析】5个数7次比较排序的算法
  3. 【安卓】近场通信技术分析
  4. Docker:基于ubuntu18.04的介绍,安装与使用 - 最新无死角
  5. 开发TI DSP需要知道的
  6. C#中e.Cancel,e.Handled的区别与应用
  7. 安徽建筑大学计算机技术909数据结构
  8. Edge浏览器打开新建标签页速度很慢?如何解决?
  9. git checkout reset 傻傻分不清楚
  10. console.log 打印与预期结果不同