如何使用 Renovate 只为 matchedDependencies 创建 PR

How to only create a PR for matchedDependencies with Renovate

我只想为以下指定的依赖项创建一个合并请求。不应考虑所有其他依赖项。下面的配置不会这样做,因为我为所有与我指定的规则不匹配的依赖项获得了单独的 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"
    }
  ]