小编Jus*_*rty的帖子

如何使用不同的包(不仅仅是不同的包版本号)覆盖嵌套的 npm 子依赖项?

概述

我在解决由 识别的 ReDoS 漏洞时遇到问题npm audit。我的应用程序有一个嵌套的子依赖项ansi-html,很容易受到攻击,但不幸的是,维护者似乎擅离职守了。正如您在 Github 问题的评论部分中看到的,为了解决这个问题,社区对位于ansi-html-community此处的存储库进行了分叉存储库进行了分叉,以解决此漏洞。

因此,我想将所有嵌套引用替换ansi-htmlansi-html-community

问题

我的正常使用策略npm-force-resolutions似乎无法完全覆盖不同包的嵌套子依赖项,而只能覆盖具有不同版本号的相同包。我已经研究了几个小时,但不幸的是,我发现解决这个问题的唯一方法似乎是使用纱线,我现在正在认真考虑使用yarn而不是npm。然而,这并不理想,因为我们的整个 CI/CD 管道都配置为使用 npm。

有谁知道有任何其他方法可以完成嵌套子依赖包替换/解析而不必切换到使用yarn?

相关问题

这些是我能够找到的感兴趣的问题,但不幸的是,他们往往只讨论覆盖包版本号的方法,而不是包本身。

讨论如何覆盖版本号:

如何覆盖嵌套的 NPM 依赖项版本?

有评论讨论npm shrinkwrap(不理想):

npm - 如何覆盖依赖包的依赖项?

node.js npm

13
推荐指数
1
解决办法
2万
查看次数

标签 统计

node.js ×1

npm ×1