Eslint 如何只更改代码行

2024-04-24

我需要一种方法来仅在分支上已更改的代码行或块上运行 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(使用前将#替换为@)

Eslint 如何只更改代码行 的相关文章

  • Team Foundation Build 还是 TeamCity?

    我们主要是一家从事 NET LOB 开发的 MS 商店 我们还在 CRM 应用程序中使用 MS Dynamics 所有开发人员目前都在使用 VS SQL Server 2008 我们也使用 VSS 但每个人在工作中都讨厌它 而且很快就会被淘
  • git clean -ndX 不会删除目录

    With gitignore foo 和一个 git 存储库 quux quux foo quux foo bar quux foo bar baz As foo被忽略 git 假设工作目录是干净的 git status On branch
  • 对 git Push 运行单元测试,对 Pull 请求运行集成测试

    在构建 R 包时 我们使用 testthat 来编写测试 我们有 2 个文件 特定包的测试文件 特异性R 我们用它来确保所有包继续一起工作并且总体结果良好 整体R 当前 当我们推送到 github 或通过 Travis 创建 PR 时 都会
  • 将两个相似的远程 git 存储库合并为一个

    我已经做了一些搜索并阅读了 git 书籍和网络上的一些地方 例如 git 但我找不到正确的方法来做到这一点 我有两个 git 存储库 位于两台不同的机器上 这些 git 存储库中的每一个都保存程序的配置 当您比较两个存储库时 配置的某些部分
  • 只在一个文件上应用 git merge stategy 吗?

    当将一个分支合并到另一个分支时 可以定义合并策略 例如 git merge release X ours 当将发布分支中的内容合并到当前分支时 这会在全局范围内应用 我们的 策略 是否可以仅对一个特定文件应用此策略 例如 git merge
  • 我如何自动接受 git rebase --interactive 呈现给我的内容?

    我正在使用一个小脚本来修复过去的提交 该脚本假设已暂存对损坏的提交的修复 工作目录是干净的 并且损坏的提交是在命令行上传递的 这是脚本的原始 Python 核心 usr bin env python import os import sys
  • TortoiseGit 与 TortoiseSVN 并存?

    我已经使用 TortoiseSVN 好几年了 但我正在考虑慢慢改用 git 因为我真的很喜欢它的分支和合并 我目前正在通过命令行使用 git 但正在考虑安装 TortoiseGit 有人有并排使用两只乌龟的经验吗 这有什么已知的问题吗 我真
  • GIT Rebase 对多个 0.5GB 二进制文件致命

    这个问题本质上是重新开rebase 期间 git 崩溃 https stackoverflow com q 7692944 1286639从来没有答案 我正在尝试从我的 secc 分支进行变基 git rebase main First r
  • 仅使用特定提交消息触发 travis CI 构建

    我希望 travis 仅在我有特定的提交消息时才启动 我怎样才能做到这一点 我的 travis yml 文件是here https github com mosaadm mooltipass blob master travis yml 我
  • git 交互式变基:停止而不提交

    长话短说 有办法进去吗git rebase i停止编辑 没有提交 ID TLDR 更长的版本 背景 With git rebase i 我得到一个文本编辑器 我可以在其中定义命令列表 从pick COMMIT ID在每一行上 其中一个选项是
  • 在 Github 提交中强制执行 PEP-8'ish 格式

    是否有任何预制解决方案可以在 Git 提交挂钩中强制执行良好的 Python 标准 有没有办法在本地结帐中自动执行此过程 类似于 Bazaar 可以将提交挂钩推送给客户端 当您签出存储库时 它会安装提交挂钩 这应该足够了 无需运行进一步的工
  • 如何使用 eslint 修复一条规则

    我想使用 eslint 命令标志 fix只是修复一条规则 我尝试了命令 eslint fix config eslintrcsomerules js 但这不起作用 如何达到目的 My eslintrcsomerules js文件如下 mod
  • 将 WordPress 保持在版本控制中 - 主题的单独存储库

    我的 WordPress 项目位于 Git 下 并将 WordPress 作为子模块 我想将主题开发保留在单独的子模块中 但在当前设置内 将主题设置为子模块时遇到一些困难 这是我的文件系统 git master repo index php
  • git-svn 期间“RA 层请求失败:REPORT 请求失败”

    我一直在尝试使用以下命令 Git 克隆 Google Code SVN 存储库 git svn clone stdlayout https wtorrent project googlecode com svn wtorrent git 它
  • 图表贡献者为空

    我在 github 上有几个项目 但其中一些项目的贡献者图是空的 即使我的 gitconfig 设置了名称和电子邮件 https github com jlengrand batchWaterMarking graphs contribut
  • GitHub Actions 中的嵌套模板(从另一个 yaml 文件调用一个 yaml 文件)

    GitHub Action 是否支持嵌套模板 例如 以下是 Azure Pipeline yaml 的示例 其中调用另一个 yaml 文件 job BuildFunctions steps each func in parameters f
  • 如何使用 jenkins shell 创建新的 git 分支

    我想达到以下目标 在某些詹金斯工作中 从 dev branch 创建一个新分支 对新创建的分支 new branch 进行一些更改 将新创建的分支推送到 git repo 我在詹金斯中执行了以下步骤 我已经在 源代码管理 部分配置了我的 g
  • 在开始工作之前忘记在 GitHub 上进行 fork

    假设我将 C 公司的 X 项目存储库从 github 克隆到我的本地计算机 我在本地为自己创建一个分支 对其进行一些工作并在本地提交到我的分支 现在我想向 C 公司发出拉取请求 但我意识到我应该在 gitub 上进行分叉以创建我自己的项目
  • 从TFS迁移到GIT,共享项目到nuget

    我所在的软件团队由 4 5 名开发人员组成 他们从事一个 TFS 项目 我们正在考虑将整个代码库移至 GIT 该代码库由约 50 个 Visual Studio 2013 解决方案组成 分为约 300 个项目 引用项目中另一个程序集的首选过
  • 如何仅对暂存内容运行 git 预提交检查?

    Suppose git status给出这个 On branch X Changes to be committed use git reset HEAD

随机推荐