OOZOU
与我们联系
返回 TIL 列表
ruby on rails

在 GitHub Actions 中让 Rubocop 与 ESLint 忽略 bundled gems

January 19, 2022

Rails 项目在 GitHub actions 中通常会把 gems 安装到 vendor 目录,方便在后续运行时使用缓存。

如果你在 action 里跑代码 linter,就需要排除 vendor/bundle/\*,以免出现误报

ESLint 可以通过 ignorePatterns 来配置

// ./.eslintrc.json
{
  "ignorePatterns": [
    "vendor/bundle/*"
  ]
}

Rubocop 则可以通过 AllCops 配置来排除

# ./.rubocop.yml
AllCops:
  Exclude:
    - 'vendor/**/*'

在代码 linter 中忽略 bundled gems 的重要性

在软件开发中,保持较高的代码质量至关重要。代码 linter 通过静态代码分析来帮你实现这一点:它能发现潜在错误,并强制统一的代码风格。不过,在 GitHub Actions 这类持续集成环境里使用 linter 时,配置得当、避免误报同样重要。

Bundled gems 通常放在 vendor 目录下,属于外部代码依赖,如果不好好排除掉,就可能被代码 linter 挑出问题。忽略这些目录可以让 linter 专注于你自己的源代码,而不是外部库,从而保证代码分析结果的准确性。

设置 linter 排除 bundled gems

如果是使用 ESLint 的 JavaScript 项目,你可以在 .eslintrc.json 文件里用 ignorePatterns 配置,让 linter 忽略 vendor/bundle/* 目录。这样就只会检查你自己的代码,在没有多余干扰的前提下提升代码质量。

// ./.eslintrc.json
{
  "ignorePatterns": [
    "vendor/bundle/*"
  ]
}

同样,如果是使用 Rubocop 的 Ruby 项目,你可以在 .rubocop.yml 配置文件的 AllCops 下面加一条 Exclude 规则来排除 vendor 目录。这能让静态代码分析聚焦在你真正的源代码上。

# ./.rubocop.yml
AllCops:
  Exclude:
    - 'vendor/**/*'

通过配置代码 linter 排除 bundled gems,你可以在避免静态代码分析误报的同时,保持高标准的代码质量。

#RUBY-ON-RAILS

更多关于 ruby on rails 的笔记

ruby on railsFebruary 10, 2022

用 Pundit Policy 管理 permitted parameters、默认值与各 action 的参数

要管理 permitted params,你可以在你的 policy 中加入 permitted\attributes 和 permitted\attributes\for\#{action},例如

ruby on railsJanuary 31, 2022

在 Turbo 中用 `requestSubmit` 提交表单

Turbo 会监听 form 上的 submit 事件。因此,用 JS 提交表单时,请一律使用 requestSubmit。

ruby on railsApril 18, 2021

Rails 6、Ruby 3、Bootstrap 5 与 Hotwire

以 Hotwire 扩展 Bootrails 的博客文章: 所有最新潮的东西(截至我写这篇 TIL 的时候):

有项目想法吗?

我们很想听听您正在做的产品。

开始对话hello@oozou.com
OOZOU Logo

曼谷 · 新加坡 · 香港

X
Facebook
Instagram
LinkedIn
OOZOU Co., Ltd.
548 One City Centre
Ploenchit Road
Bangkok 10330
Thailand
+66 2544 0000
hello@oozou.com

服务

  • Web 开发
  • AI 智能体与生成式 AI
  • 移动应用开发
  • 数据分析与工程
  • UI/UX 与产品设计
  • 数字化转型

公司

  • 关于我们
  • 加入我们
  • 博客
  • 案例研究
  • Today I Learned
  • 联系我们

更多

  • 行业
  • 合作伙伴网络
© 2026 OOZOU. 版权所有。
隐私政策行为准则反贿赂反贪腐政策