我需要一种方法来仅在分支上已更改的代码行或块上运行 ESLint。我们的想法是,我们有一个庞大的旧代码库,我们希望强制执行 ESLint 规则at least向前进。
我在 CI 中实现了它,对 PR 中更改的所有文件进行了检查。但是人们在接触文件中的一行时突然必须修复 77 个 ESLint 错误。
就我个人而言,我一点也不担心他们,但他们比我更大更强,我想我需要在这里迈出一些小步伐。
这样我就可以获得特定分支更改的所有文件的列表。我怀疑我可以做一个 diff 并解析它,取出所有更改的行号,然后运行 ESLint 并按行号过滤结果,但这听起来像是一个巨大的痛苦。
我的问题是没有更好的实际方法来做到这一点吗?我不是第一个需要这个的人。
需要澄清的是,我理解这个“要求”严格适用于像我这样的边缘情况,在这种情况下,整个文件更改的负担太大了。这不是最佳的。这是次优的,但如果我不这样做,我就什么也得不到,所以我必须选择我的战斗。
我为这个确切的用例编写了一个 ESLint 插件。我们有一个现有的配置,想要对配置进行重大修改,但不想一次性修复所有错误(之前定义为非错误),因为这将是一个糟糕的 RIO 。
相反,这个插件允许您仅比较您所暂存的任何内容,并且我们在预提交中运行它。我们在 package.json 中的常规“lint”脚本不使用该插件,因此它仍然显示所有错误/警告。
这是它的链接:https://www.npmjs.com/package/eslint-plugin-diff https://www.npmjs.com/package/eslint-plugin-diff
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)