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

bihw5rsg  于 2023-04-12  发布在  其他
关注(0)|答案(1)|浏览(100)

dependabot文档说,你可以指定每个包管理器要检查的依赖类型。然而,还不清楚它如何区分开发和生产包。其他选项非常简单(alldirectindirect)。
如果你在npm下选择dependency-type: production,我假设dependabot会忽略devDependencies中的任何包。不幸的是,我不确定,因为文档没有提到该工具使用的具体标准。
对于pip,就更不清楚了。原因是因为没有PEP来概述需求文件的命名约定。既然你基本上可以有多个需求文件,而没有明确的名称规则,那么依赖者如何知道要检查哪一个?例如,我已经看到dev-requirements.txt和requirements_dev.txt作为开发包文件。(或者可能是另一种变体)并坚持下去,但我想知道如果我在pip下做dependency-type: development,哪个dependabot会检查。

zengzsys

zengzsys1#

如果选择依赖类型:在npm下的production中,我假设dependabot会忽略devDependencies中的任何包。不幸的是,我不确定,因为文档没有提到该工具使用的具体标准。
我认为这很清楚,但我也提到了source,其repo带有这样的描述,“Dependabot更新PR创建背后的核心逻辑”。
默认的dependabot策略在npm中的工作方式是这样的:

updates:
  - package-ecosystem: "npm"
    ...
    allow:
      - dependency-type: "all"

这将得到dependenciesdevDependenciespeerDependenciesbundledDependenciesoptionalDependencies,尽管代码中有注解表明对等依赖关系现在没有得到处理。
如果你想让dependabot检查生产依赖,你可以这样配置:

updates:
  - package-ecosystem: "npm"
    ...
    allow:
      - dependency-type: "production"

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

updates:
  - package-ecosystem: "npm"
    ...
    allow:
      - dependency-type: "production"
      - dependency-type: "development"

相关问题