“仅”在暂存文件上运行 eslint

2024-04-23

我正在尝试使用预提交挂钩在提交发生之前检测 eslint 错误。我正在使用哈士奇和 lint-staged。但它对 src 中的所有文件运行 lint 命令,而不仅仅是对暂存文件运行 lint 命令。这是我的 package.json 文件。

"scripts": {
    "test:ci": "cross-env CI=true react-scripts test --bail --passWithNoTests",
    "lint": "eslint src/**/*.{js,jsx}",
    "lint:fix": "eslint . --fix",
    "precommit": "npm run lint && npm run test:ci"
  }
"husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
"lint-staged": {
    "*.js": [
      "npm run precommit"
    ],
    "*.jsx": [
      "npm run precommit"
    ]
  }

有什么方法可以使其仅适用于暂存文件,而不适用于目录中存在的其他文件?


使用 husky v7/lint-staged v11.2.0 - 暂存文件将简单地添加到命令末尾,并用空格分隔。如果你有一个.husky/pre-commit调用的文件npx lint-staged,然后你就有了一个 lint-staged 配置,如下所示:

{
  '*.js': [
    'eslint'
  ]
}

然后修改 src/foo.js 和 src/bar.js,将运行的命令是:

eslint src/foo.js src/bar.js

无论您在 lint 阶段配置中使用什么命令都没关系。文件只是添加到命令末尾,并用空格分隔。

这些文件将被传递到您的test:ci命令,但它们不会进入您的 lint 子命令。

你可以用 bash 函数包装...像这样:

"precommit": "!runIt() { npm run lint $@ && npm run test:ci $@;}; runIt",

这是在我的手机上写的,我几乎不懂 bash,所以语法可能是错误的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“仅”在暂存文件上运行 eslint 的相关文章

随机推荐

  • Windows 8 中的曲线文本块

    我想使用 XAML 创建 Curved TextBlock 如下所示 我正在这样做
  • Perl:安全评估?

    我很好奇是否有任何有关执行受限评估的好信息 查看文档 有一个use Safe有一个reval方法 但我不确定这有多安全 我想要做的是能够将各种条件语句作为字符串传递给函数 而无需滥用 eval 的源 例如 sub foo my stmt s
  • std::abs(0u) 格式错误吗?

    给出以下程序 include
  • 在 ubuntu 上使用 Kurento 安装错误

    我已经浏览了 Stackoverflow 上的所有 Kurento 问题 之前似乎没有出现过这个错误 我已经根据安装指南安装了 Kurento 媒体服务器和 java 客户端示例 我正在运行媒体服务器 当我去运行客户端应用程序时 问题就出现
  • Scapy 和 rdpcap 函数

    我在用着rdpcapScapy 的函数读取 PCAP 文件 我还使用中描述的模块Scapy 中 HTTP 支持的链接 http blog sbarbeau fr 2011 06 http support in scapy html在我的例子
  • 无法导入...(没有所需的模块提供包)

    我正在关注本教程 https www martin helmich de en blog kubernetes crd client html 我初始化我的项目并通过以下方式获取依赖项 go mod init github com mart
  • 如何在 AWS Step Functions 中的数组内使用 jsonPath

    我正在编写一个 AWS 步骤函数 对于其中一个步骤 我希望调用一个接受数组作为输入之一的 lambda 但是 如果我尝试将 JsonPath 传递到数组中 我会得到 The value for the field arrayField mu
  • 将 Session 变量传递给名为 PHP 脚本的 ajax

    在我的 PHP 脚本中使用会话时 我想将会话变量传递给 PHP 调用的脚本 但是会话变量没有被调用 因为在 HTML 代码之后无法使用 session start 函数 我正在使用简单的 Javascript AJAX 请给我路径 我认为您
  • NSCollectionView:仅接受项目之间的拖动,而不接受拖动

    我有一个NSCollectionView已实施且工作良好 然而 当 拖动项目来重新排列它们 我只想接受拖动 物体之间 当前的行为是您可以在对象之间拖动 它会打开一个 空间 而且over一个东西 我希望下面的图片能更好地说明问题 例如 将项目
  • Jquery DatePicker 颜色周日红

    有没有办法在 Jquery Datepicker 中将星期日的颜色更改为红色 something datepicker beforeShowDay function date if date toString indexOf Sun 1 r
  • 创建默认为纪元时间的字段

    我需要为表创建一个时间戳字段 该表的行需要在一定时间后过期 如果我使用以下内容 timestamp TIMESTAMP DEFAULT NOW 它以人类可读的格式显示时间 如果我可以用纪元时间来显示时间 这样我就可以用秒来计算 那就容易多了
  • GetWindowTextA、GetWindowText 在编辑控件上返回空值

    我正在尝试从 C Java 的外部窗口列出并获取编辑控件的内容 不幸的是没有成功 当我调用 GetWindowText 或 GetWindowTextA 时 它在编辑控件上返回空值 我知道 GetWindowText GetWindowTe
  • 如何动态覆盖 Angular2 可注入服务?

    我有一个可注入服务 HttpRequestService 当没有服务器时我想用 MockHttpRequestService 替换它 因为我正在开发模式下运行 npm start 这个 MockHttpRequestService 将发回非
  • 网页编码,设置矛盾[重复]

    这个问题在这里已经有答案了 如果一个网页有 但http标头有 Content Type text html charset UTF 8 那么假设什么编码呢 在 HTML5 中 优先级定义为 用户浏览器设置 字节顺序标记 HTTP 标头 or
  • 片段交易动画完成后执行操作

    我想在动画完成后设置按钮可见性 这就是所谓的动画 android support v4 app FragmentTransaction fAnimation this getActivity getSupportFragmentManage
  • 消除具有反向关系且无主键的元组

    我试图根据下面的问题插入所有关系 我已经得到了从 A 到 C 的所有关系 根据下面的问题 但就我而言 我还得到了 C 与 A 的朋友 的记录 据我理解问题陈述 没有重复的友谊 我必须将友谊插入为 A 到 C 而不是反之亦然 要么我对问题理解
  • 错误“DocumentNotFoundError:找不到查询的文档”{_id:xxx}

    我克隆了对象 preventivo 当我运行此代码时 出现以下错误 节点 24548 UnhandledPromiseRejectionWarning 未处理的承诺拒绝 拒绝ID 1 DocumentNotFoundError 在模型 pr
  • 使用 Flask-Login 在 Flask 中获取“str”对象没有属性“is_authenticated”

    我正在尝试使用 Flask Login 设置 Flask 登录 我有一个供用户使用的 CouchDB 客户文档有一个称为 用户 的对象 class User UserMixin def init self user self name us
  • 包含 php 类时未找到该类

    我在 php 中有一个名为 SEO URL 的类 在那堂课上的某个时刻我有这个 class name cPath SEO URL return class name href 我得到 Fatal error Class cPath SEO
  • “仅”在暂存文件上运行 eslint

    我正在尝试使用预提交挂钩在提交发生之前检测 eslint 错误 我正在使用哈士奇和 lint staged 但它对 src 中的所有文件运行 lint 命令 而不仅仅是对暂存文件运行 lint 命令 这是我的 package json 文件