如何使用 Renovate 仅为匹配的依赖项创建 PR

问题描述

我只想为以下指定的依赖项创建拉取请求。不应考虑所有其他依赖项。下面的配置没有这样做,因为我为所有与我指定的规则不匹配的依赖项获得了单独的 PR。例如,我获得了 SimpleInjector 的 PR。 如果不为每个依赖项创建明确的排除规则,我如何只为匹配的依赖项获得一个 PR,而根本没有其他 PR?

  "packageRules": [
    {
      "matchPackagePatterns": [
        "System.*",],"excludePackageNames": ["Microsoft.CodeAnalysis.FxcopAnalyzers"],"matchUpdateTypes": [
        "minor","patch"
      ],"groupName": "non major","groupSlug": "non-major"
    }
  ]
}

解决方法

有两件事是解决这个问题的关键:

  • 从上到下评估规则
  • 默认更新所有依赖项

下面的配置首先禁用所有依赖项,然后有选择地再次启用一些依赖项:

"packageRules": [
    {
      "matchPackagePatterns": ["*"],"enabled": false
    },{
      "matchPackagePatterns": [
        "System.*",],"enabled": true
    },{
      "matchUpdateTypes": [
        "minor","patch"
      ],"groupSlug": "non-major"
    }
  ]