• 项目架构:husky + lint-staged + eslint - git提交前自动检查代码


    拒绝代码潜在错误,尽量减少代码屎山,统一项目代码设计、规范,从我做起~~

    目前该方法在 git 提交代码前时,无法检测处理 ts 类型报错,Ts相关报错由于不是eslint的报错,所以无法处理。如果有小伙伴们知道解决方法的,欢迎告知、交流~~(个人使用的是vite)

    eslint相关安装配置在这里就不用说了,自行处理;

    1、项目根目录执行

    1. npx husky install
    2. npx mrm@2 lint-staged

    在执行以上命令时,如果遇到一些库的版本冲突报错,请根据自己项目实际情况产生的报错,自行解决报错问题,解决完后再安装一遍。
    以防万一建议删掉 node_modules 后,再执行第一步的这两个命令。


      2、项目 `package.json` 相关新的配置:

    1. {
    2. "scripts": {
    3. "lint": "eslint src/**/*.{js,jsx,vue,ts,tsx}",
    4. "lint-fix": "eslint src/**/*.{js,jsx,vue,ts,tsx} --fix",
    5. "prepare": "husky install"
    6. },
    7. "devDependencies": {
    8. "husky": "^8.0.1",
    9. "lint-staged": "^12.3.5",
    10. },
    11. "lint-staged": {
    12. "src/**/*.{js,jsx,vue,ts,tsx}": [
    13. "eslint --fix"
    14. ]
    15. }
    16. }

    3、执行了步骤1之后,根目录是会多出 `.husky` 文件夹,修改该文件夹下的 pre-commit 文件里代码为:

    1. #!/bin/sh
    2. . "$(dirname "$0")/_/husky.sh"
    3. npx lint-staged

    4、测试:修改一个文件的代码,让他报eslint错误,然后尝试git add  > git commit -m 'x' 提交代码,在 commit 执行之前会先执行以上配置好的脚本命令进行代码检测,若是有错误代码信息则提交失败。

    此时commit 失败,提示error错误数量,husky + lint-staged 就此配置成功。


    后期可能会加上其他的检测、格式化规范进去,到时候更新该文章

    系统文章质量提示:文字太少,请多水一水

    ?????????????????????

    ?????????????????????

    ?????????????????????

    ?????????????????????

    ?????????????????????

  • 相关阅读:
    iOS基于jenkins打包+上传蒲公英+钉钉群通知
    CentOS 离线升级Linux的内核并删除多有内核
    Linux:network:driver:mlx5:mtu:rx_oversize_pkts_sw_drop
    【重识云原生】第四章容器基础6.4.11.1节——Ingress综述
    java中的BigDecimal使用
    质量平台-sonarlint-idea本地配置及使用技巧
    Spring Security 单点登出
    相对于java,C++中的那些神奇语法
    MySQL常见的数据查询慢甚至导致死锁问题
    NL2SQL技术方案系列(5):金融领域NL2SQL技术方案以及行业案例实战讲解3--非LLM技术方案
  • 原文地址:https://blog.csdn.net/lijiahui_/article/details/126943359