Rai*_*aif 16 git continuous-integration github eslint
我需要一种方法来仅在分支上已更改的代码行或块上运行 ESLint。我们的想法是,我们有一个庞大的旧代码库,并且我们希望至少在未来强制执行 ESLint 规则。
我在 CI 中实现了它,对 PR 中更改的所有文件进行了检查。但是人们在接触文件中的一行时突然必须修复 77 个 ESLint 错误。
就我个人而言,我一点也不担心他们,但他们比我更大更强,我想我需要在这里迈出一些小步伐。
这样我就可以获得特定分支更改的所有文件的列表。我怀疑我可以做一个 diff 并解析它,取出所有更改的行号,然后运行 ESLint 并按行号过滤结果,但这听起来像是一个巨大的痛苦。
我的问题是没有更好的实际方法来做到这一点吗?我不是第一个需要这个的人。
需要澄清的是,我理解这个“要求”严格适用于像我这样的边缘情况,在这种情况下,整个文件更改的负担太大了。这不是最佳的。这是次优的,但如果我不这样做,我就什么也得不到,所以我必须选择我的战斗。
小智 9
我为这个确切的用例编写了一个 ESLint 插件。我们有一个现有的配置,并且想要对配置进行重大修改,但是\xe2\x80\x99不想一次性修复所有错误(之前定义为非错误),因为它会\xe2 \x80\x99 是一个糟糕的 RIO。
\n相反,这个插件允许您只比较您\xe2\x80\x99已经上演的任何内容,并且我们在预提交中运行它。package.json 中的常规 \xe2\x80\x9clint\xe2\x80\x9d 脚本不使用该插件,因此它仍然显示所有错误/警告。
\nHere\xe2\x80\x99s 是它的链接: https: //www.npmjs.com/package/eslint-plugin-diff
\n小智 3
我认为你可以使用像Review Dog这样的工具。它将根据 linter 结果添加对您的 PR/MR 的审核反馈,这些反馈仅作为差异的一部分:
reviewdog 提供了一种通过轻松与任何 linter 工具集成来自动将审阅评论发布到代码托管服务(例如 GitHub)的方法。它使用 lint 工具的输出,如果发现的结果与要审查的补丁不同,则将其作为评论发布。
顺便说一句,本文帮助我解决了这个问题,并为您的用例提出了替代解决方案(如果您感兴趣)。
干杯
| 归档时间: |
|
| 查看次数: |
6112 次 |
| 最近记录: |