此问题已在此处找到答案:
git预推挂钩(7个答案)五小时前关门了。我们已经为该公司的nodejs后端项目和react js前端项目实施了编码标准,其中文件的最大行数应小于250。我们希望防止开发人员提交行数大于250的文件。除了手动审查提交之外,我们如何实现自动化?
0h4hbjxa1#
eslint有一个规则,强制每个文件的最大行数。如果您在eslint编码标准中包含此项,则如果您的文件超过此限制,则将失败。您可以将其与预提交git挂钩结合起来,在每次提交时运行编码标准。不幸的是,git钩子不被认为是存储库的一部分,因此在克隆存储库时不会重新创建。让eslint在一个持续集成环境中运行也是一个好主意,这样当有人推动时,任何违反标准的行为都会被抓住。
wz8daaqr2#
在“客户端/开发人员”端,您可以使用husky设置预提交挂钩来运行检查。埃斯林特有一个 max-lines 你可以使用的规则。出于性能原因,您可能希望使用lint staged仅在更改的文件上运行eslint。当然,这些都是“在客户端”完成的,您必须相信开发人员能够正确安装和配置这些工具,而不是禁用它们。如果您想更加确定,可以将eslint作为ci的一部分运行,并在检测到任何错误时使其失败。
max-lines
2条答案
按热度按时间0h4hbjxa1#
eslint有一个规则,强制每个文件的最大行数。如果您在eslint编码标准中包含此项,则如果您的文件超过此限制,则将失败。您可以将其与预提交git挂钩结合起来,在每次提交时运行编码标准。
不幸的是,git钩子不被认为是存储库的一部分,因此在克隆存储库时不会重新创建。让eslint在一个持续集成环境中运行也是一个好主意,这样当有人推动时,任何违反标准的行为都会被抓住。
wz8daaqr2#
在“客户端/开发人员”端,您可以使用husky设置预提交挂钩来运行检查。
埃斯林特有一个
max-lines
你可以使用的规则。出于性能原因,您可能希望使用lint staged仅在更改的文件上运行eslint。
当然,这些都是“在客户端”完成的,您必须相信开发人员能够正确安装和配置这些工具,而不是禁用它们。如果您想更加确定,可以将eslint作为ci的一部分运行,并在检测到任何错误时使其失败。