首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Vue工程】003-配置 husky、lint-staged、@commitlintcli

Git Hook 是一种机制,它允许在 Git 执行操作时自动运行特定脚本,以执行自定义操作。...使用 Husky,可以轻松地添加 Git Hooks,并在特定的 Git 事件(如提交代码)发生时执行自定义的脚本。例如,在提交代码之前自动运行代码格式化脚本或运行代码静态分析工具等。...lint-staged 是一个工具,可以在 Git 暂存区的文件上运行指定的 lint 工具,以便于仅在需要时执行 lint 检查。...使用 lint-staged 可以大大提高 lint 检查的效率,因为只需要针对本次提交的文件执行 lint 检查,而不是所有的文件。...: 增加 xxx 功能' git commit -m 'bug: 修复 xxx 功能' 三、vscode 保存自动格式化 在 .vscode 目录下新建 settings.json { "editor.codeActionsOnSave

11010
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    前端老项目接入 eslint 从配置到上线的一些思考

    eslint 的修复 }, "editor.formatOnSave": true // 保存时自动格式化 } 这个文件是 VSCode 针对当前工程的配置,配置后保存文件的时候插件会自动帮助我们格式化...本地进行全量文件的 eslint --fix 后上线: 优点:未来开发时原有文件的 lint 问题不用关心,开发者只需关注原有 error 和自己当前的 lint 问题即可。...缺点:由于改动文件数较多,eslint 不可完全信任,贸然上线可能会造成线上问题。 仅仅上线 eslint 的卡控和保存时自动 lint 的配置: 优点:未改动代码逻辑,不会存在引发线上问题的隐患。...缺点:当开发者修改、保存老文件后,会自动触发 lint 修复,从而污染混淆本身的修改,增加后续 code review 工作负担。...我是偏向于第 2 个方案的,虽然 eslint 自动修复一般不会引起问题,但程序肯定是不能 100% 相信的,如果造成了线上问题反而得不偿失。

    1.1K20

    前端老项目接入 eslint 从配置到上线的一些思考

    eslint 的修复 }, "editor.formatOnSave": true // 保存时自动格式化 } 这个文件是 VSCode 针对当前工程的配置,配置后保存文件的时候插件会自动帮助我们格式化...本地进行全量文件的 eslint --fix 后上线: 优点:未来开发时原有文件的 lint 问题不用关心,开发者只需关注原有 error 和自己当前的 lint 问题即可。...缺点:由于改动文件数较多,eslint 不可完全信任,贸然上线可能会造成线上问题。 仅仅上线 eslint 的卡控和保存时自动 lint 的配置: 优点:未改动代码逻辑,不会存在引发线上问题的隐患。...缺点:当开发者修改、保存老文件后,会自动触发 lint 修复,从而污染混淆本身的修改,增加后续 code review 工作负担。...我是偏向于第 2 个方案的,虽然 eslint 自动修复一般不会引起问题,但程序肯定是不能 100% 相信的,如果造成了线上问题反而得不偿失。

    1.4K20

    webpack5 + webpack-chain 构建一个大型应用系列 2(附 vscode 跟 prettier 配置)

    上一篇:一步步从零开始用 webpack 搭建一个大型项目 ?.../build/lint")(args, api); }); }); }; 这样我们可以使用 webpack-box lint eslint 去修复大部分的错误了,去试一下吧~ 使用编译器自动修复...当然我们执行 webpack-box lint eslint 命令时可以去修复一些错误,但是当我们写代码时希望编译器能够帮助我们自动修改,而不是等到代码写完了才去校验,这样会给我们带来二次麻烦,甚至会出现修复不了的问题...) 上述的操作都是我们理想状态下的检测跟修复,但是有时还会遇到意外的情况,并没有 lint 代码就提交了,这样会导致可能出现问题,所以我们需要在提交代码前进行一次代码检验 在 package.json...{js,jsx}": ["webpack-box lint eslint", "git add"] } } 课题 12:添加 tslint 并开启自动修复 本章概要 配置插件 添加规则 自动修复功能

    4K51

    盘点那些前端项目上的规范工具

    可能存在逻辑问题的代码模式。比如,定义了一个变量,但没有使用到它。 此外,ESLint 还能够帮你自动修复一些简单的问题。...,可以看到 4 个格式化问题已经被自动修复了。...启用编辑器的保存自动修复功能 编辑器还有一个强大的功能,可以在保存时,自动修复那些支持自动修复的问题,不用执行额外的 eslint \--fix files 命令, 强烈推荐开启。...提交时:Git hooks + lint-staged Git pre-commit hook 可以让我们在提交之前执行一些命令,利用这点,可以在提交前对代码执行代码的 lint 检查和格式化,自动修复一些可以修复的问题...,如果有不可自动修复的问题,取消本次提交,从而,避免不规范的代码被提交到代码仓库。

    96240

    用 SwiftLint 保持 Swift 风格一致

    在 silicon Macs (搭载M1芯片)上需要添加export语句,因为HomeBrew的二进制文件默认安装在/opt/homebrew/bin目录之下。...SwiftLint 规则冲突 并非所有的规则冲突都可以自动修复。...如果只有一到两个冲突,最好的办法是修复它们,然后继续。 处理 SwiftLint 冲突的一些选项: 1. 修改代码以符合 SwiftLint 规则 2. 在代码中添加特例,以忽略特定的规则冲突 3....SwiftLint 的自动修复冲突的能力非常强大,通过自动修复冲突可以显著解决数百个冲突的初始情况。只需要确保代码在进行大范围的自动更改之前已经纳入了版本控制,这样在出问题时就能很容易撤销。...SwiftLint 不仅仅能帮助解决格式问题 SwiftLint 不仅仅能解决很多格式问题,它的功能还有很多。比如限制一个函数参数的个数,函数、文件最长多少行,使用更精简,更Swift 的函数等等。

    2.4K21

    听GPT 讲Rust源代码--srctools(37)

    手动Lint规则通常是一些无法通过自动化工具检测的问题,需要开发者手动进行检查和修复。...Clippy是Rust的静态分析工具,用于检查代码中的潜在问题和不良习惯,提供lint警告。 这个特定的文件是Clippy提供的一个lint规则,“rc_clone_in_vec_init”。...在一个集合中存储零大小值可能会导致一些潜在的问题,因为这些值实际上不占用任何内存空间,但却需要消耗一些额外的开销来进行存储和处理。...Clippy是Rust语言的Lint工具,它可以检测出潜在的代码错误、不规范和性能问题,并提供修复建议。...具体来说,该文件定义了用于更新 Clippy lints 的函数和结构体。Clippy 是 Rust 的 lint 工具,用于静态代码分析,帮助检查和修复潜在的问题和错误。

    11610

    听GPT 讲Rust源代码--srctools(28)

    Clippy是Rust的一个静态代码分析工具,旨在帮助开发者发现和修复常见的代码质量问题。 该文件定义了一个命名为INTEGER_DIVISION的lint,用于检查整数除法操作中的可能问题。...该函数检查每个整数除法操作的左右操作数,并根据特定的规则判断是否存在潜在问题。如果发现潜在问题,lint会生成一条相关的警告或建议信息。...文件中的每个Lint规则都有一个详细的描述,解释了为什么这个规则是有用的以及如何修复代码。Lint规则通常会给出一个或多个示例,以便开发人员能够理解问题所在,并提供给出建议的固定代码示例。...Clippy项目的一部分,用于实现一个Clippy插件,即自动化代码检查工具Clippy的一个特定的代码规则。...该lint会检查一个函数中的每个问号操作符,并分析其返回类型。如果问题调用的返回类型是Result或Option,则lint会检查其内部是否实际上对Error或None进行了处理。

    11310

    利用 Lint 工具链来保证代码风格和质量

    但仅有规范本身不够,我们需要自动化的工具(即Lint 工具)来保证规范的落地,把代码规范检查(包括自动修复)这件事情交给机器完成,开发者只需要专注应用逻辑本身。...本节,我们将一起来完成 Lint 工具链在项目中的落地,实现自动化代码规范检查及修复的能力。...ESLint 的规则检查以及 Prettier 的自动修复。...,但实际上这也只是将问题提前暴露,并不能保证规范问题能完全被解决,还是可能导致线上的代码出现不符合规范的情况。...而lint-staged就是用来解决上述全量扫描问题的,可以实现只对存入暂存区的文件进行 Lint 检查,大大提高了提交代码的效率。

    53220

    听GPT 讲Rust源代码--srctools(27)

    若是,则使用模式匹配处理两个操作数,并根据特定规则生成lint的建议。 根据生成的lint的建议,如果满足一定条件,使用span_lint_and_sugg函数发出lint并提供修复建议。...该lint主要用于检查在Stack上创建的数组是否过大,以避免溢出栈的问题。在Rust中,Stack上分配的内存空间是有限的,因此如果创建的数组过大,则可能会导致栈溢出,导致程序崩溃。...Clippy是一个用于静态代码分析的lint工具,可帮助开发者发现和修复常见的代码问题和潜在错误。...通过Clippy工具的lint插件,开发者可以在编译过程中自动检查并报告代码中潜在的问题,帮助开发者编写更健壮、优化的代码。...Context:该结构体用于保存特定检查规则的上下文信息,包括当前检查的规则名称、建议的修复操作和相关的检查配置,用于生成警告和修复建议。

    16110

    听GPT 讲Rust源代码--srctools(32)

    这个Lint的主要目的是在特定的代码片段中,生成一个ICE错误,以便开发人员可以重现并修复这个错误。...同时,开发人员还可以利用这个Lint来模拟一些特定的编译器错误情况,以便更好地理解和修复这些问题。...这种错误会导致应用程序崩溃或出现其他问题。 这个lint的主要作用是帮助开发者在编译时发现并修复无效的路径。它可以检查代码中的路径字符串是否为有效的文件或目录,并给出相应的警告或建议。...这些枚举类型的定义为Clippy检查无限迭代代码提供了一个框架,可以根据代码的特定情况和特征进行精确的判断和建议。这对于帮助开发者识别和修复潜在的无限循环问题非常有帮助。...Clippy是Rust的一个静态代码分析工具,用于检查和建议改进代码中的潜在问题。该工具由一系列lints组成,每个lint代表一条规则,用于检查代码中的一个特定问题。

    11610

    一键格式化代码带来的快感 | 你还在为每个项目配置Stylelint和Eslint吗

    「代码校验工具」以下简称Lint,为了解决代码不严谨,通过预设规则校验代码,检测其是否存在错误/漏洞,并对错误/漏洞提示修复方案并尽可能依据修复方案格式化出正确代码。...在保存文件时触发Lint自动格式化代码,这个操作当然不能100%保证将代码格式化出最正确代码,而是尽可能依据修复方案格式化出正确代码。...查看插件文档,发现Stylelint只能在settings.json上配置,而Eslint可配置成多份对应配置文件,并在settings.json上通过特定字段指定Eslint配置文件路径。...每次保存文件就会自动格式化CSS代码或JS代码,这个格式化代码不仅会将代码按照规范整理和排序,甚至尽可能依据修复方案格式化出正确代码。...疑问 更新eslint到v6+就会失效 很多同学反映eslint v6+在VSCode上失效,最高版本只能控制在v5.16.0。其实这本身就是配置问题,跟版本无关。

    1.7K10

    听GPT 讲Rust源代码--srctools(30)

    Clippy 是一个黑盒语法检查器,它提供了一系列的 lint 进行静态代码检查,以帮助开发者发现和修复潜在的问题或错误。...提供修复建议:该lint不仅可以检测问题,还会提供修复建议。它可以根据代码的上下文,自动生成建议的修复代码,如将隐式的饱和加法替换为显式的饱和加法调用。...通过修复这些问题,开发人员可以改进代码的可读性和性能。...因此,size_of_in_element_count.rs文件的作用就是将这种不合理的代码进行Lint检查,如果发现类似于上述代码的情况,它会发出警告或建议优化的建议,以便开发人员能够及时修复代码中的潜在问题和改进代码质量...通过使用Clippy插件并开启from_str_radix_10 lint,开发者可以在编译过程中得到lint的输出,从而发现和修复这些问题,提高代码的质量和可靠性。

    12710

    美团外卖Android Lint代码检查实践

    很多问题在技术上难以直接检查,我们通过封装统一的基础库、制定代码规范的方式间接解决,而Lint检查则用于减少组内沟通成本、新人学习成本,并确保代码规范的落实。...当检查发现高优先级的代码问题时,给开发者明确直接的报错,并通过技术手段约束,强制要求开发者修复。 某些问题尽可能做到在第一时间发现,从而减少风险或损失。...本地编译时自动检查 配置Gradle脚本可实现编译Android工程时执行Lint检查。好处是既可以尽早发现问题,又可以有强制性;缺点是对编译速度有一定的影响。...这种方式的优势在于不影响开发时的编译速度,但发现问题相对滞后。 技术实现方面,可以编写Gradle脚本,在每次同步工程时自动将hook脚本从工程拷贝到.git/hooks/文件夹下。...总结 经过一段时间的实践发现,Lint静态代码检查在解决特定问题时的效果非常好,例如发现一些语言或API层面比较明确的低级错误、帮助进行代码规范的约束。

    2.3K50

    在老项目中集成Eslint【02】

    自动修复 每次遇到一些小的格式问题,例如空格,引号之类的小问题,如果每次都去手动调整确实很费精力,我们可以借助IDE去实现自动保存,但是每个人的编辑器是有所不同的,所以这也是需要考虑的问题,目前我们团队都使用的是...,我们在这里配置关于编辑器的一些配置来规范编辑器的使用配套,这里是在保存是自动修复的一个简单配置: { "eslint.validate": ["html", "vue", "javascript"...editor.wordWrapColumn": 220, "editor.codeActionsOnSave": { "source.fixAll.eslint": true // 开启保存自动修复...当配置完这些之后,我们就拥有了保存自动修复Eslint能修复的部分(这里并不能修复所有问题) 插件增强 我们知道Eslint拥有非常多插件,很多人是很懵的,不知道各种各样的包到底有什么用,我们可以看看插件列表...这样每条规则执行的时候都可以访问这里面定义的数据 配套优化流程及工程化集成 husky: git工作流hook配置. lint-staged: 可以定制在特定的git的钩子函数,在特定阶段执行一些lint

    1.3K30

    15分钟快速配置eslint,prettier,lint-staged,husky,commitizen实现前端项目代码规范化

    stylelint:css样式格式校验 2.代码提交规范相关 lint-staged:一个在git暂存文件上运行linters的工具,检查本次修改更新的代码,并自动修复并且可以添加到暂存区 husky:...// 不需要自动在文件开头插入 @prettier insertPragma: false, // 使用默认的折行标准 proseWrap: 'preserve', //...注意: 由于编辑器等自动格式化配置设置了走.prettierrc.js文件,建议写覆盖的配置,写在这里,不要写在.eslintrc.js配置中,否则可能得不到想要的结果。..."$(dirname "$0")/_/husky.sh" npx lint-staged 注意:在有些教程上,我们会看到在package.json中配置如下: "husky": { "hooks...javascriptreact", "vue", "typescript", "typescriptreact" ], // 开启保存时自动修复

    4.4K31

    听GPT 讲Rust源代码--srctools(29)

    Clippy工具中一个特定的Lint规则的实现文件,用于检测未使用的Peekable迭代器。...这些类型在代码中可能会引发一些问题,因此Clippy(一个Rust语言的代码检查工具)提供了一些 lint 规则来帮助开发者检测和修复与单元类型相关的问题。...例如,如果将一个不可变的指针转换为可变指针,然后通过可变指针修改数据,可能会导致数据竞争或者内存安全问题。因此,该文件的目标是帮助开发者识别和修复此类潜在问题。...Rust的clippy工具是一个用于帮助开发者检查和修复常见代码问题的插件。cast_ptr_alignment就是其中一个lint。...在详细实现上,该插件会遍历代码中的所有函数指针转换点,然后对它们进行检查。它会检查转换的目标类型是否可接受函数指针的地址信息,以及是否适当地处理了指针的大小与目标类型的差异等问题。

    15410
    领券