生产和开发依赖组在 dependentabot 中意味着什么?

new*_*dev 6 pip github npm dependabot

dependentabot 文档说您可以指示每个包管理器要检查的依赖项类型。然而,尚不清楚它如何区分开发包和生产包。其他选项非常简单(alldirectindirect)。

如果您选择dependency-type: productionunder npm,我假设 dependentabot 将忽略 中的任何包devDependencies。不幸的是,我不确定,因为文档没有提及该工具使用的具体标准。

有了pip,就更不清楚了。原因是没有 PEP 概述需求文件的命名约定。由于您基本上可以拥有多个需求文件,而没有明确的名称规则,那么 dependentabot 如何知道要检查哪一个?例如,我看到 dev-requirements.txt 和requirements_dev.txt 作为开发包文件。我知道选择其中一个(或者可能是另一种变体)并坚持下去是最佳实践,但我想知道如果我dependency-type: developmentpip.

Mat*_*son -2

如果您选择 npm 下的依赖类型:生产,我假设 dependentabot 将忽略 devDependency 内的任何包。不幸的是,我不确定,因为文档没有提及该工具使用的具体标准。

我认为这很清楚,但我也提到了其存储库具有此描述的来源,“Dependabot 更新 PR 创建背后的核心逻辑。”

对于 npm,默认的 dependentabot 策略的工作方式如下:

updates:
  - package-ecosystem: "npm"
    ...
    allow:
      - dependency-type: "all"
Run Code Online (Sandbox Code Playgroud)

尽管代码中有一些注释表明当前尚未处理对等依赖关系,但这会导致您dependenciesdevDependenciespeerDependenciesbundledDependencies、 和。optionalDependencies

如果您希望 dependentabot检查生产依赖项,您可以像这样配置它:

updates:
  - package-ecosystem: "npm"
    ...
    allow:
      - dependency-type: "production"
Run Code Online (Sandbox Code Playgroud)

请注意,allow 是一个数组,因此要检查生产和开发依赖项,您可以像这样配置它:

updates:
  - package-ecosystem: "npm"
    ...
    allow:
      - dependency-type: "production"
      - dependency-type: "development"
Run Code Online (Sandbox Code Playgroud)